阿里云提示wordpress IP验证不当漏洞手动处

登录阿里云后台 有漏洞安全修复提示,级别尽快修复,同时给出ECS服务器管理重要通知:您的云服务器(xxx.xx.xxx.xx)由于被检测到对外攻击,已阻断该服务器对其它服务器端口(UDP:ALL)的访问,阻断预计将在2018-04-23 09:56:58时间内结束,请及时进行安全自查。若有疑问,请工单或电话联系阿里云售后。 阿里云经常提示有wordpress IP验证不当漏洞,实际上这个漏洞影响并不大,阿里云只是为了让你购买它的付费版的云盾服务器安全服务(安骑士)。其实我们自己手动就可以修复这个漏洞,下面是如何修复漏洞的方法。

漏洞名称:wordpress IP验证不当漏洞

补丁编号:7292650

补丁文件:wp-includes/http.php

补丁来源:云盾自研

漏洞描述:

wordpress /wp-includes/http.php文件中的wp_http_validate_url函数对输入IP验证不当,导致黑客可构造类似于012.10.10.10这样的畸形IP绕过验证,进行SSRF。【注意:该补丁为云盾自研代码修复方案,云盾会根据您当前代码是否符合云盾自研的修复模式进行检测,如果您自行采取了底层/框架统一修复、或者使用了其他的修复方案,可能会导致您虽然已经修复了改漏洞,云盾依然报告存在漏洞,遇到该情况可选择忽略该漏洞提示】

漏洞修复方法:

找到wp-includes/http.php这个文件,在文件的526行(不同的WordPress版本行数不同,可以搜索下面代码来找出这个位置)附近找到:

$same_host = strtolower( $parsed_home['host'] ) === strtolower( $parsed_url['host'] );

其实最新的WordPress这一段是这样子的:

if ( isset( $parsed_home['host'] ) ) {
        //$same_host = strtolower( $parsed_home['host'] ) === strtolower( $parsed_url['host'] );    
 
    } else {
        $same_host = false;
    }

我们换成:

if ( isset( $parsed_home['host'] ) ) {
 
        $same_host = (strtolower($parsed_home['host']) === strtolower($parsed_url['host']) || 'localhost' === strtolower($parsed_url['host']));
 
    } else {
        $same_host = false;
    }

如果你的 WordPress 版本不是最新版,在 541行左右找以下代码(最新版WordPress已经不需要修改这一项了。)

if ( 127 === $parts[0] || 10 === $parts[0]

替换成:

if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0]

如果发现上面这行代码跟源文件中的一样,则不用修改了,最新版 WordPress 已经是这样的代码了。。

修改完之后,登录阿里云,打开云盾服务器安全,找到这个漏洞,在后面点击验证一下,验证通过之后,就不提示这个漏洞了。

原文地址

上一篇:网站如何部署到阿里云服务器教程


下一篇:深度:2017年CIO们的挑战,机会和困惑