漏洞概要
关注数(24)
关注此漏洞
漏洞标题:PHPCMS设计缺陷可重置前台任意用户密码
提交时间:2015-11-06 12:39
修复时间:2015-12-17 14:48
公开时间:2015-12-17 14:48
漏洞类型:设计缺陷/逻辑错误
危害等级:中
自评Rank:10
漏洞状态:厂商已经确认
Tags标签:
无
漏洞详情
披露状态:
2015-11-06: 细节已通知厂商并且等待厂商处理中
2015-11-06: 厂商已经确认,细节仅向厂商公开
2015-11-09: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航)
2015-12-31: 细节向核心白帽子及相关领域专家公开
2016-01-10: 细节向普通白帽子公开
2016-01-20: 细节向实习白帽子公开
2015-12-17: 细节向公众公开
简要描述:
验证逻辑设计缺陷.
详细说明:
\phpcms\modules\member\index.php:
通过用户名找回密码方式存在设计缺陷。找回密码流程可分作三步来看:
步骤1: 客户端提交用户名,服务端在数据库中查询记录,如果存在此用户就在session中保存用户身份信息;
步骤2: 生成验证码并保存在session,然后将验证码发往用户注册邮箱;
步骤3: 服务端将客户端提交的验证码与session中保存的进行比对,验证通过后重置用户密码。
从代码中可以看到验证码没有绑定用户身份,这样就导致可以使用用户A的验证码来重置用户B的密码。
使用用户A(可控账户)走正常密码找回流程来获取验证码,但不使用,然后再使用用户B(要攻击的账户)走步骤1,接着跳过步骤2使用前面获取到的验证码直接走步骤3,就能重置用户B的密码了。
漏洞证明:
http://**.**.**.**/index.php?m=member&c=index&a=public_get_password_type
选择“通过用户名找回密码”
输入自己的账户获取验证码:
回到第一步输入要重置的用户名:
使用前边获取的验证码直接重置密码:
登录成功:
修复方案:
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:7
确认时间:2015-11-06 14:17
厂商回复:
感谢发现
最新状态:
暂无
漏洞评价:
评价
-
2015-11-06 12:41 |
玉林嘎 ( 核心白帽子 | Rank:933 漏洞数:107 )
-
2015-11-06 12:43 |
小川 ( 核心白帽子 | Rank:1561 漏洞数:234 | 一个致力要将乌云变成搞笑论坛的男人)
-
2015-11-06 12:43 |
DNS ( 普通白帽子 | Rank:711 漏洞数:73 | root@qisec.com)
-
2015-11-06 13:02 |
h3hz ( 实习白帽子 | Rank:42 漏洞数:5 )
-
2015-11-06 13:19 |
啊L川 ( 普通白帽子 | Rank:195 漏洞数:39 | 菜鸟 ,菜渣, 菜呀!)
-
2015-11-06 13:22 |
qhwlpg ( 普通白帽子 | Rank:260 漏洞数:63 | 潜心代码审计。)
-
2015-11-06 14:00 |
Looke ( 普通白帽子 | Rank:1041 漏洞数:129 )
-
2015-11-06 14:01 |
泳少 ( 普通白帽子 | Rank:233 漏洞数:81 | ★ 梦想这条路踏上了,跪着也要...)
-
2015-11-06 14:32 |
小红猪 ( 普通白帽子 | Rank:285 漏洞数:54 | little red pig!)
-
2015-11-06 14:40 |
大师兄 ( 实习白帽子 | Rank:31 漏洞数:8 | 每日必关注乌云)
-
2015-11-06 15:17 |
带头大哥 ( 普通白帽子 | Rank:548 漏洞数:170 | |任意邮件伪造| |目录遍历| |任意文件读取|...)
-
2015-11-06 15:19 |
大师兄 ( 实习白帽子 | Rank:31 漏洞数:8 | 每日必关注乌云)
-
2015-11-10 17:02 |
Walle ( 路人 | Rank:0 漏洞数:5 | ... 位卑、未敢忘忧国! ...)
-
2015-12-06 17:20 |
HaLit ( 路人 | Rank:2 漏洞数:1 | 做个优秀的白帽子)
-
2016-01-10 14:54 |
深夜买醉 ( 路人 | Rank:6 漏洞数:2 | 没啥好介绍的,大牛太多了)
是不是两个username=? 后面用'可以注入 那个