JsonExp
简介
版本:1.3.5
1.
根据现有payload,检测目标是否存在fastjson或jackson漏洞(工具仅用于检测漏洞)
2.
若存在漏洞,可根据对应payload进行后渗透利用
3.
若出现新的漏洞时,可将最新的payload新增至txt中(需修改格式)
4.
工具无法完全替代手工检测,仅作为辅助工具使用
使用
windows系统
在
JsonExp
.exe
目录打开
cmd
界面
检测单个站点:
JsonExp
-u
[目标]
-l
[LDAP服务地址]
根据请求包检测单个站点:
JsonExp
-req
[目标.txt]
-l
[LDAP服务地址]
根据文本检测多个站点:
JsonExp
-uf
[目标.txt]
-l
[LDAP服务地址]
Linux系统
添加权限:
chmod
+
x
JsonExp
检测单个站点:
./JsonExp -u [目标] -l [LDAP服务地址]
根据请求包检测单个站点:
./JsonExp -re
q [目标.txt]
-l [LDAP服务地址]
根据文本检测多个站点:
./JsonExp -uf [目标.txt] -l [LDAP服务地址]
DNSlog检测
若出现dnslog回弹,可根据前面的编号去寻找对应的payload
编号.地址
LDAP检测
若为内网环境/目标无法DNS解析时,可使用工具在本地/云服务器起一个LDAP服务
https://github.com/WhiteHSBG/JNDIExploit
将域名换成IP:端口即可(上图中使用的是8090作为LDAP服务端口)
此时LDAP服务器可收到路径信息,可根据路径信息来定位触发漏洞的payload
请求包检测
若使用-req参数进行检测时,需要设置需要检测的变量值位置
将请求中需要检测的位置替换为$payload$,其余位置不变,保存为req.txt(文件名任意)
格式:
POST
/xxx
HTTP/1.1
Host
: xxx
$payload
$
然后通过-req指定该文件,根据请求包进行漏洞检测
JsonExp
-req
req
.txt
-l
xxx
.xxx
.xxx
示例:
注意:
1
. $payload$必须英文小写
2
. 若$payload$指定多个位置时仍可检测漏洞,但无法定位具体的漏洞参数
3
. 若$payload$设置在请求头中,将无法检测
4
. 一个文件仅限一个请求包,出现多个请求包时将会出错
5
. 发送时默认采用http协议,若请求包为https协议,需使用-pro https来指定协议类型
Payload介绍
默认的payload保存在template文件夹下
格式: {.........$type$://$ip$/路径....}#注释内容
$type$ 用于指定ldap或rmi服务类型(必须小写)
$ip$ 用于指定ldap地址或rmi地址(必须小写)
路径 若LDAP服务器地址为IP时,需要通过不同的路径来定位触发漏洞的payload
注意:
1.
每行分为两个部分,一个是漏洞利用的payload,另一个部分是注释
2.
payload必须写在注释的前面
3.
注释符#及其之后的内容,将会在检测时被忽略
4.
若payload为多行,则需将其中的换行符删去,保证一个payload占据一行
5.
$type$和$ip$必须英文小写
结果展示功能
输出结果参考自xray,模板路径为template/report.html,请勿删除该文件
执行程序后,将会在result目录下生成域名.html或ip.html文件
代理设置
使用--proxy设置代理,可用于调试信息、绕waf等操作
--proxy http:
//127.0.0.1:8080
burpsuite中设置代理
将工具的流量代理到burpsuite中(此工具不能适应所有的情况,可通过该方式对payload进行适当调整)
下载链接
-
https://github.com/smallfox233/JsonExp
原文始发于微信公众号(HACK之道):fastjson漏洞批量检测工具
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论