对目标服务器所存在DedeCMS漏洞进行漏洞利用
字数 1489 2025-09-01 11:26:10
DedeCMS漏洞利用教学文档
实验目的
通过前台密码重置、后台账号密码修改,使网站后台可拥有admin权限并可任意上传自定义php文件,了解并掌握Dede CMS的相关漏洞。
漏洞原理
DedeCMS简介
DedeCMS(织梦CMS)是一款基于PHP开发的免费开源内容管理系统(CMS),具有以下特点:
- 开源免费
- 模板系统
- 插件扩展
- 多语言支持
- SEO友好
- 强大的内容管理功能
- 用户权限管理
漏洞分析
-
前台用户密码重置漏洞
- 设计缺陷存在弱类型问题
- "safequestion"和"safeanswer"变量用户可控
- 将"safequestion"重构为"0.0"可以绕过判断
-
后台账户密码任意修改漏洞
- 通过"member/edit_baseinfo.php"可以修改密码
- 当前台admin用户密码修改时,后台admin用户密码也会被修改
- 前台admin用户无法直接登录,但可通过此漏洞间接修改后台密码
-
后台任意文件上传漏洞
- 获取后台管理员权限后
- 可修改网站支持上传的文件类型
- 上传木马文件与目标服务器建立Shell连接
实验环境
硬件设备
- 服务器:Windows Server 2008 1台
- 防火墙:1台
- 攻击机:Windows 10 1台
- 网络设备:交换机2台,路由器1台
软件工具
- 火狐浏览器
- BurpSuite
- Hackbar插件
实验步骤
1. 前台用户密码重置
(1) 登录攻击机
启动实验拓扑,选择【攻击机2-Windows】,通过控制台登录。
(2) 访问密码重置页面
- 打开火狐浏览器,访问目标网站:http://202.1.10.34
- 在会员登录板块点击【忘记密码】按钮
- 在用户找回密码页面,用户名填写"admin"
(3) 配置Hackbar
- 按F12打开开发者工具
- 选择【HackBar】选项卡
- 点击【Load URL】并勾选【Post data】
- 填写POC:
dopost=safequestion&safequestion=0.0&safeanswer=&id=1
(4) 配置浏览器代理
- 点击浏览器右上角菜单→【设置】
- 选择【常规】→【设置】
- 选择【手动配置代理】
- 确保与BurpSuite代理设置一致(通常为127.0.0.1:8080)
(5) BurpSuite抓包
- 启动BurpSuite
- 进入【Proxy】→【Options】确认代理设置
- 在【Intercept】选项卡开启拦截(Intercept is on)
- 返回浏览器,在Hackbar中点击【Execute】发送请求
2. 后台账户密码修改
- 通过抓取的请求分析响应,获取修改密码所需的key值
- 构造修改密码的请求,将admin用户密码修改为指定值
- 由于前台修改会影响后台,此时后台admin密码也被同步修改
3. 后台任意文件上传
- 使用新密码登录后台管理系统
- 在系统设置中找到文件上传类型配置
- 添加.php等可执行文件类型到允许上传列表
- 通过文件管理功能上传Webshell
- 访问上传的Webshell,建立与服务器的连接
防御措施
- 及时更新:保持DedeCMS系统为最新版本
- 权限控制:限制后台访问IP,使用强密码
- 文件上传限制:严格控制可上传文件类型
- 输入验证:对所有用户输入进行严格过滤
- 安全配置:禁用不必要的功能和服务
- 日志监控:定期检查系统日志,发现异常行为
总结
本实验通过利用DedeCMS的三个关键漏洞(前台密码重置、后台密码同步修改和任意文件上传),实现了从普通用户到系统完全控制的过程。理解这些漏洞的原理和利用方法,有助于更好地防御此类攻击。