最近爆出wordpress /wp-includes/http.php文件中的wp_http_validate_url函数对输入IP验证不当,导致黑客可构造类似于012.10.10.10这样的畸形IP绕过验证,进行SSRF。
对这一问题的修改方法很简单,找到/wp-includes/http.php这个文件后打开,只需要两步即可:
第一步:搜索
$same_host = strtolower( $parsed_home[‘host’] ) === strtolower( $parsed_url[‘host’] );
改成
$same_host = ( strtolower( $parsed_home[‘host’] ) === strtolower( $parsed_url[‘host’] ) || ‘localhost’ === strtolower( $parsed_url[‘host’] ) );
第二步,搜索
if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0]
改成
if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0] || 0 === $parts[0]
然后保存、上传就完成此漏洞的修复。