今天复现了一下Struts2 S2-057 远程代码执行漏洞,漏洞编号是 CVE-2018-11776 ,尽管响应码都是302,但是确实利用成功了,这个漏洞也是可以直接使用metaspoit实现反弹shell的,对应的模块是exploit/multi/http/struts2_namespace_ognl。漏洞原因是解析了URL中的OGNL(Object-Graph Navigation Language)表达式,前置条件是在Strut...
一、 漏洞描述 当struts.mapper.alwaysSelectFullNamespace设置为true,并且package标签页以及result的param标签页的namespace值的缺失,或使用了通配符时可造成namespace被控制,最终namespace会被带入OGNL语句执行,从而产生远程代码执行漏洞。 受影响的系统版本 Apache Struts 2.3 - Struts 2.3.34 Apache Struts 2.5 - ...
1.1 漏洞描述 当struts.mapper.alwaysSelectFullNamespace设置为true,并且package标签页以及result的param标签页的namespace值的缺失,或使用了通配符时可造成namespace被控制,最终namespace会被带入OGNL语句执行,从而产生远程代码执行漏洞。 1.2 受影响的系统版本 Apache Struts 2.3 - Struts 2.3.34 Apache Struts 2.5 - ...
在StrutsResultSupport类中的execute()方法中,刚刚被赋值的location变量(带有namespace的)被传入了conditionalParse()方法。 最终,通过TextParseUtil.translateVariables()对namespace进行OGNL解析,导致远程代码执行漏洞。 四、漏洞利用 1. 访问url 为/${(111+111)}/actionChain1.action的地址。 访问触发OGNL表达式,url...
漏洞产生于网站配置XML时如果没有设置namespace的值,并且上层动作配置中并没有设置或使用通配符namespace时,可能会导致远程代码执行漏洞的发生。同样也可能因为url标签没有设置value和action的值,并且上层动作并没有设置或使用通配符namespace,从而导致远程代码执行漏洞的发生。
2018年8月22日,Apache Struts发布了一则最新安全公告,披露了一个远程代码执行漏洞S2-057。该漏洞会由于部分配置不当造成远程代码执行漏洞。
说明存在s2-057漏洞 中间的${(111+111)}是命令执行,得到执行结果返回在后面的url呈现的页面中 将${(111+111)} 替换用代码执行编写成命令执行的exp ${(#_memberAccess["allowStaticMethodAccess"]=true,#a=@java.lang.Runtime@getRuntime().exec('calc').getInputStream(),#b=newjava.io.InputStreamReader...
天融信阿尔法实验室将为你带来Apache Struts2 S2-057远程代码执行漏洞分析~ 一、 漏洞描述 当struts.mapper.alwaysSelectFullNamespace设置为true,并且package标签页以及result的param标签页的namespace值的缺失,或使用了通配符时可造成namespace被控制,最终namespace会被带入OGNL语句执行,从而产生远程代码执行漏洞。
漏洞产生于网站配置XML时如果没有设置namespace的值,并且上层动作配置中并没有设置或使用通配符namespace时,可能会导致远程代码执行漏洞的发生。同样也可能因为url标签没有设置value和action的值,并且上层动作并没有设置或使用通配符namespace,从而导致远程代码执行漏洞的发生。
远程代码执行漏洞原因: 1.定义XML配置时如果namespace值未设置且上层动作配置(Action Configuration)中未设置或用通配符namespace可能会导致远程代码执行漏洞的发生。 2.url标签未设置value和action值且上层动作未设置或用通配符namespace时可能会导致远程代码执行。