0x01 关键词: DeDecms 任意密码重置 0x02 背景: 近日,补天漏洞响应平台监测到网络上出现了DeDecms任意密码重置漏洞,通过此漏洞可导致网站用户任意密码被重置,使用该CMS的企业均受此影响。 补天漏洞平台对此次事件进行了技术分析,鉴于该漏洞可直接重置任意账户密码,建议相关企业尽快进行安全评估。 0x03 情报通告:
0x04 威胁程度:个人风险评级:高危 企业风险评级:中危 情报风险预警:对公司影响等级为中,对使用DeDecms的企业均有被攻击的风险。 0x05 情报描述:DeDecms是使用用户最多的PHP类cms系统,此次该CMS的任意密码重置漏洞通过遍历UID的方式获取返回的静态gourl跳转地址,而CMS未对更改密码的跳转地址进行参数隐藏导致更改密码的临时密码被泄露,泄露以后构造URL传入临时密码可以不需要任何验证即可更改任意用户密码。 0x06 漏洞描述:本地搭建DeDecms,登录TEST1,测试获取TEST2的账号 构造URL: 获取key值即临时密码: 输入构造好的payload,即可无条件修改密码。 我们可以看到,TEST2的密码已被更改。 代码审计: 我们来到resetpassword.php中,该文件主要用于更改密码的相关规则。我们可以看到,传入dopost参数为safequestion时,未对safequestion进行判断,导致未设置安全问题的账户可被验证通过返回临时密码KEY值。 而KEY值在common.func.php的function JumpUrl中直接被明文返回,导致KEY值泄露,黑客可利用被泄露的KEY值进行任意密码更改。 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(); } 修复成功: 参考资料: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10014 https://blog.csdn.net/yalecaltech/article/d 0x10附录个人风险等级与威胁系数
企业风险等级与威胁系数
|