WordPress IP 验证不当漏洞修复

  • A+
所属分类:WordPress

WordPress /wp-includes/http.php 文件中的 wp_http_validate_url 函数对输入 IP 验证不当,导致黑客可构造类似于 012.10.10.10 这样的畸形 IP 绕过验证,进行 SSRF。

解决方案:

找到/wp-includes/http.php 这个文件,大概在文件 465 行,修改文件前记得先备份 http.php 原文件,这是个好习惯:

  1. $same_host = strtolower$parsed_home['host'] ) === strtolower$parsed_url['host'] );
  2. 改成
  3. if ( isset( $parsed_home['host'] ) ) { $same_host = ( strtolower$parsed_home['host'] ) === strtolower$parsed_url['host'] ) || 'localhost' === strtolower$parsed_url['host'] ) ); } else { $same_host = false; } ;

在文件的 478 行左右找到

  1. if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0]
  2. 修改为:
  3. if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0] || 0 === $parts[0]

 

历史上的今天:

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: