简单的Python脚本,配合BurpBounty配置文件,通过发送多个请求(使用14个payload)并检查152个针对不同数据库的正则模式,帮助你检测SQL注入(基于错误)。
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
| S|Q|L|i| |D|e|t|e|c|t|o|r|
| 编码者:Eslam Akl @eslam3kll & Khaled Nassar @knassar702
| 版本:1.0.0
| 博客:eslam3kl.medium.com
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

该工具的主要思路是通过使用不同的payload来扫描基于错误的SQL注入,例如:
'123
''123
`123
")123
"))123
`)123
`))123
'))123
')123"123
[]123
""123
'"123
"'123
\123
并针对不同的数据库匹配152个错误正则模式。
来源:https://github.com/sqlmapproject/sqlmap/blob/master/data/xml/errors.xml
很简单,只需按以下步骤组织:
你传递给工具的URL最终格式必须如下所示:
https://aykalam.com?x=test&y=fortest
http://test.com?parameter=ayhaga
只需运行以下命令来安装所需的库:
~/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]
一个用于检测SQL错误的简单工具
可选参数:
-h, --help 显示帮助信息并退出
-f FILE, --file FILE 目标URL文件
-w WORKERS, --workers 线程数
-p PROXY, --proxy 代理主机
-t TIMEOUT, --timeout 连接超时时间
-o OUTPUT, --output 输出文件
# python3 sqlidetector.py -f urls.txt -w 50 -o output.txt -t 10
我创建了一个burpbounty配置文件,使用相同的payload并在多个位置注入,例如:
我认为这更有效,并且有助于测试Python脚本无法测试的POST请求。


这个工具和其他工具有什么区别?
如果我们有一个这样的链接:https://example.com?file=aykalam&username=eslam3kl,那么它有两个参数。它会创建两个可能的易受攻击的URL。
https://example.com?file=123'&username=eslam3kl
https://example.com?file=aykalam&username=123'
如果你想贡献,随时欢迎:)
感谢Mohamed El-Khayat和Orwa提供的精彩payload和思路。关注他们,你会学到更多:
https://twitter.com/Mohamed87Khayat
https://twitter.com/GodfatherOrwa