Easy WP SMTP(v1.3.9)0 day漏洞被攻击的过程和复现
字数 1237 2025-08-18 11:38:36

Easy WP SMTP (v1.3.9) 0day漏洞分析与复现指南

漏洞概述

Easy WP SMTP插件v1.3.9版本存在一个严重的0day漏洞,允许未经身份验证的攻击者通过AJAX请求执行管理功能,包括修改WordPress设置、创建管理员账户等。该漏洞于2019年3月被发现并修复,官方在v1.3.9.1版本中修复了此漏洞。

漏洞影响

  • 影响版本:Easy WP SMTP v1.3.9及以下
  • 影响范围:所有使用受影响版本插件的WordPress网站
  • 漏洞类型:权限绕过/功能滥用
  • CVSS评分:高危(具体评分未提供,但实际影响严重)

漏洞原理分析

漏洞存在于easy-wp-smtp.php脚本的admin_init()函数中:

function admin_init() {
    if (defined('DOING_AJAX') && DOING_AJAX) {
        add_action('wp_ajax_swpsmtp_clear_log', array($this, 'clear_log'));
        add_action('wp_ajax_swpsmtp_self_destruct', array($this, 'self_destruct_handler'));
    }
    
    // 其他功能代码...
}

关键问题:

  1. 函数通过admin_init钩子在用户访问管理区域时运行
  2. 包含查看/删除日志、导入/导出配置、更新数据库选项等功能
  3. 没有进行用户权限检查,任何登录用户都可以触发
  4. 由于使用AJAX和admin_init钩子在admin-ajax.php上运行,未经认证的用户也可以执行

攻击流程

  1. 攻击者通过大规模爆破尝试获取有效账户
  2. 发现目标网站使用易受攻击的Easy WP SMTP插件(v1.3.9)
  3. 发送特制的AJAX请求(如action=swpsmtp_clear_log)
  4. 利用插件功能修改WordPress设置:
    • 开启用户注册功能
    • 创建管理员账户
    • 修改网站首页地址
    • 注入恶意脚本实现跳转
  5. 清除攻击痕迹(如清空阻止的IP列表)

漏洞复现步骤

环境准备

  1. 安装WordPress
  2. 安装Easy WP SMTP v1.3.9插件
  3. 确认网站注册功能已关闭

攻击复现

  1. 创建攻击文件(POC),内容如下:

    <?php
    // 构造恶意请求的代码
    ?>
    
  2. 正常请求该文件应返回0

  3. 上传攻击文件到目标服务器

  4. 访问网站登录界面,验证注册功能是否被开启

  5. 尝试注册新账户:

    • 通过邮箱验证流程
    • 确认新注册账户具有管理员权限
  6. 检查是否成功创建攻击者账户(如devipentesting99)

漏洞利用后果

  1. 网站完全被控制
  2. 首页被修改/注入恶意脚本
  3. 多个插件/主题页面被植入恶意代码
  4. 可能上传多个Webshell
  5. 日志被清除,增加溯源难度

防御措施

  1. 立即更新:升级到Easy WP SMTP v1.3.9.1或更高版本
  2. 应急响应
    • 修复被更改的文件
    • 删除所有可疑的Webshell
    • 检查并删除恶意创建的用户账户
  3. 安全加固
    • 使用Web应用防火墙(WAF)
    • 定期备份网站和日志
    • 关注最新漏洞公告并及时更新
  4. 监控措施
    • 监控异常用户注册活动
    • 关注SMTP插件的异常行为

参考资源

  1. NinTechNet漏洞公告
  2. Wordfence漏洞分析

总结

Easy WP SMTP v1.3.9的0day漏洞由于缺乏权限检查,允许攻击者完全控制WordPress网站。该漏洞被广泛利用,导致大量网站被入侵。管理员应及时更新插件,并实施全面的安全监控措施以防止类似攻击。

Easy WP SMTP (v1.3.9) 0day漏洞分析与复现指南 漏洞概述 Easy WP SMTP插件v1.3.9版本存在一个严重的0day漏洞,允许未经身份验证的攻击者通过AJAX请求执行管理功能,包括修改WordPress设置、创建管理员账户等。该漏洞于2019年3月被发现并修复,官方在v1.3.9.1版本中修复了此漏洞。 漏洞影响 影响版本 :Easy WP SMTP v1.3.9及以下 影响范围 :所有使用受影响版本插件的WordPress网站 漏洞类型 :权限绕过/功能滥用 CVSS评分 :高危(具体评分未提供,但实际影响严重) 漏洞原理分析 漏洞存在于 easy-wp-smtp.php 脚本的 admin_init() 函数中: 关键问题: 函数通过 admin_init 钩子在用户访问管理区域时运行 包含查看/删除日志、导入/导出配置、更新数据库选项等功能 没有进行用户权限检查 ,任何登录用户都可以触发 由于使用AJAX和 admin_init 钩子在 admin-ajax.php 上运行, 未经认证的用户也可以执行 攻击流程 攻击者通过大规模爆破尝试获取有效账户 发现目标网站使用易受攻击的Easy WP SMTP插件(v1.3.9) 发送特制的AJAX请求(如 action=swpsmtp_clear_log ) 利用插件功能修改WordPress设置: 开启用户注册功能 创建管理员账户 修改网站首页地址 注入恶意脚本实现跳转 清除攻击痕迹(如清空阻止的IP列表) 漏洞复现步骤 环境准备 安装WordPress 安装Easy WP SMTP v1.3.9插件 确认网站注册功能已关闭 攻击复现 创建攻击文件(POC),内容如下: 正常请求该文件应返回 0 上传攻击文件到目标服务器 访问网站登录界面,验证注册功能是否被开启 尝试注册新账户: 通过邮箱验证流程 确认新注册账户具有管理员权限 检查是否成功创建攻击者账户(如 devipentesting99 ) 漏洞利用后果 网站完全被控制 首页被修改/注入恶意脚本 多个插件/主题页面被植入恶意代码 可能上传多个Webshell 日志被清除,增加溯源难度 防御措施 立即更新 :升级到Easy WP SMTP v1.3.9.1或更高版本 应急响应 : 修复被更改的文件 删除所有可疑的Webshell 检查并删除恶意创建的用户账户 安全加固 : 使用Web应用防火墙(WAF) 定期备份网站和日志 关注最新漏洞公告并及时更新 监控措施 : 监控异常用户注册活动 关注SMTP插件的异常行为 参考资源 NinTechNet漏洞公告 Wordfence漏洞分析 总结 Easy WP SMTP v1.3.9的0day漏洞由于缺乏权限检查,允许攻击者完全控制WordPress网站。该漏洞被广泛利用,导致大量网站被入侵。管理员应及时更新插件,并实施全面的安全监控措施以防止类似攻击。