漏洞概要
关注数(74)
关注此漏洞
漏洞标题: PHPCMS设计缺陷可重置前台任意用户密码
提交时间: 2015-11-06 12:39
公开时间: 2015-12-17 14:48
漏洞类型: 设计缺陷/逻辑错误
危害等级: 中
自评Rank: 10
漏洞状态:
厂商已经确认
漏洞详情
披露状态:
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
厂商回复:
感谢发现
最新状态:
暂无
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值
漏洞评价(共0人评价):
评价
-
2015-11-06 12:41 |
玉林嘎
( 普通白帽子 |
Rank:933 漏洞数:107 )
0
-
2015-11-06 12:43 |
小川
( 核心白帽子 |
Rank:1583 漏洞数:236 | 一个致力要将乌云变成搞笑论坛的男人)
0
-
2015-11-06 12:43 |
DNS
( 普通白帽子 |
Rank:748 漏洞数:81 | root@qisec.com)
0
-
2015-11-06 13:02 |
h3hz
( 实习白帽子 |
Rank:42 漏洞数:5 )
0
-
2015-11-06 13:19 |
啊L川
( 普通白帽子 |
Rank:195 漏洞数:39 | 菜鸟 ,菜渣, 菜呀!)
0
-
2015-11-06 13:22 |
qhwlpg
( 普通白帽子 |
Rank:260 漏洞数:64 | http://sec.tuniu.com)
0
-
2015-11-06 14:00 |
Looke
( 普通白帽子 |
Rank:1227 漏洞数:154 | Shell)
0
-
2015-11-06 14:01 |
泳少
( 普通白帽子 |
Rank:248 漏洞数:82 | ★ 梦想这条路踏上了,跪着也要...)
0
-
2015-11-06 14:32 |
小红猪
( 普通白帽子 |
Rank:322 漏洞数:58 | little red pig!)
0
-
2015-11-06 14:40 |
大师兄
( 实习白帽子 |
Rank:31 漏洞数:8 | 每日必关注乌云)
0
-
2015-11-06 15:17 |
带头大哥
( 普通白帽子 |
Rank:760 漏洞数:226 | |任意邮件伪造| |目录遍历| |任意文件读取|...)
0
-
2015-11-06 15:19 |
大师兄
( 实习白帽子 |
Rank:31 漏洞数:8 | 每日必关注乌云)
1
-
2015-11-10 17:02 |
Walle
( 路人 |
Rank:0 漏洞数:5 | ... 位卑、未敢忘忧国! ...)
0
-
2015-12-06 17:20 |
HaLit
( 路人 |
Rank:2 漏洞数:1 | 做个优秀的白帽子)
0
-
2016-01-10 14:54 |
深夜买醉
( 路人 |
Rank:6 漏洞数:2 | 没啥好介绍的,大牛太多了)
0
是不是两个username=? 后面用'可以注入 那个