阿里云提示:wordpress /wp-includes/http.php文件中的wp_http_validate_url函数对输入IP验证不当,导致黑客可构造类似于012.10.10.10这样的畸形IP绕过验证,进行SSRF;
修复方法:
http.php 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)
既增加对0开头的012.10.10.10这样的IP进行验证,个人简单测试用例结果:
网上转(讹)载(传)的修改方法
这个是什么意思呢?懂代码的都知道它只是判断域名,没对IP做验证,所以这样或许可以骗过阿里云的漏洞检测(我没去试),但是这样仍然是没有真正意义上的修复漏洞,那么……
各位看官觉得有什么不对的可评论指出,have fun~