Fastjson反序列化漏洞

本文介绍了Fastjson库的反序列化漏洞,包括其原理、前提条件及复现步骤。黑客通过构造特定类和利用RMI服务器,可能导致代码执行。复现过程涉及开启环境、编译恶意类、修改请求包以及端口监听,最终实现反弹shell。
摘要由CSDN通过智能技术生成

一、fastjson简介

fastjson是java的一个库,可以将java对象转化为json格式的字符串,也可以将json格式的字符串转化为java对象

提供了 toJSONString() 和 parseObject() 方法来将 Java 对象与 JSON 相互转换。调用toJSONString方 法即可将对象转换成 JSON 字符串,parseObject 方法则反过来将 JSON 字符串转换成对象。

二、fastjson反序列化漏洞原理

在反序列化的时候,会进入parseField方法,进入该方法后,就会调用setValue(object, value)方法,在这里,会执行构造的恶意代码,最后造成代码执行。 那么通过以上步骤,我们可以知道该漏洞的利用点有两个,第一是需要我们指定一个类,这个类的作用是为了让程序获取这个类来进行反序列化操作。第二是需要将需要执行的代码提供给程序,所以这里使用了rmi。 然后反序列化的时候会去请求rmi服务器,地址为: dnslog.cn/aaa。然后加载aaa这个恶意class文件从而造成代码执行。

三、fastjson反序列化漏洞的前提条件

  1. 目标服务器存在fastjson。
  2. 没有对用户传输的数据进行严格过滤。

四、复现fastjson反序列化漏洞

1.复现的步骤

(1)开启环境

  • 黑客使用payload攻击主机A(该payload需要指定rmi/ldap地址)
  • 主机A引发反序列化漏洞,进行ldap远程方法调用,去连接主机B的9999端口。
  • 主机B的LDAP服务指定加载主机C的恶意java类,所以主机A通过主机B的LDAP服务最终加载并执行主机C的恶意java类。
  • 主机
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值