WordPress IP验证不当的解决办法

今天习惯性打开阿里云.突然发现云盾提醒“WordPress IP验证不当”,具体信息是“wordpress /wp-includes/http.php 文件中的 wp_http_validate_url 函数对输入 IP 验证不当,导致黑客可构造类似于 012.10.10.10 这样的畸形 IP 绕过验证,进行 SSRF”。对于解决办法  emmmmmm.个人感觉这种就像某60杀毒一样.但是对于强迫症玩家来说.孰能忍,婶也不能忍.开始着手修复漏洞.

开始修复

打开网站所在在路径wp-includes/http.php找到http.php文件.首先保存一份.

在第545行(wordpress版本为5.2.0),

$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;
};

 

然后在第567行

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

替换为

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] 即可

 

这样.修改完和修改之前有区别吗?对于复制粘贴过来的.呸

 

说点什么

avatar
  Subscribe  
提醒