DeDecms任意密码重置漏洞预警



0x01 关键词

            DeDecms  任意密码重置

0x02 背景:

近日,补天漏洞响应平台监测到网络上出现了DeDecms任意密码重置漏洞,通过此漏洞可导致网站用户任意密码被重置,使用该CMS的企业均受此影响。

补天漏洞平台对此次事件进行了技术分析,鉴于该漏洞可直接重置任意账户密码,建议相关企业尽快进行安全评估。

0x03 情报通告:

发现时间

20190324

威胁目标

使用DeDecms的企业

主要风险

任意密码重置

攻击入口

resetpassword.php文件

使用漏洞

CVE-2019-10014

受影响应用

DeDecms V5.7 SP2最新版本

已知影响

任意用户密码被重置

威胁程度


0x04 威胁程度:

个人风险评级:高危

企业风险评级:中危

情报风险预警:对公司影响等级为,对使用DeDecms的企业均有被攻击的风险。


0x05 情报描述:

  DeDecms是使用用户最多的PHPcms系统,此次该CMS的任意密码重置漏洞通过遍历UID的方式获取返回的静态gourl跳转地址,而CMS未对更改密码的跳转地址进行参数隐藏导致更改密码的临时密码被泄露,泄露以后构造URL传入临时密码可以不需要任何验证即可更改任意用户密码。

0x06 漏洞描述:

本地搭建DeDecms,登录TEST1,测试获取TEST2的账号

11.png

构造URL

22.png

获取key值即临时密码:

33.png

输入构造好的payload,即可无条件修改密码。


44.png

55.png

我们可以看到,TEST2的密码已被更改。

代码审计:

我们来到resetpassword.php中,该文件主要用于更改密码的相关规则。我们可以看到,传入dopost参数为safequestion时,未对safequestion进行判断,导致未设置安全问题的账户可被验证通过返回临时密码KEY值。

66.png

KEY值在common.func.phpfunction JumpUrl中直接被明文返回,导致KEY值泄露,黑客可利用被泄露的KEY值进行任意密码更改。

77.png

0x08相关漏洞

CVE-2019-10014



受影响产品及版本:

DeDecms V5.7 SP2最新版本    DeDecms V5.7 SP2


解决方案:

0x09总结以及处置建议

处置建议

等待DeDeCMS官方进行修复。

补天临时修复方案:

修改\member\resetpassword.php,找到75行 else if($dopost == safequestion),大括号内新增

        if($safequestion == 0.0)

    {

        ShowMsg(对不起,请不要非法提交,login.php);

        exit();

    }

88.png

修复成功:

TIM截图20190325130811.png

参考资料:

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10014

https://blog.csdn.net/yalecaltech/article/details/88594388

0x10附录

个人风险等级与威胁系数

风险等级

威胁系数

高危

70~100

中危

40~70

低危

20~40


企业风险等级与威胁系数

风险等级

威胁系数

严重

90~100

高危

70~90

中危

40~70

低危

20~40

无影响

0~20