一漏洞介绍
1.未验证邮箱/手机号
情景:应用为了方便用户记录用户名,使用邮箱和手机号作为用户名(因此很多应用在注册的时候就要求用户填写,多数时候都会给用户发送激活信息,激活后才能登录)
缺陷:
- 未审核邮箱/手机号是否有效(及未发送验证信息),从而实现任意注册账号
- 未验证数据库中是否已经存在相同的用户名(导致同一账号,有2个密码,且用户数据产生读取问题)
2、不安全验证邮箱/手机号
用户注册邮箱/手机号提交后,会通过发验证码等方法对其真实性进行验证
缺陷:
- 返回的验证码:验证码信息会隐藏在返回包中,或hidden属性隐藏,或者是可以伪zao该信息,劫chi到验证信息
- 分布验证/多步填写等情况:第一步填写的时候验证完成以后,后面并未对账号进行再次验证,通过修改数据包中已验证的邮箱/手机
- 验证未绑定:使用自己邮箱/手机获取验证码后,在其他账号上使用
3.批量注册
(提示:危害不足)
通常由于无验证码或者验证码不安全,再对用户名进行爆破即可
4.个人信息伪造
(提示:有的行业会危害不足,防沉迷可能不一样)
需填写身份证等信息,可任意构造绕过身份证与姓名(一般网站危害不足)
如果是防沉迷系统存在此类问题(危害应该足了)
5.前端验证审核绕过
- 任意填写注册信息,服务器会对信息进行审核,并通过返回状态给前端判断(如检测是否存在恶意标签等,对返回的状态可修改绕过)
- 步骤
使用正常账号或合规操作执行,拦截返回信息(判断信息)
使用需要绕过检测的操作,并将服务器返回判断信息替换为正确时的
6.用户名覆盖
未对数据库中的账号进行核对是否已经存在
利用地方:注册账号、修改个人信息
二实战演示
1.当我正在寻找漏洞的时候突然发现了一个站点的注册功能模块
当然要用burp抓包看一看有没有短信轰炸和任意用户登录之类的逻辑漏洞
2.使用burp抓包显示该手机号未被注册,抓包发送验证码
3.使用134的手机号接收验证码,验证码为657814
4.在注册页面修改电话号为153的电话号,输入使用134接收到的验证码,显示成功注册
三漏洞修复
对新注册用户的绑定手机号进行短信身份认证,短信验证码请不要仅使用短数字,最好是以字母加数字进⾏组合,并且验证码需要限定过期时间和验证错误次数,防止短信验证码被暴力破解
申明:本公众号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,
所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.
没看够~?欢迎关注!
免费领取安全学习资料包!
渗透工具
技术文档、书籍
面试题
帮助你在面试中脱颖而出
视频
基础到进阶
环境搭建、HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等
应急响应笔记
学习路线