漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-049284
漏洞标题:WanCMS 可修改任意用户密码(源码详析+实例演示)
相关厂商:wancms.com
漏洞作者: lxj616
提交时间:2014-01-19 16:27
修复时间:2014-04-19 16:27
公开时间:2014-04-19 16:27
漏洞类型:设计缺陷/逻辑错误
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-01-19: 细节已通知厂商并且等待厂商处理中
2014-01-20: 厂商已经确认,细节仅向厂商公开
2014-01-23: 细节向第三方安全合作伙伴开放
2014-03-16: 细节向核心白帽子及相关领域专家公开
2014-03-26: 细节向普通白帽子公开
2014-04-05: 细节向实习白帽子公开
2014-04-19: 细节向公众公开
简要描述:
WanCMS 可修改任意用户密码(源码详析+实例演示)
在官方演示站demo.wancms.com做实例测试
(未测试旧版本,据原理分析可能是全版本通杀,本测试使用的版本是站长之家20130102的1.3免费版,官网不明版本演示测试成功)
详细说明:
/app/Lib/Action/AccountsAction.class.php line:580
所以,
1.点击找回密码
2.发送验证邮件
3.计算md5 ( md5 ( $username ) )
4.重置密码
poc:
注:验证时别忘了先点击“发送验证邮件”
可以计算一下poc生成 c1bfd25357a080c23ac5297c8ce6e7d6
漏洞成因总结为:身份令牌可预测
漏洞证明:
修复方案:
$reurl = $config ['DOMAIN'] . '/accounts/forget_password_t?vc=' . md5 ( md5 ( $username ) );
改为:
$reurl = $config ['DOMAIN'] . '/accounts/forget_password_t?vc=' . md5 ( md5 ( $username.$password ) );
前后文按照此方法修改即可,由于攻击者无法预先获知password和random,因此无法再伪造找回密码链接
版权声明:转载请注明来源 lxj616@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:10
确认时间:2014-01-20 14:16
厂商回复:
已修复
最新状态:
暂无