360鹰眼-更智能的Web安全监控系统

产品描述:

下一代web漏洞扫描器,她是一款硬件,包含:最全面的"爬出"引擎,不再需要收集资产清单,不再需要指定扫描时间,同步发现新上线业务漏洞

适用对象:

企业

价格服务:

目录价19.8万起
我了解,我要试用
高危高危

Apache Struts2 S2-020|CVE-2014-0094 补丁绕过漏洞

WASC Threat Classification

发现时间:

2014-05-05

漏洞类型:

代码执行

所属建站程序:

Struts

所属服务器类型:

Apache

所属编程语言:

Java

描述:
Apache Struts2在2.3.16.1版本之前,提供class参数传递的功能,但由于此功能可导致用户操控服务器运行环境中的一些对象,因此在2.3.16.1中禁用了此功能。但是由于防护规则不完善,导致可被攻击者绕过。
危害:
可造成文件泄漏或拒绝服务,在特定情况下(例如Tomcat 8)可造成远程执行任意命令,令在其他情况下可读敏感文件等。
解决方案:

第一种:找到你的struts.xml文件,将excludeParams的内容替换成下面的代码:

<interceptor-ref name="params">
   <param name="excludeParams">(.*\.|^|.*|\[('|"))(c|C)lass(\.|('|")]|\[).*,^dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,^parameters\..*,^action:.*,^method:.*</param>
</interceptor-ref>

第二种:如果你使用的是struts-default.xml的默认参数拦截器,请将以下代码:

<package name="default" namespace="/" extends="struts-default">
    <default-interceptor-ref name="defaultStack" />
    ...
    ...
</package>


替换为:

<package name="default" namespace="/" extends="struts-default">
    <interceptors>
        <interceptor-stack name="secureDefaultStack">
            <interceptor-ref name="defaultStack">
                <param name="params.excludeParams">(.*\.|^|.*|\[('|"))(c|C)lass(\.|('|")]|\[).*,^dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,^parameters\..*,^action:.*,^method:.*</param>
            </interceptor-ref>
        </interceptor-stack>
    </interceptors>

    <default-interceptor-ref name="secureDefaultStack" />
    ...
</package> 

更多信息请参考官方网站:http://struts.apache.org/announce.html#a20140424

建议升级至最新版

如果你的网站服务器是Windows系统,建议使用"主机卫士"修复漏洞,点击下载
对该漏洞进行评论