小小地记录下奇奇怪怪的逻辑漏洞【一次任意登录漏洞挖掘,快人一步】---系列篇(一)
在登录界面,输入手机号,点击“获取验证码”,此时拦截数据包;
POST /xxx/xxx/getSmsCode.do HTTP/1.1
Host: xx.xx.xx.xx
Connection: close
Content-Length: 496
Accept: application/json, text/plain, */*
Origin: https://xx.xx.xx.xx
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36 QBCore/4.0.1301.400 QQBrowser/9.0.2524.400 Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2875.116 Safari/537.36 NetType/WIFI MicroMessenger/7.0.5 WindowsWechat
Content-Type: application/x-www-form-urlencoded
Referer: https://xx.xx.xx.xx
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.5;q=0.4
Cookie: JSESSIONID=xx; Hm=xx; Hm=xx
phone=45fa49bxxxxxxxxxxxxxxxxx61&type=xxxxxx
1.这时候可能有师傅选择正面硬刚,破解加密的算法,然后修改为自用的手机号,再还原加密,完成替换;
2.而我当时突然想到一种取巧的方法,再新开个标签-登录页面,然后使用自用的手机号尝试登录,获取对应的数据流量,从中得到加密好的要用到的手机号(自用)
将上述数据包中phone替换为自用手机号1xx****1xx,具体参数值为8f63d5de3ac147e99ab76a6e28f8c7d9040dda8549d6a4dxxxxxxxxxxxxxxxxxxxxxxxxff80b9a99d49c3b5c5bb58f2880c184cd458131xxxxxxxba9c(图现在找不到了,别介意哈;关键是思路)
使用发送给自用手机号1xx****27的验证码,填入;
成功登录原账号,查看所有信息(全部订单等):
漏洞常规流程总结:
修改手机号为自用手机号,接收并使用该验证码,登录其他账号(手机号),至此实现任意登录,还快了那么一小步;小小TIPS,助己在竞测中快人一小步。
再来一个修复建议好了:
在服务器进行有效性验证,手机号和验证码在服务器进行唯一性绑定验证;在服务端限制验证码发送周期,设置时效,限制次数。
如有错误,欢迎各位师傅斧正;或者打码不慎的,也请各位师傅小小地提醒下,不胜感激。
原创声明:本文作者【Vh0use】转载本文请标注出处和作者,感谢!
- 点赞
- 收藏
- 关注作者
评论(0)