struts2 s2-013补丁

我服了struts2的官方人员,他们升级新的版本,我从源码上做文件对比,代码没有做任何变化。
看来我让大家等补丁,是坑了大家。
疑似struts2的开发人员粗心,没把新版本更新,只是发布了版本号。
发个临时补丁给大家顶一下吧。

替换package org.apache.struts2.views.util.DefaultUrlHelper这个类的代码
//    /**
//     * 老的这部分代码注释掉
//     */
//    private String translateVariable(String input) {
//        ValueStack valueStack = ServletActionContext.getContext().getValueStack();
//        return TextParseUtil.translateVariables(input, valueStack);
//    }
    /**
     * struts漏洞临时补丁
     */
    private String translateVariable(String input) {
        return input;
    }

大家可以直接把官方这个文件的源码拷贝一份,并按照以上步骤修补,然后把源码放在java项目中,就会覆盖官方源码。
原理是用户的源码优于JAR执行,执行后,就不再执行官方源码,相当于hook。
修补后的状态是对${你懂得}内容作一次URL编码,之后输出,不执行任何ognl语句。

发表评论?

0 条评论。

发表评论