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 -req [目標.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.1Host: 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://pan.quark.cn/s/c70fbc880f14
- https://github.com/smallfox233/JsonExp

嘶吼專業版
Rot5pider安全團隊
FreeBuf
HACK之道
看雪學苑
安全圈
安全客
HACK學習呀
企業網D1net
企業網D1net
網絡安全與數據治理
D1Net