wordpress IP验证不当漏洞修复

By | 2018年5月25日

最近阿里云给我提示”wordpress IP验证不当漏洞”,其解释为:

/wp-includes/http.php文件中的wp_http_validate_url函数对输入IP验证不当。
导致黑客可构造类似于012.10.10.10这样的畸形IP绕过验证,进行SSRF。

找了下解决方法,修改http.php文件内容(wp_http_validate_url方法),如下,注释前5行,后面是新加的:

// 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;
}

1然后如果wp不是最新版的,还需要修改一处,大概在550行左右:

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

如果已经是下面这行,说明wp已经改过了,可以不用动。

最后,在阿里云界面中,点验证按钮,检测下漏洞是否还在,如果没有任何提示,那就是最好的提示,没有明显漏洞了。