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 验证不当漏洞修复