S2-052复现过程(附POC利用)

漏洞编号:CVE-2017-9805(S2-052)

影响版本:Struts 2.5 - Struts 2.5.12

漏洞概述:问题出现在struts2-rest-plugin插件XStreamHandler处理器中的toObject()方法,其中未对传入的值进行任何限制,在使用XStream反

 

0×01 搭建环境

直接部署struts-2.5.12-all中的struts2-rest-showcase项目即可,从下图可以看出,插件的默认配置支持xml扩展。

S2-052复现过程(附POC利用)_第1张图片

运行看看,默认的xhtml扩展

S2-052复现过程(附POC利用)_第2张图片

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

S2-052复现过程(附POC利用)_第3张图片

0×02 构造PoC

用marshalsec(https://github.com/mbechler/marshalsec)生成Payload,工具简单使用方式如下:

java -cpmarshalsec-0.0.1-SNAPSHOT-all.jar marshalsec.

0×03 复现验证

S2-052复现过程(附POC利用)_第4张图片

 

0×04 加固建议

  • 升级Apache struts 2.5.13版本
  • 在不使用时删除StrutsREST插件,或仅限于服务器普通页面和JSONs

  • 作者:gyyyy@猎户攻防实验室
  • 原文出处:江南天安微信公众号
  • 转载已获得作者授权

转载于:https://www.cnblogs.com/ichunqiu/p/7484948.html

你可能感兴趣的:(S2-052复现过程(附POC利用))