长期以来亿破姐网站受到了一些渣渣的瞩目,也验证了一句话,好的网站才会被攻击,不好的网站都没有人注视你,亿破姐感觉无上光荣啊,咋天才把服务器搬家到阿里云的ECS服务器,今天早上就在报有后门,有爆破攻击,最为危险的漏洞就是这个什么“Wordpress IP验证不当漏洞”建议修复,好吧实际上这个漏洞影响并不大,但是把还是要有安全的意识,所以建议还是要及时的修补漏洞。百度查阅了相关修复资料分享给大家。
漏洞简介
WordPress程序的/wp-includes/http.php文件中的wp_http_validate_url函数对输入IP验证不当,导致黑客可以构造类似于012.10.10.10这样的畸形IP绕过验证,进行SSRF等操作。
漏洞科普
SSRF是服务器端请求伪造,利用漏洞伪造服务器端发起请求,从而突破客户端获取不到数据的限制。
SSRF可以做什么
1、内网外网的端口和服务扫描;
2、服务器本地敏感数据的读取;
3、内外网主机应用程序漏洞的利用;
4、内网外网Web站点漏洞的利用。
解决修复方案
修改/wp-includes/http.php文件中533行、549行,替换内容如下
533行
$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']));
549行
if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0]
/*修改为:*/
if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0] || 0 === $parts[0]
有另外一个答案说上面的代码是假修复,它只是判断域名,没对IP做验证,这样可以骗过阿里云的漏洞检测,但是这样仍然是没有真正意义上的修复漏洞。
540行
preg_match('#^(([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d)\.){3}([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d)$#', $host)
修改改成
preg_match('#^(([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d|0+\d+)\.){3}([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d)$#', $host)
漏洞修复完成
修改完以上内容,然后再到阿里云盾控制台重新验证一下漏洞,就会发现漏洞已经完美修复成功。