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

阿里云提示:wordpress /wp-includes/http.php文件中的wp_http_validate_url函数对输入IP验证不当,致使黑客可构造相似于012.10.10.10这样的畸形IP绕过验证,进行SSRF;php

修复方法:wordpress

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

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

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

各位看官以为有什么不对的可评论指出,have  fun~blog