IPBUF安全漏洞报告
English
CVE-2017-20239 CVSS 6.1 中危

CVE-2017-20239 MDwiki 跨站脚本漏洞

披露日期: 2026-04-12

漏洞信息

漏洞编号
CVE-2017-20239
漏洞类型
跨站脚本 (XSS)
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
MDwiki

相关标签

XSSDOM XSSMDwikiCVE-2017-20239Web安全

漏洞概述

MDwiki 存在一处跨站脚本(XSS)安全漏洞,允许远程攻击者利用 location hash 参数注入恶意代码。攻击者可构造特制的 URL 链接,在哈希片段中植入 JavaScript 有效载荷。当受害者访问该链接时,MDwiki 会在未经充分清理的情况下解析并渲染该内容,导致恶意脚本在受害者的浏览器上下文中自动执行。此漏洞可被用于窃取会话 Cookie、重定向用户或执行其他客户端攻击行为。

技术细节

该漏洞属于典型的基于 DOM 的跨站脚本漏洞(DOM XSS)。其根本原因在于 MDwiki 前端 JavaScript 代码在处理 URL 片段标识符(即 Location Hash)时缺乏有效的安全验证机制。具体而言,当用户访问包含特定 hash 参数的 URL 时,应用会读取 `window.location.hash` 的值,并尝试将其解析为页面导航或内容渲染的一部分。在这个过程中,应用程序直接将未经过滤的字符串动态插入到 DOM 树中,未进行 HTML 实体编码或使用安全的 DOM API。攻击者可利用此缺陷,构造包含恶意 HTML/JavaScript 标签的 URL(例如利用 `<img>` 标签的 `onerror` 事件)。由于哈希部分内容仅由客户端处理,传统的服务器端防火墙往往难以拦截,增加了攻击的隐蔽性和成功率。

攻击链分析

STEP 1
侦察
攻击者识别出使用 MDwiki 构建的目标网站。
STEP 2
武器化
攻击者构造包含恶意 JavaScript 代码的 URL,将 payload 放置在哈希(#)参数中。
STEP 3
投递
攻击者通过网络钓鱼、社交媒体或其他方式将恶意链接发送给受害者。
STEP 4
利用
受害者点击链接访问目标网站,前端 JavaScript 解析哈希参数并直接渲染,导致恶意代码在浏览器中执行。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- Proof of Concept for CVE-2017-20239 --> <!-- The vulnerability is triggered by injecting a payload into the location hash. --> <!-- Example Exploit URL --> <!-- http://target/mdwiki.html#<img src=x onerror=alert(1)> --> <!DOCTYPE html> <html> <body> <h3>CVE-2017-20239 PoC</h3> <p>Click the link below to test the vulnerability:</p> <!-- The payload inside the hash executes when the victim clicks --> <a href="http://victim-site/mdwiki.html#<script>alert(document.cookie)</script>">Test Exploit</a> </body> </html>

影响范围

MDwiki

防御指南

临时缓解措施
在官方补丁发布前,建议管理员部署 Web 应用防火墙(WAF)规则以检测和拦截包含恶意脚本的 URL 请求。此外,可以通过配置浏览器安全策略或修改前端代码,对 `window.location.hash` 进行 HTML 实体编码处理,从而缓解 XSS 风险。用户应提高警惕,避免点击来源不明的链接。

参考链接

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