对目标服务器所存在DedeCMS漏洞进行漏洞利用
字数 1489 2025-09-01 11:26:10

DedeCMS漏洞利用教学文档

实验目的

通过前台密码重置、后台账号密码修改,使网站后台可拥有admin权限并可任意上传自定义php文件,了解并掌握Dede CMS的相关漏洞。

漏洞原理

DedeCMS简介

DedeCMS(织梦CMS)是一款基于PHP开发的免费开源内容管理系统(CMS),具有以下特点:

  • 开源免费
  • 模板系统
  • 插件扩展
  • 多语言支持
  • SEO友好
  • 强大的内容管理功能
  • 用户权限管理

漏洞分析

  1. 前台用户密码重置漏洞

    • 设计缺陷存在弱类型问题
    • "safequestion"和"safeanswer"变量用户可控
    • 将"safequestion"重构为"0.0"可以绕过判断
  2. 后台账户密码任意修改漏洞

    • 通过"member/edit_baseinfo.php"可以修改密码
    • 当前台admin用户密码修改时,后台admin用户密码也会被修改
    • 前台admin用户无法直接登录,但可通过此漏洞间接修改后台密码
  3. 后台任意文件上传漏洞

    • 获取后台管理员权限后
    • 可修改网站支持上传的文件类型
    • 上传木马文件与目标服务器建立Shell连接

实验环境

硬件设备

  • 服务器:Windows Server 2008 1台
  • 防火墙:1台
  • 攻击机:Windows 10 1台
  • 网络设备:交换机2台,路由器1台

软件工具

  • 火狐浏览器
  • BurpSuite
  • Hackbar插件

实验步骤

1. 前台用户密码重置

(1) 登录攻击机

启动实验拓扑,选择【攻击机2-Windows】,通过控制台登录。

(2) 访问密码重置页面

  1. 打开火狐浏览器,访问目标网站:http://202.1.10.34
  2. 在会员登录板块点击【忘记密码】按钮
  3. 在用户找回密码页面,用户名填写"admin"

(3) 配置Hackbar

  1. 按F12打开开发者工具
  2. 选择【HackBar】选项卡
  3. 点击【Load URL】并勾选【Post data】
  4. 填写POC:dopost=safequestion&safequestion=0.0&safeanswer=&id=1

(4) 配置浏览器代理

  1. 点击浏览器右上角菜单→【设置】
  2. 选择【常规】→【设置】
  3. 选择【手动配置代理】
  4. 确保与BurpSuite代理设置一致(通常为127.0.0.1:8080)

(5) BurpSuite抓包

  1. 启动BurpSuite
  2. 进入【Proxy】→【Options】确认代理设置
  3. 在【Intercept】选项卡开启拦截(Intercept is on)
  4. 返回浏览器,在Hackbar中点击【Execute】发送请求

2. 后台账户密码修改

  1. 通过抓取的请求分析响应,获取修改密码所需的key值
  2. 构造修改密码的请求,将admin用户密码修改为指定值
  3. 由于前台修改会影响后台,此时后台admin密码也被同步修改

3. 后台任意文件上传

  1. 使用新密码登录后台管理系统
  2. 在系统设置中找到文件上传类型配置
  3. 添加.php等可执行文件类型到允许上传列表
  4. 通过文件管理功能上传Webshell
  5. 访问上传的Webshell,建立与服务器的连接

防御措施

  1. 及时更新:保持DedeCMS系统为最新版本
  2. 权限控制:限制后台访问IP,使用强密码
  3. 文件上传限制:严格控制可上传文件类型
  4. 输入验证:对所有用户输入进行严格过滤
  5. 安全配置:禁用不必要的功能和服务
  6. 日志监控:定期检查系统日志,发现异常行为

总结

本实验通过利用DedeCMS的三个关键漏洞(前台密码重置、后台密码同步修改和任意文件上传),实现了从普通用户到系统完全控制的过程。理解这些漏洞的原理和利用方法,有助于更好地防御此类攻击。

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的三个关键漏洞(前台密码重置、后台密码同步修改和任意文件上传),实现了从普通用户到系统完全控制的过程。理解这些漏洞的原理和利用方法,有助于更好地防御此类攻击。