一、漏洞概述
1 简介
织梦内容管理系统(DedeCms) [1] 以简单、实用、开源而闻名,是国内
最知名的 PHP 开源网站管理系统,也是使用用户最多的 PHP 类 CMS 系统,
在经历多年的发展,目前的版本无论在功能,还是在易用性方面,都有了长
足的发展和进步,DedeCms 免费版的主要目标用户锁定在个人站长,功能
更专注于个人网站或中小型门户的构建,当然也不乏有企业用户和学校等在
使用该系统。
2018 年 1 月 10 日, 锦行信息安全公众号公开了一个关于 DeDeCMS
前台任意用户密码修改漏洞的细节[2]。
2018 年 1 月 10 日,Seebug 漏洞平台[3]收录该漏洞,漏洞编号为
SSV-97074,知道创宇 404 漏洞应急团队成功复现该漏洞。
2 漏洞限制
1、 只影响前台账户
2、 只能修改未设置安全问题的账户
二.漏洞复现
1 复现环境
PHP 5.6
DeDeCMSV5.7SP2 正式版(2018-01-09)
2 2 复现过程及结果
安装 DeDeCMS
利用PHPstudy安装环境
域名可以自己填写:
域名/uploads/install/index.php进入安装页面。
进入后除了数据库密码是在PHPstudy查看,其它默认就行。
安装织梦管理系统之后(最好保存目前网站,这是你的会员登录网站)
开启会员模式之后保存操作。
进入会员界面退出登录:
退出admin之后,新注册一个没有安全问题的账号:
之后再登陆admin账号,可以查看到test账号:
域名/member/resetpassword.php?dopost=safequestion&safequestion=0.0&safeanswer=&id=2
用burp抓包得到key.
域名/member/resetpassword.php?dopost=getpasswd&id=2
这里的临时密码就是key。
密码修改完成。
再登录就可以登录账号了。
三、漏洞影响范围
通过 ZoomEye 网络空间探测引擎进行探测,以下为网络空间上所有的使用
了 DeDeCMS 的网站,总数超过 43 万条:
四、防护方案
1、官方修复方案
截至漏洞简报完成时,DeDecms 官方还未推出修复补丁。
2、临时修复方案
网站管理人员可以通过修改漏洞位置的判断条件来临时防御该漏洞。
修改文件/member/resetpassword.php 第 84 行
将其中的==修改为===
3、 通用防御方案
使用第三方防火墙进行防护(如创宇盾[https://www.yunaq.com/cyd/])。