wordpress函数wp_http_validate_url畸形IP绕过验证SSRF漏洞

阿里云提示: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进行验证,个人简单测试用例结果:

wordpress函数wp_http_validate_url畸形IP绕过验证SSRF漏洞_第1张图片

网上转(讹)载(传)的修改方法

wordpress函数wp_http_validate_url畸形IP绕过验证SSRF漏洞_第2张图片

这个是什么意思呢?懂代码的都知道它只是判断域名,没对IP做验证,所以这样或许可以骗过阿里云的漏洞检测(我没去试),但是这样仍然是没有真正意义上的修复漏洞,那么……

各位看官觉得有什么不对的可评论指出,have  fun~

你可能感兴趣的:(wordpress)