关于SleuthQL
SleuthQL是一款针对SQL注入漏洞的安全工具,该工具基于纯Python 3开发,可以帮助广大研究人员通过解析Burp历史来识别包含类似SQL语法的参数和值,识别成功之后,SleuthQL将在识别的SQL语句/变量的每一个参数中注入SQLMap识别符(*)。值得一提的是,该工具需要与SQLmap工具结合使用,以识别潜在的SQL注入点。
支持的请求类型
在使用SleuthQL之前,我们首先需要导出Burp的代理历史记录。要获得此导出,只需导航到代理历史记录选项卡,选择好每个需要的项目,然后单击“保存项目”。需要注意的是,这里要确保使用base64编码保存每个请求。当SleuthQL扫描常规URL参数之外的代理历史文件时,它将能够从以下请求内容类型中识别出易受攻击的参数:
application/json application/x-www-form-urlencoded multipart/form-data
值得一提的是,在某些情况下,此工具会出现故障。也就是说,如果存在嵌套的内容类型(例如JSON数据中的base64编码参数),它将无法识别这些参数。
为什么不使用Burp Pro?
Burp Pro的扫描器非常棒,但在面对SQL注入漏洞时,其功能并不像SQLMap那样完整。因此,如果我们能够以类似批处理的方式对请求进行优先级排序,并以这种方式查找结果,我们就可以提高SQL注入的检测率。
工具下载
由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3环境。
接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地:
git clone https://github.com/RhinoSecurityLabs/SleuthQL.git
然后切换到项目目录中,使用pip3命令和项目提供的requirements.txt文件安装该工具所需的其他依赖组件:
cd SleuthQL pip3 install -r requirements.txt
工具使用
工具参数选项
-h, --help:显示工具帮助信息和退出; -d DOMAINS, --domains=DOMAINS:待分析的目标域名列表,每个域名用逗号分隔,例如google.com,mozilla.com,rhinosecuritylabs.com; -f PROXY_XML, --xml=PROXY_XML:要解析的Burp代理历史XML导出文件,必须使用Base64编码; -v, --verbose:开启Verbose模式输出,显示在解析输入的XML文件时遇到的错误;
输出文件
针对所有潜在的易受攻击的请求,SQLMap都会参数化请求,并以文本文件的形式存储在$(pwd)/$domain/路径下。
工具使用演示视频
演示视频:【点我观看】
许可证协议
本项目的开发与发布遵循BSD-3-Clause-Clear开源许可证协议。
项目地址
SleuthQL:【GitHub传送门】