zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Ghauri:一款功能强大的SQL注入漏洞自动化检测和利用工具

漏洞注入SQL工具自动化 利用 检测 一款
2023-06-13 09:17:55 时间

 关于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】

精彩推荐