非官方:WordPress 2.8.3漏洞及修复

这个问题是国外一位爱好者发现的,被WopusIDC一个用户含笑发现,并及时在WopusIDC群里通报。

BUG描述:

漏洞文件:wp-login.php

漏洞产生原因:WordPress < = 2.8.3 Remote admin reset password

说白了就会跳过验证码重新设置管理员的密码,但是管理员不会收到邮件,攻击者也无法得知被修改的密码是什么。

但如果能取得管理员的mail权限,博客权限也就拿下了。

BUG修复:

修复方法:WP官方目前尚未发布该漏洞的patch,建议暂时禁用密码找回功能。临时解决方法如下:

使用编辑器打开wp-login.php文件,搜索

function reset_password($key) {

在函数的的第一行直接插入错误返回代码:

return new WP_Error('invalid_key', __('Invalid key'));

题外话:及时升级,多关注WordPress。
另外,尽量抹去自己博客的版本号,因为2.7也出现过这样的问题。漏洞都是针对某一个版本,所以隐藏版本号能很好的保护自己。

类似文章

14条评论

  1. 有点不明白啊。
    “重新设置管理员的密码,但是管理员不会收到邮件”
    那“取得管理员的mail权限”,那还是拿不到密码啊。

  2. 2.83版本以及之前的版本都有这个问题,修复方法:
    1. 立即升级到2.84版本;2.修改wp-login.php文件,将190行的代码:if ( empty( $key ) ) 修改为: if ( empty( $key ) || is_array( $key ) )。
    更多请参考:http://www.ihiro.org/the-reason-of-update-password-reset-loophole
    (官方收集)
    http://core.trac.wordpress.org/changeset/11798

已关闭评论。