帮助您检测 SQL 注入的小工具 SQLiDetector

作者:Sec-Labs | 发布时间:

SQLi检测器

BurpBouty 配置文件支持的简单 python 脚本,通过发送具有 14 个有效负载的多个请求并检查不同数据库的 152 个正则表达式模式,帮助您检测 SQL 注入中Error-based类型的注入。

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
| S|Q|L|i| |D|e|t|e|c|t|o|r|
| Coded By: Eslam Akl @eslam3kll & Khaled Nassar @knassar702
| Version: 1.0.0
| Blog: eslam3kl.medium.com
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

2d80d1daee180738

描述

该工具的主要思想是使用不同的有效负载扫描基于错误的 SQL 注入,例如

'123
''123
`123
")123
"))123
`)123
`))123
'))123
')123"123
[]123
""123
'"123
"'123
\123

并匹配不同数据库的 152 个错误正则表达式模式。

它是如何工作的?

很简单,把你的步骤整理如下

  1. 使用您的子域抓取脚本或工具。
  2. 将所有收集的子域传递给 httpx 或 httprobe 以仅获取实时子域。
  3. 使用您的链接和 URL 工具来获取所有的 waybackurl,例如 waybackurls、gau、gauplus 等。
  4. 使用 URO 工具过滤它们并减少噪音。
  5. grep 获取仅包含参数的所有链接。 您可以使用 Grep 或 GF 工具。
  6. 将最终 URL 文件传递​​给该工具,它将对其进行测试。

您将传递给该工具的 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]
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 模块

我创建了一个 burpbounty 配置文件,它使用相同的有效负载添加在多个位置注入它们,例如

  • 参数名称
  • 参数值
  • 标题
  • 路径

我认为它更有效,并且有助于 POST 请求,您无法使用 Python 脚本对其进行测试。

7ac150204e180929

e1420ea706180933

它如何测试参数?

这个工具和其他工具有什么区别? 如果我们有这样的链接 https://example.com?file=aykalam&username=eslam3kl所以我们有2个参数。 它会创建 2 个可能存在漏洞的 URL。

  1. 它适用于每个有效载荷,如下所示
    https://example.com?file=123'&username=eslam3kl
    https://example.com?file=aykalam&username=123'
  2. 它将为每个链接发送一个请求,并使用正则表达式检查其中一种模式是否存在。
  3. 对于任何易受攻击的链接,它会将其保存在每个进程的单独文件中。

即将更新

  • 输出 json 选项。
  • 添加代理选项。
  • 添加线程以提高速度。
  • 添加进度条。
  • 添加更多有效载荷。
  • 添加 BurpBounty 配置文件。
  • 在参数名称本身中注入有效负载。

如果您想做出贡献,请随时这样做。 别客气 :)

项目地址

https://github.com/eslam3kl/SQLiDetector

标签:工具分享, SQL注入