WordPress IP验证不当的解决办法及感慨

本文讨论了WordPress中因IP验证不当导致的安全漏洞,黑客可利用此漏洞进行SSRF攻击。文章提供了具体的修复方案,涉及修改http.php文件中的代码,以增强IP验证机制,防止畸形IP的绕过。

阿里云的云盾提醒“WordPress IP验证不当”,具体信息是“wordpress /wp-includes/http.php 文件中的 wp_http_validate_url 函数对输入 IP 验证不当,导致黑客可构造类似于 012.10.10.10 这样的畸形 IP 绕过验证,进行 SSRF”。它残忍的给出了两个方案:“自己流弊自己搞定,自己小白花钱我罩着!”

这样的方式我感觉有点像收保护费的意思,但是确实用户有这个诉求存在,普通用户不可能有精力和能去去盯着和解决安全漏洞。于是这样一个有着商业价值的需求自然会诞生商业的运作并呈现给我们。虽然一般用户是很不情愿花这笔钱的,这就跟现实中一般人请不起保镖一样,更多时候更愿意买一份保险,事后兜底。

为了省钱,当然人家提醒了你有漏洞,你也不能熟视无睹,万一哪天出问题了还是自己损失。于是我们下意识的搜索了一下,看看是不是有大侠放出了免费的解决办法。一搜之下,还真多,仔细看看基本是复制转帖的。但是看到下面这个感觉“是真的吗?”。就算不懂php,你这修不修改不是一回事么?传播的还挺广泛…这些人复制粘贴根本不管对错,让人有点担忧。

if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0] 将这段代码注释,然后在后面增加

if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0] || 0 === $parts[0] 即可

其实是两处修改的地方,在wordpress目录下找到 wp-includes/http.php

第一处

/*将这一行代码 删除 */
$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;
};

第二处

(新版本WordPress此处已修改)

/*将这一行代码 删除 */
if ( 127 === $parts[0] || 10 === $parts[0]

/* 并添加修改为这样 */
if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0]

现在用wordpress的用户确实越来越少了,加入的新用户少,旧有的用户在流失。最起码流行的也是“hexo + github”打一个静态博客。复制粘贴型的重量级选手当然是那些伪自媒体,开个百家号,在知道问答里恣意粘贴着所谓的回答,粘贴着连自己都不知道对错的是是而非的答案。好心又廉价的小白也在盲目转帖转发而根本不去深究。

导致的就是一个错误修复代码悄无声息的传播了,虽然附加的代码没什么危害,但这种众人盲目的行为确实又开启了一个漏洞,为社会工程学攻击提供的一种途径。

参考:

相对有效修复方案文章

转载于:https://my.oschina.net/ccor/blog/2393764

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值