关于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
工具下载
我们可以使用下列命令将该项目最新版本的源码克隆至本地,并完成安装配置:
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
工具使用
Author: Nasir khan (r0ot h3x49) usage: ghauri -u URL [OPTIONS] A cross-platform python based advanced sql injections detection & exploitation tool. 常用选项: -h, --help 显示工具帮助信息. --version 显示工具版本. -v VERBOSE Verbose等级:1-5 (默认1). --batch 使用默认配置,无需用户输入. --flush-session 刷新当前目标的会话文件. 目标定义: At least one of these options has to be provided to define the target(s) -u URL, --url URL 目标URL (例如'http://www.site.com/vuln.php?id=1). -r REQUESTFILE 从文件加载HTTP请求 请求选项: These options can be used to specify how to connect to the target URL -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 性能优化: These options can be used to optimize the performance of ghauri --threads THREADS 最大并发HTTP请求数 (默认1) 注入参数: These options can be used to specify which parameters to test for, provide custom injection payloads and optional tampering scripts -p TESTPARAMETER Testable参数 --dbms DBMS 强制提供后端dbms --prefix 注入有效负载前缀字符串 --suffix 注入有效负载后缀字符串 --safe-chars 跳过指定字符URL编码 (例如:- --safe-chars="[]") --fetch-using 使用不同操作符获取数据 (例如: --fetch-using=between/in) 自定义检测: These options can be used to customize the detection phase --level LEVEL 要执行的测试级别 (1-3, 默认1) --code CODE 当查询值为True时要匹配的HTTP代码 --string 当查询值为True时要匹配的字符串 --not-string 当查询值为False时要匹配的字符串 --text-only 仅基于文本内容比较页面 注入技术: These options can be used to tweak testing of specific SQL injection techniques --technique TECH 要使用的SQL注入技术 (默认"BEST") --time-sec TIMESEC DBMS响应延迟秒数 (默认5) 后端数据库枚举: These options can be used to enumerate the back-end database management system information, structure and data contained in the tables. -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 从数据库/表/列/转储中检索数据条目的偏移量结束 使用详情: ghauri http://www.site.com/vuln.php?id=1 --dbs
工具使用样例
ghauri http://www.site.com/vuln.php?id=1 --dbs
项目地址
Ghauri:【GitHub传送门】