漏洞简介:
wordpress IP验证不当漏洞,
wordpress /wp-includes/http.php文件中的wp_http_validate_url函数对输入IP验证不当,导致黑客可构造类似于012.10.10.10这样的畸形IP绕过验证,进行SSRF。
找到/wp-includes/http.php这个文件先备份,然后打开,大概在文件546行,用下面代码替代:
$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; } ;
另外,大概563行,修改以下代码:
if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0] 修改为: if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0] || 0 === $parts[0]
保存修改后的文件,上传替代原文件,再进行验证,问题得到解决。