WordPress IP验证不当漏洞补丁和解决方法

WordPress是我们常用的一种开源CMS博客系统,在很多网站上都有使用。最近该博客系统提示WordPressIP验证漏洞,这个漏洞主要是博客系统中../wp-includes/http.php文件中的一个http函数验证不周全导致的,这个主要是用于验证IP格式的函数wp_http_validate_url()对于014.114.114.114这种经过特殊构造的IP格式来绕过系统的安全机制,从而可能发起攻击可执行WEBSHELL代码或者SSRF攻击。因为这个漏洞具有普遍性,所以我们牛人技术根据各技术人员提供的建议,来对这个漏洞进行手工修复。


修复WordPressIP漏洞
这个漏洞只出现在/wp-includes/http.php文件中,我们可以用notepadd++打开文件然后通过Ctrl+F需找特征码“same_host=strtolower”或者搜索“parsed_home”定位到文件的465行附近的样子,并且找到如下代码;
$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; } ;这里是增加了判断过滤一些潜在的字符格式。
然后在搜索“$parts[0]”或者定位到该文件的478行左右,找到如下代码:
if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0]将这段代码注释,然后在后面增加
if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0]  || 0 === $parts[0]即可,通过增加条件来增加过滤0开头的IP地址。

完成上面的两处修改WordPressIP格式漏洞就基本解决,接下来可以通过阿里云云盾或者其他服务器安全软件来重新验证该漏洞的修复状态。如果你在修复上述漏洞过程中有什么问题或者想请别人帮忙修复,可以随时联系我(Q69693721)协助解决。

本文由作者自行上传发布,文章仅代表作者个人观点。如需转载,务必声明出处和网址,否则保留相关权利。

网友评论 comments

发表评论

电子邮件地址不会被公开。必填项已用 *标注

暂无评论

牛人技术博客 | About US | 湘ICP备13000282号-8 |
Copyright © 2009 - 2023 NRJS Corporation, All Rights Reserved
添加图标到手机桌面
扫二维码
扫二维码
返回顶部