【vulhub】Fastjson1.2.24反序列化导致任意命令执行漏洞复现

💡 原文中文,约4800字,阅读约需12分钟。
📝

内容提要

fastjson是阿里巴巴开源的Java JSON解析库,存在自动类型转换漏洞,攻击者可利用该漏洞执行任意代码。受影响版本为fastjson<=1.2.24,攻击者可通过特定请求实现远程代码执行。

🎯

关键要点

  • fastjson是阿里巴巴开源的Java JSON解析库,存在自动类型转换漏洞。
  • 受影响版本为fastjson<=1.2.24,攻击者可通过特定请求实现远程代码执行。
  • fastjson用于在Java和JSON数据之间进行转换,支持序列化和反序列化。
  • 漏洞原理在于未对JSON内容进行验证,直接将其解析为Java对象并执行。
  • 攻击者可构造payload,利用autoType功能实现代码执行。
  • 漏洞复现环境为vulhub_centos7,使用curl命令可验证漏洞存在。
  • 安装Maven和反序列化工具marshalsec以进行漏洞利用。
  • 通过构建RMI或LDAP服务器,攻击者可以实现远程代码执行。
  • 构造payload时需注意请求方法和Content-Type的设置。
  • 可以通过DNS记录监控漏洞利用情况。

延伸问答

fastjson的自动类型转换漏洞是如何产生的?

该漏洞产生于fastjson在解析JSON时未对内容进行验证,直接将其解析为Java对象并执行。

哪些版本的fastjson受到此漏洞影响?

受影响的版本为fastjson<=1.2.24。

如何利用fastjson的漏洞进行远程代码执行?

攻击者可以构造特定的payload,通过autoType功能实现代码执行,利用RMI或LDAP服务器进行远程调用。

在漏洞复现中需要哪些工具和环境?

需要安装Maven和反序列化工具marshalsec,并在vulhub_centos7环境中进行测试。

如何监控fastjson漏洞的利用情况?

可以通过DNS记录监控漏洞利用情况。

构造payload时需要注意哪些请求参数?

需要注意请求方法和Content-Type的设置,确保为POST请求且Content-Type为application/json。

➡️

继续阅读