前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SqliSniper:针对HTTP Header的基于时间SQL盲注模糊测试工具

SqliSniper:针对HTTP Header的基于时间SQL盲注模糊测试工具

作者头像
FB客服
发布2024-05-28 10:59:22
1040
发布2024-05-28 10:59:22
举报
文章被收录于专栏:FreeBufFreeBuf
关于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环境。

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

代码语言:javascript
复制
git clone https://github.com/danialhalo/SqliSniper.git

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

代码语言:javascript
复制
cd SqliSniper

pip3 install -r requirements.txt

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

代码语言:javascript
复制
chmod +x sqlisniper.py

工具使用

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

命令参数解析

代码语言:javascript
复制
-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:运行线程数量;

工具使用

扫描单个目标

代码语言:javascript
复制
./sqlisniper.py -u http://example.com

文件输入

代码语言:javascript
复制
./sqlisniper.py -r url.txt
代码语言:javascript
复制
URL管道输入
代码语言:javascript
复制
cat url.txt | ./sqlisniper.py -p

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

代码语言:javascript
复制
subfinder -silent -d google.com | sort -u | httpx -silent | ./sqlisniper.py -p

使用自定义Payload执行扫描

代码语言:javascript
复制
./sqlisniper.py -u http://example.com --payload mssql_payloads.txt

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

代码语言:javascript
复制
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执行扫描

代码语言:javascript
复制
./sqlisniper.py -r url.txt --single-payload "0'XOR(if(now()=sysdate(),sleep(%__TIME_OUT__%),0))XOR'Z"
代码语言:javascript
复制
使用自定义Header执行扫描

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

代码语言:javascript
复制
ubuntu:~/sqlisniper$ cat headers.txt

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

X-Forwarded-For: 127.0.0.1

发送Discord警报通知

代码语言:javascript
复制
./sqlisniper.py -r url.txt --discord <web_hookurl>

多线程执行

代码语言:javascript
复制
./sqlisniper.py -r url.txt --threads 10

工具运行截图

许可证协议

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

项目地址

SqliSniper:

https://github.com/danialhalo/SqliSniper

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 命令参数解析
  • 扫描单个目标
  • 文件输入
  • 使用自定义Payload执行扫描
  • 使用单个Payload执行扫描
  • 发送Discord警报通知
  • 多线程执行
  • 工具运行截图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档