WordPress /wp-includes/http.php 文件中的 wp_http_validate_url 函数没有正确验证输入 IP,导致黑客构建类似 012.10.10.10 的异常 IP 旁路验证来执行 SSRF。
找到文件/wp-includes/http.php,文件中大约有 465 行。在修改文件之前,记得在 http.php 备份原始文件。这是一个好习惯:
$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] || 0 === $parts[0]
修改为:
if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0] || 0 === $parts[0]
转载请注明:汇站网 » WordPress IP 验证不当漏洞修复