漏洞描述
wordpress /wp-includes/http.php文件中的wp_http_validate_url函数对输入IP验证不当,导致黑客可构造类似于012.10.10.10这样的畸形IP绕过验证,进行SSRF。【注意:该补丁为云盾自研代码修复方案,云盾会根据您当前代码是否符合云盾自研的修复模式进行检测,如果您自行采取了底层/框架统一修复、或者使用了其他的修复方案,可能会导致您虽然已经修复了改漏洞,云盾依然报告存在漏洞,遇到该情况可选择忽略该漏洞提示】
漏洞修复
找到wp-includes/http.php这个文件,在文件的465行附近找到:
$same_host = strtolower( $parsed_home['host'] ) === strtolower( $parsed_url['host'] );
把改行修改为成以下代码,或者注销该行添加。
if (isset($parsed_home['host'])) {
$same_host = (strtolower($parsed_home['host']) === strtolower($parsed_url['host']) || 'localhost' === strtolower($parsed_url['host']));
} else {
$same_host = false;
};
还是这个文件,在 478行左右找以下代码
if ( 127 === $parts[0] || 10 === $parts[0]
替换成
if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0]
如果在修改的时候发现478该行代码已经是修改过的代码,请忽略。
如果本文对您有帮助请分享给您的好友,也可按Ctrl+D收藏本页面,谢谢!