SqliSniper:针对HTTP Header的基于时间SQL盲注模糊测试工具
2024-5-23 15:46:13 Author: www.freebuf.com(查看原文) 阅读量:6 收藏

关于SqliSniper

SqliSniper是一款基于Python开发的强大工具,该工具旨在检测HTTP请求Header中潜在的基于时间的SQL盲注问题。

该工具支持通过多线程形式快速扫描和识别目标应用程序中的潜在漏洞,可以大幅增强安全评估过程,同时确保了速度和效率。跟其他SQLi安全扫描工具的不同之处在于,SqliSniper具有内置的Discord通知功能,可以通过检测消除误报并发送警报。

功能介绍

1、基于时间的SQL盲注检测:确定HTTP Header中潜在的SQL注入漏洞;

2、多线程扫描:通过并行处理提供更快的扫描能力;

3、Discord通知:通过Discord webhook发送检测到的漏洞警报;

4、假阳性检查:实现响应时间分析,以区分误报;

5、支持自定义Payload和Header:允许用户自定义用于扫描目标的Payload和Header;

工具安装

由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/danialhalo/SqliSniper.git

然后切换到项目目录中,使用pip3命令和项目提供的requirements.txt文件安装该工具所需的其他依赖组件:

cd SqliSniper

pip3 install -r requirements.txt

最后,给工具脚本提供可执行权限即可:

chmod +x sqlisniper.py

工具使用

下面给出的是该工具支持的全部命令参数选项:

命令参数解析

-h, --help:显示工具帮助信息和退出;

-u URL, --url URL:扫描单个目标URL;

-r URLS_FILE, --urls_file URLS_FILE:包含目标URL列表的文件;

-p, --pipeline:从pipeline读取目标URL;

--proxy PROXY:拦截请求的代理,例如http://127.0.0.1:8080;

--payload PAYLOAD:包含Payload的文件路径,默认为payloads.txt;

--single-payload SINGLE_PAYLOAD:用于测试的单个Payload路径;

--discord DISCORD:Discord Webhook URL;

--headers HEADERS:包含Header的文件路径,默认为headers.txt;

--threads THREADS:运行线程数量;

工具使用

扫描单个目标

./sqlisniper.py -u http://example.com

文件输入

./sqlisniper.py -r url.txt

URL管道输入

cat url.txt | ./sqlisniper.py -p

管道功能还支持与其他工具无缝集成,比如说,我们可以使用subfinder和httpx等工具,然后将它们的输出通过管道传输到SqliSniper进行大规模扫描:

subfinder -silent -d google.com | sort -u | httpx -silent | ./sqlisniper.py -p

使用自定义Payload执行扫描

./sqlisniper.py -u http://example.com --payload mssql_payloads.txt

在使用自定义Payload文件时,请确保你使用“%__TIME_OUT__%”设置了恰当的休眠时间。SqliSniper会反复地对休眠时间进行动态调整以减少误报。Payload文件样例如下所示:

ubuntu:~/sqlisniper$ cat payloads.txt

0\"XOR(if(now()=sysdate(),sleep(%__TIME_OUT__%),0))XOR\"Z

"0"XOR(if(now()=sysdate()%2Csleep(%__TIME_OUT__%)%2C0))XOR"Z"

0'XOR(if(now()=sysdate(),sleep(%__TIME_OUT__%),0))XOR'Z

使用单个Payload执行扫描

./sqlisniper.py -r url.txt --single-payload "0'XOR(if(now()=sysdate(),sleep(%__TIME_OUT__%),0))XOR'Z"

使用自定义Header执行扫描

下面给出的是自定义HTTP Header文件样例:

ubuntu:~/sqlisniper$ cat headers.txt

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)

X-Forwarded-For: 127.0.0.1

发送Discord警报通知

./sqlisniper.py -r url.txt --discord <web_hookurl>

多线程执行

./sqlisniper.py -r url.txt --threads 10

工具运行截图

许可证协议

本项目的开发与发布遵循MIT开源许可协议。

项目地址

SqliSniper:【GitHub传送门

参考资料

https://twitter.com/DanialHalo


文章来源: https://www.freebuf.com/sectool/401704.html
如有侵权请联系:admin#unsafe.sh