WordPress IP验证不当漏洞修复方法

早在2018年4月7日披露,在Wordpress中,函数wp_http_validate_url存在对输入IP验证不当的漏洞,导致黑客可构造类似于012.10.10.10这样的畸形IP绕过验证,进行SSRF(Server-Side Request Forgery:服务器端请求伪造)。

修复方法

当前WordPress版本为5.6,编辑wp-includes/http.php,找到539行,代码如下:

$same_host = strtolower( $parsed_home['host'] ) === strtolower( $parsed_url['host'] );

将它注释或删除,并改成如下代码:

//$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']));

继续往下至556行,代码如下:

if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0]

将它注释或删除,并改成如下代码:

//if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0]
if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0] || 0 === $parts[0]

保存后再验证,则提示漏洞已失效,恭喜WordPress的安全更上一层楼。

原创文章禁止转载:技术学堂 » WordPress IP验证不当漏洞修复方法

精彩评论

7+4=

感谢您的支持与鼓励

支付宝扫一扫打赏

微信扫一扫打赏