今天复现一下Struts2 S2-015 远程代码执行漏洞,漏洞产生于配置了 Action 通配符 *,并将其作为动态值时,我们访问xx.action,就会访问xx.jsp,其中xx是我们自己控制的,如果是OGNL表达式,就会被解析执行,但是一些特殊的字符如 / " \ 都无法使用,所以反弹shell稍微有点困难。对反弹shell脚本,使用index.html文件中转一下...
原本说自己搭建一个环境演示一下漏洞,后来想起来墨者学院(https://www.mozhe.cn/)里面有一些漏洞靶场环境,找了找还真的有(~~▽~)~。 打开靶机: 虽然我们知道这是含有Apache Struts2远程代码执行漏洞(S2-015)的靶机,不过我们还是按照正常步骤来测试一下,我用的是Struts2-Scan扫描工具,在此附上下载链接和使...
直接就可以找到key: 在这里我们通过写入exp的方式利用S2-015漏洞。 ${#context[‘xwork.MethodAccessor.denyMethodExecution’]=false,#m=#_memberAccess.getClass().getDeclaredField(‘allowStaticMethodAccess’),#m.setAccessible(true),#m.set(#_memberAccess,true),#q=@org.apache.commons.io.IOUtils@toString(...
影响版本: 2.0.0 - 2.3.14.2 漏洞详情: http://struts.apache.org/docs/s2-015.html 测试环境搭建 docker-compose build docker-compose up -d 原理与测试 漏洞产生于配置了 Action 通配符 *,并将
今天复现了一下Struts2 S2-057 远程代码执行漏洞,漏洞编号是 CVE-2018-11776 ,尽管响应码都是302,但是确实利用成功了,这个漏洞也是可以直接使用metaspoit实现反弹shell的,对应的模块是exploit/multi/http/struts2_namespace_ognl。漏洞原因是解析了URL中的OGNL(Object-Graph Navigation Language)表达式,前置条件是在Stru...
发现成功执行了echo has vul,说明存在该漏洞。 既然发现漏洞了,那我们可以构造一个payload,执行id命令。 代码语言:javascript 复制 http://192.168.146.158:8015/%24%7B%23context%5B%27xwork.MethodAccessor.denyMethodExecution%27%5D%3Dfalse%2C%23m%3D%23_memberAccess.getClass%28%29.getDeclaredField%28%27...
一、 漏洞描述 当struts.mapper.alwaysSelectFullNamespace设置为true,并且package标签页以及result的param标签页的namespace值的缺失,或使用了通配符时可造成namespace被控制,最终namespace会被带入OGNL语句执行,从而产生远程代码执行漏洞。 1. 受影响的系统版本 ...
靶场地址:https://www.mozhe.cn/bug/detail/MjJjWS80eFdzMGJPN3pZdTdSdFZxZz09bW96aGUmozhe 测试漏洞 http://219.153.49.228:45828/${1+2}.action 表达式进行了计算,表示漏洞存在,开始构造exp 读取当前文件夹的文件 %24%7B%23context%5B%27xwork.MethodAccessor.denyMethodExecution%27%5D%3Dfalse%2C%23m%...
Struts2 s2-057远程代码执行漏洞分析 一、 漏洞描述 当struts.mapper.alwaysSelectFullNamespace设置为true,并且package标签页以及result的param标签页的namespace值的缺失,或使用了通配符时可造成namespace被控制,最终namespace会被带入OGNL语句执行,从而产生远程代码执行漏洞。
漏洞信息 S2-015 公告 参考http://rickgray.me/2016/05/06/review-struts2-remote-command-execution-vulnerabilities.html 获取环境: 拉取镜像到本地 $docker pull medicean/vulapps:s_struts2_s2-015 启动环境 $docker run-d-p80:8080 medicean/vulapps:s_struts2_s2-015 ...