SQLiDetector是一款功能强大的SQL注入漏洞检测工具,该工具支持BurpBouty配置文件,可以帮助广大研究人员通过发送多个请求(包含14种Payload)并检查不同数据库的152个正则表达式模式来检测基于错误的SQL注入漏洞。
该工具的主要目标是帮助研究人员通过使用不同的Payload来扫描基于错误的SQL注入漏洞,例如:
'123
''123
`123
")123
"))123
`)123
`))123
'))123
')123"123
[]123
""123
'"123
"'123
\123
并且支持针对不同数据库的152中错误正则表达式模式。
1、运行子域名搜索工具;
2、将所有收集到的子域名传递给httpx或httprobe来收集活动子域;
3、使用你的链接和URL工具获取所有的waybackurl,如waybackurl、gau、gauplus等;
4、使用URO工具对其进行过滤并降低噪声;
5、获取仅包含参数的所有链接,可以使用grep或gf工具;
6、将最终的URL结果文件传递给SQLiDetector并进行测试;
最终的URL结果文件内容类似如下:
https://aykalam.com?x=test&y=fortest
http://test.com?parameter=ayhaga
该工具与其他类似SQL注入检测工具的区别在于,如果我们拿到了一个类似下列形式的链接:
https://example.com?file=aykalam&username=eslam3kl
即拥有了两个参数,那么该工具将会创建两个可能存在漏洞的URL地址。
1、下列形式的地址适用于每一个Payload:
https://example.com?file=123'&username=eslam3kl
https://example.com?file=aykalam&username=123'
2、工具将会对每一个URL链接发送一个请求,并使用正则表达式检测是否匹配其中某个模式;
3、针对任何包含漏洞的链接地址,工具将会在单独的文件中进行过程存储;
广大研究人员可以使用下列命令将该项目源码克隆至本地:
git clone https://github.com/eslam3kl/SQLiDetector.git
然后运行下列命令安装工具所需的依赖组件:
~/eslam3kl/SQLiDetector# pip3 install -r requirements.txt
接下来就可以运行该工具了:
# cat urls.txt
http://testphp.vulnweb.com/artists.php?artist=1
# python3 sqlidetector.py -h
usage: sqlidetector.py [-h] -f FILE [-w WORKERS] [-p PROXY] [-t TIMEOUT] [-o OUTPUT]
A simple tool to detect SQL errors
optional arguments:
-h, --help show this help message and exit]
-f FILE, --file FILE [File of the urls]
-w WORKERS, --workers [WORKERS Number of threads]
-p PROXY, --proxy [PROXY Proxy host]
-t TIMEOUT, --timeout [TIMEOUT Connection timeout]
-o OUTPUT, --output [OUTPUT [Output file]
# python3 sqlidetector.py -f urls.txt -w 50 -o output.txt -t 10
我们还创建了一个BurpBounty配置文件,它会使用相同Payload并在不同的位置注入,例如:参数名、参数值、Header和路径。
SQLiDetector:
https://github.com/eslam3kl/SQLiDetector
https://github.com/sqlmapproject/sqlmap/blob/master/data/xml/errors.xml
精彩推荐