Ghauri:一款功能强大的SQL注入漏洞自动化检测和利用工具
2023-3-17 20:42:4 Author: FreeBuf(查看原文) 阅读量:26 收藏

 关于Ghauri 

Ghauri是一款功能强大的SQL注入漏洞自动化检测和利用工具,该工具是一个高级跨平台工具,可以帮助广大研究人员以自动化的形式检测和利用目标应用中的SQL注入漏洞,并以此提升应用程序的安全性。

 功能介绍 

1、支持下列注入Payload类型:布尔注入、错误注入、时间注入、堆叠注入;

2、支持针对下列DBMS的SQL注入:MySQL、Microsoft SQL Server、Postgres、Oracle、Microsoft Access;

3、支持下列注入类型:基于GET/POST的注入、基于Header的注入、基于Cookie的注入、表单数据注入、基于JSON的注入;

4、支持代理选项:--proxy;

5、支持从txt文件解析请求:-r file.txt;

6、支持针对数据库、表、列和转储数据提取:--start 1 --stop 2;

7、支持操作阶段恢复;

8、支持urlencoding跳过:--skip-urlencode;

9、支持基于布尔值/时间注入的提取字符验证;

10、支持根据用户需求处理重定向;

 工具要求 

Python 3

pip3

 工具下载 

由于该工具基于Python 3开发,因此广大研究人员首先需要在本地设备上安装并配置好Python 3环境。接下来,我们可以使用下列命令将该项目源码克隆至本地,并完成安装配置:

git clone https://github.com/r0oth3x49/ghauri.git
(向右滑动,查看更多)

 工具安装 

使用cd命令切换到Ghauri项目目录中,并使用pip命令和该项目提供的requirements.txt文件安装该工具所需的依赖组件:

cd ghauri
python3 -m pip install --upgrade -r requirements.txt
(向右滑动,查看更多)

接下来,运行下列命令完成工具的安装

python3 setup.py install

python3 -m pip install -e

此时,我们就可以使用下列命令来访问和运行Ghauri了:

ghauri --help

 工具使用 

常用选项

-h, --help          显示工具帮助信息
--version 显示工具版本
-v VERBOSE Verbose等级:1-5 (默认1).
--batch 使用默认配置,无需用户输入
--flush-session 刷新当前目标的会话文件

目标定义

-u URL, --url URL   目标URL (例如'http://www.site.com/vuln.php?id=1).
-r REQUESTFILE 从文件加载HTTP请求
(向右滑动,查看更多)

请求选项

-A , --user-agent    HTTP User-Agent Header值
-H , --Header 提取Header(例如. "X-Forwarded-For: 127.0.0.1")
--host HTTP主机Header值
--data 通过POST发送的数据字符串 (例如. "id=1")
--cookie HTTP Cookie Header值 (例如. "PHPSESSID=a8d127e..")
--referer HTTP Referer Header值
--headers 提取Headers (例如. "Accept-Language: fr\nETag: 123")
--proxy 使用代理连接到目标URL
--delay 每个HTTP请求之间的延迟(秒)
--timeout 连接超时前等待的秒数 (默认30)
--retries 发生连接相关错误时重试 (默认3)
--confirm 确认注入的Payload
--skip-urlencode 跳过Payload数据URL编码
--force-ssl 强制使用SSL/HTTPS
(向右滑动,查看更多)

性能优化

--threads THREADS   最大并发HTTP请求数 (默认1)

注入参数

-p TESTPARAMETER    Testable参数
--dbms DBMS 强制提供后端dbms
--prefix 注入有效负载前缀字符串
--suffix 注入有效负载后缀字符串
--safe-chars 跳过指定字符URL编码 (例如:- --safe-chars="[]")
--fetch-using 使用不同操作符获取数据 (例如: --fetch-using=between/in)
(向右滑动,查看更多)

自定义检测

--level LEVEL       要执行的测试级别 (1-3, 默认1)
--code CODE 当查询值为True时要匹配的HTTP代码
--string 当查询值为True时要匹配的字符串
--not-string 当查询值为False时要匹配的字符串
--text-only 仅基于文本内容比较页面

注入技术

--technique TECH    要使用的SQL注入技术 (默认"BEST")
--time-sec TIMESEC DBMS响应延迟秒数 (默认5)

后端数据库枚举

-b, --banner        检索DBMS Banner
--current-user 检索DBMS当前用户
--current-db 检索DBMS当前数据库
--hostname 检索DBMS服务器主机名
--dbs 枚举DBMS数据库
--tables 枚举DBMS数据库表
--columns 枚举DBMS数据库表字段
--dump 转储DBMS数据库表条目
-D DB 要枚举的DBMS数据库
-T TBL 要枚举的DBMS数据库表
-C COLS 要枚举的DBMS 数据库表字段
--start 从数据库/表/列/转储中检索数据条目的偏移量起始
--stop 从数据库/表/列/转储中检索数据条目的偏移量结束
(向右滑动,查看更多)

 工具使用样例 

hauri http://www.site.com/vuln.php?id=1 --dbs
(向右滑动,查看更多)

 工具运行截图 

 许可证协议

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

 项目地址

Ghauri【https://github.com/r0oth3x49/ghauri】

精彩推荐


文章来源: http://mp.weixin.qq.com/s?__biz=MjM5NjA0NjgyMA==&mid=2651220037&idx=4&sn=3efcad24b477333335c4f024eb13dca7&chksm=bd1dface8a6a73d8653c6b47b4388f8ab3001f175db1d46f8ed48d582e97b9187efb517ae414#rd
如有侵权请联系:admin#unsafe.sh