漏洞概述
Apache Struts是美国阿帕奇(Apache)基金会的一个开源项目,是一套用于创建企业级Java Web应用的开源MVC框架。
近期,网宿安全演武实验室监测到Apache Struts在特定条件下,存在文件上传漏洞(网宿评分:高危;CVSS 3.0 评分:8.1):
攻击者可以操纵文件上传参数来实现路径遍历,在某些情况下,这可能导致恶意文件上传。目前该漏洞POC状态已在互联网公开,建议客户尽快做好自查及防护。
受影响版本
Struts 2.0.0 - 2.3.37(EOL)
Struts 2.5.0 - 2.5.33(EOL)
Struts 6.0.0 - 6.3.0.2
前置知识
在 Struts 2 中,有一个重要特性——值栈,它帮助我们能够轻松访问 Action 类中的属性。
而其工作原理可以简单理解为,当我们访问一个Action时,Struts 2就会创建该 Action 类的实例并将它推送到值栈的顶部。参照官方wiki(https://cwiki.apache.org/confluence/display/WW/OGNL+Basics)可知,使用top关键字即可访问栈顶对象。

示例代码如下:
MyAction.java
package com.struts2;
import com.opensymphony.xwork2.ActionSupport;
public class MyAction extends ActionSupport {
private String message;
@Override
public String execute() throws Exception {
message = "Hello";
return SUCCESS;
}
public String getMessage() {
return message;
}
}<

最低0.47元/天 解锁文章
1698

被折叠的 条评论
为什么被折叠?



