fastjson-cnvd-2017-02833漏洞复现 | Web漏洞挖掘班作业
2021-12-08 09:00:00 Author: mp.weixin.qq.com(查看原文) 阅读量:79 收藏

文章来源|MS08067 Web安全漏洞挖掘实战班课后作业

本文作者:某学员A(Web漏洞挖掘实战班2期学员)

一、漏洞概述

fastjson在解析json的过程中,支持使用@type字段来指定反序列化的类型,并调用该类的set/get方法来访问属性,当组件开启了autotype功能并且反序列化不可信数据时,攻击者可以构造数据,使目标应用的代码执行流程进入特定类的特定setter或者getter方法中,即可构造出一些恶意利用链。在Fastjson 1.2.47及以下版本中,利用其缓存机制可实现对未开启autotype功能的绕过。

二、影响版本

Fastjson1.2.24以及之前的所有版本

三、漏洞利用

创建TouchFile.java文件,内容如下:

使用javac TouchFile.java编译为class文件

使用mvn打包marshalsec项目得到jar包mvn clean package -DskipTests(vps不好编译所以我在本机编译然后传到了vps)

使用Python开启http服务 :python -m http.server 8000

开启rmi

访问漏洞页面,抓包,构造payload(抓到的包是GET,这里要改为POST,并将content-type修改为application/json)

反弹shell成功,获得flag

总结:

  1. 使用payload攻击靶机(该payload需要指定rmi地址)

  2. 靶机引发反序列化漏洞,发送了进行rmi远程发放调用,去连接VPS

  3. VPS的rmi服务指定加载恶意java类,所以靶机通过VPS的rmi服务最终加载并执行恶意java类

  4. 靶机引发恶意系统命令执行

如果喜欢本文
欢迎 在看留言分享至朋友圈 三连

报名咨询请联系小客服

扫描下方二维码加入星球学习

加入后邀请你进入内部微信群,内部微信群永久有效!

 

 

来和5000+位同学一起加入星球学习吧!


文章来源: http://mp.weixin.qq.com/s?__biz=MzU1NjgzOTAyMg==&mid=2247497125&idx=1&sn=f751252fa18a575852cc5e07650a2967&chksm=fc3c4ca4cb4bc5b2a728ca0f3c73a0ca4f34e59b6e2fb69b9d3f8a70fb630a5b8115fb7356d3#rd
如有侵权请联系:admin#unsafe.sh