关闭

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

发表于:2024-6-11 09:34

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Alpha_h4ck    来源:FreeBuf

  关于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
  工具运行截图
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号