当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0137713

漏洞标题:老A电商设计缺陷重置用户密码(修改绑定手机/修改绑定邮箱)

相关厂商:上海元轼信息咨询有限公司

漏洞作者: soFree

提交时间:2015-08-29 09:24

修复时间:2015-10-13 09:26

公开时间:2015-10-13 09:26

漏洞类型:设计缺陷/逻辑错误

危害等级:高

自评Rank:20

漏洞状态:未联系到厂商或者厂商积极忽略

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-08-29: 积极联系厂商并且等待厂商认领中,细节不对外公开
2015-10-13: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

背景:俺下班浏览电商新闻的时候无意看到还有个公司叫老A电商,貌似不是小企业,于是兴起,挖一挖,见谅,见谅~
问题:老A电商,可批量重置密码+修改绑定手机+修改绑定邮箱,危害极大:结合这3个漏洞,攻击者可永久挟持该账号。原因你们懂的

详细说明:

1.忘记密码处,可重置任意账号密码
a.首先走正常流程,填写要找回密码的账号并输入图片验证码:https://account.13980.com/account/CheckfindPassword1

找回密码第一步.png


b.直接发送第三步录入新密码的请求:
https://account.13980.com/account/checkfindPassword3
(第一步操作目的是为了让该会话id跟账号之间建立对于关系,不然系统哪知道你第三步是在给谁录入新密码呀)

忘记密码处,重置任意账号密码.png


c.登录看看重置成功与否

admin账号成功登陆.png


靠,居然admin账号里面米有钱钱呀!!!

amin账号支付中心.png


这里有一个问题也很严重,需要指出:
第一步的CheckfindPassword1后,图片验证码没有失效掉,于是产生了一个严重问题,攻击者通过一个脚本重复依次重放这两个请求:
https://account.13980.com/account/CheckfindPassword1
https://account.13980.com/account/checkfindPassword3
只需要遍历修改第一个请求中的账号名,从而实现批量重置大量账号的密码
危害大吗?不大吗?大吗?不大吗。。。
亲,图片验证码提交过一次后一定要失效掉
2.修改绑定手机
a.用户登录后,修改绑定手机处,由于多步操作中没做关联校验,攻击者可以直接提交发送手机号的请求,获取一个验证码:
https://account.13980.com/member/modifyPhone4
b.然后提交新手机号和验证码的请求:
https://account.13980.com/member/modifyPhone5

修改绑定手机号成功.png


其实利用CSFR,这里攻击也有另一种思路:攻击者A构造一个poc表单(表单我就不截图了),发送给登录的正常用户B,该表单里面包含了提交新手机号和验证码的请求:modifyPhone5,至于表单中验证码的值,获取很简单,攻击者A只需要用自己的账号走一下获取验证码的流程:modifyPhone4;然后B在点击该链接后,自己账户的手机号就被恶意修改了,同样的,我们也可以修改其绑定邮箱
3.修改绑定邮箱,思路同上,同样是利用给新邮箱发验证码请求和提交新邮箱和验证码请求:
https://account.13980.com/member/modifyEmail4
https://account.13980.com/member/modifyEmail5
so,不再截图

漏洞证明:

详细见上

修复方案:

1、重要的多步操作,一定要对前后联系做校验,防绕过
2、图片验证码验证一次必须失效掉,防重放,一部分开发只记得短信验证码失效,忘记了图片验证码

版权声明:转载请注明来源 soFree@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝

漏洞Rank:15 (WooYun评价)