S2-052复现过程(附POC利用)
影响版本:Struts 2.5 - Struts 2.5.12
漏洞概述:问题出现在struts2-rest-plugin插件XStreamHandler处理器中的toObject()方法,其中未对传入的值进行任何限制,在使用XStream反
0×01 搭建环境
直接部署struts-2.5.12-all中的struts2-rest-showcase项目即可,从下图可以看出,插件的默认配置支持xml扩展。

运行看看,默认的xhtml扩展

转换成xml也成功,但是注意Content-Type需要改成application/xml类型。

用marshalsec(https://github.com/mbechler/marshalsec)生成Payload,工具简单使用方式如下:
java -cpmarshalsec-0.0.1-SNAPSHOT-all.jar marshalsec.<Marshaller 截图和代码较长,点击查看构造poc完整使用方式
0×03 复现验证

0×04 加固建议
- 升级Apache struts 2.5.13版本
- 在不使用时删除StrutsREST插件,或仅限于服务器普通页面和JSONs
<constantname=”struts.action.extension”value=”xhtml,,json” />
S2-052复现过程(附POC利用)的更多相关文章
- CVE-2021-21972 vSphere Client RCE复现,附POC & EXP
漏洞简介 vSphere 是 VMware 推出的虚拟化平台套件,包含 ESXi.vCenter Server 等一系列的软件.其中 vCenter Server 为 ESXi 的控制中心,可从单一控 ...
- Discuz!X 3.4 任意文件删除漏洞复现过程(附python脚本)
今天看下群里在讨论Discuz!X 3.4 任意文件删除漏洞,自己做了一些测试,记录一下过程.结尾附上自己编写的python脚本,自动化实现任意文件删除. 具体漏洞,请查看 https://paper ...
- Linux sudo权限提升漏洞CVE-2021-3156 POC及复现过程
漏洞简介 2021年1月26日,国外研究团队披露了sudo 中存在的堆溢出漏洞(CVE-2021-3156).利用该漏洞,非特权账户可以使用默认的sudo配置主机上获取root权限,该漏洞影响1.8. ...
- Struts2 REST 插件 XStream 远程代码执行漏洞 S2-052 复现过程
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...
- Apache-Tomcat-Ajp漏洞(CVE-2020-1938)漏洞复现(含有poc)
Apache-Tomcat-Ajp漏洞(CVE-2020-1938)漏洞复现 0X00漏洞简介 Apache与Tomcat都是Apache开源组织开发的用于处理HTTP服务的项目,两者都是免费的,都可 ...
- ShadowBroker释放的NSA工具中Esteemaudit漏洞复现过程
没有时间测试呢,朋友们都成功复现,放上网盘地址:https://github.com/x0rz/EQGRP 近日臭名昭著的方程式组织工具包再次被公开,TheShadowBrokers在steemit. ...
- NSA Fuzzbunch中EternalRomance工具复现过程
自Shadow Brokers公布NSA泄露工具后,各路大神陆陆续续发表复现过程,这几天也仔细试了各种套路,一直想弄明白DoublePulsar中的shellcode到底是如何用的,刚好又在模拟环境中 ...
- 【3D】PoseCNN姿态检测网络复现过程记录
最近在研究室内6D姿态检测相关问题,计划在PoseCNN网络基础上进行改进实现.但是在第一步的复现过程中踩了无数的坑,最终成功运行了demo,但目前数据集train还是遇到了一些问题.有问题欢迎一起交 ...
- php反序列化漏洞复现过程
PHP反序列化漏洞复现 测试代码 我们运行以上代码文件,来证明函数被调用: 应为没有创建对象,所以构造函数__construct()不会被调用,但是__wakeup()跟__destruct()函数都 ...
随机推荐
- jQuery的基础dom和css操作
1.元素以及内容操作 $(function () { // alert($("a").html()); // 获取元素中间的html内容,包括标签和文本内容 // alert($( ...
- Golang之fmt格式“占位符”
golang的fmt包实现了格式化I/O函数: package main import "fmt" type Human struct { Name string } func m ...
- KMP算法,查询匹配串的个数
想不到时隔两年回来重新学习KMP算法还是那么难,不过理解了大概,把例程贴上来,如果是求数量只需要加个count变量记录即可. #include"stdio.h" #include& ...
- PHPStorm 忽略 node_modules 目录
如果项目中包含 node_modules 目录,会使 PHPStorm 卡得很慢, 原因:PHPStorm 在进行大量的扫描工作. 解决:忽略它 原文地址:https://segmentfault.c ...
- 构建搞性能可扩展asp.net网站文摘
第1章 原则与方法 网页加载的过程: 关注感知性能,减少阻塞调用,减少往返,在所有架构层次采用缓存,优化硬盘I/O 了解浏览器的工作方式,使用ajax,silverlight和纯javascript避 ...
- 动态列 Excel 导出
/// <summary> /// 导出数据通用属性 需在属性进行标记 /// </summary> [AttributeUsage(AttributeTargets.Clas ...
- Sypder 安装和使用
一.安装Spyder 我傻傻以为直接下载Spyder就可以用了,但我其实大错特错了.Spyder虽然提供科学计算,但是它还需要一个介于Python和其之间的框架,或者说,显示界面PyQt5.(PyQt ...
- tp5和gateworer集成
第一步:安装thinkpph程序包 第二步:切换到根目录,使用composer require workerman/gateway-worker 安装Linux版本的gateway.(前提是你服务器安 ...
- SCI EI期刊
coming soon 关键字:Computer Vision, Computing, Image, Intelligence, IEEE, Compution <Journal of Expe ...
- [Delphi]编译条件
当软件在多个DELPHI版本下编译时,需要处理各版本的不同情况,使用编译条件技术实现. 万一博客,编译指令基础使用介绍:http://www.cnblogs.com/del/category/1686 ...