SQLiDetector - 简单的 python 脚本,通过发送具有不同负载的多个请求并检查不同数据库的 152 正则表达式模式来帮助您检测 SQL 注入“Error based”。

Created at: 2022-07-27 20:04:11
开发语言: BlitzBasic

SQLiDetector

BurpBouty配置文件支持的简单python脚本,通过发送具有9个有效负载的多个请求并检查不同数据库的152个正则表达式模式,帮助你检测SQL注入“基于错误”。

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
| 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

页眉

描述

该工具的主要思想是通过使用不同的有效负载来扫描基于错误的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

它是如何工作的?

这很简单,只需按如下方式组织你的步骤

  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 配置文件,它使用相同的有效负载,将它们注入多个位置,例如

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

我认为它更有效,并且对POST请求很有帮助,因为你无法使用Python脚本测试它们。伯布恩蒂1

伯布恩蒂2

它如何测试参数?

这个工具和其他工具有什么区别?如果我们有一个像这样的链接,所以我们有2个参数。它创建了 2 个可能易受攻击的 URL。

https://example.com?file=aykalam&username=eslam3kl

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

即将推出的更新

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

如果你想做出贡献,请随时这样做。欢迎你:)

由于

感谢Mohamed El-Khayat和Orwa的惊人paylaods和想法。关注他们,你将了解更多信息

https://twitter.com/Mohamed87Khayat
https://twitter.com/GodfatherOrwa

贡献

贡献

保持联系 <3

LinkedIn|博客|