漏洞概要 关注数(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标签: 无
漏洞详情
披露状态:
2015-08-29: 积极联系厂商并且等待厂商认领中,细节不对外公开
2015-10-13: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
背景:俺下班浏览电商新闻的时候无意看到还有个公司叫老A电商,貌似不是小企业,于是兴起,挖一挖,见谅,见谅~
问题:老A电商,可批量重置密码+修改绑定手机+修改绑定邮箱,危害极大:结合这3个漏洞,攻击者可永久挟持该账号。原因你们懂的
详细说明:
1.忘记密码处,可重置任意账号密码
a.首先走正常流程,填写要找回密码的账号并输入图片验证码:https://account.13980.com/account/CheckfindPassword1
b.直接发送第三步录入新密码的请求:
https://account.13980.com/account/checkfindPassword3
(第一步操作目的是为了让该会话id跟账号之间建立对于关系,不然系统哪知道你第三步是在给谁录入新密码呀)
c.登录看看重置成功与否
靠,居然admin账号里面米有钱钱呀!!!
这里有一个问题也很严重,需要指出:
第一步的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
其实利用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评价)