WEB漏洞-逻辑越权之找回机制及接口安全
找回重置机制
- 通过验证码确定你是不是找回账号的主人,可能出现逻辑问题
- 客户端回显(验证码在客户端或者浏览器里面可以看到)
- Response 状态值(有回复的状态值如0/1,我们可以更改状态值来实现绕过)
- 验证码爆破(验证码是简单的数字码,而且验证码短时间不会改变(验证码有生效时间)(验证码有输入次数限制))
- 找回流程绕过(找回成功后会跳转到另外一个页面,先通过一个正常用户去获取跳转的URL和数据包,再换一个用户去访问第三部(跳过验证))
接口调用乱用
- 短信轰炸,来电轰炸等(有些网站有发送数据包的功能,截获网站验证码的数据包,然后利用软件或者程序去进行批量测试,即调用别人网站的接口来实现短信轰炸)
墨者靶场密码重置-验证码套用
- 尝试使用提示的手机号,获取验证码
- 再打开一个页面,用另一个手机号去填写之前那个页面获取到的验证码
- 未验证短信验证码与手机的匹配关系(却验证了短信验证码与图片验证码)。
- 服务器端应该是只检查是否发送过验证码,但未验证验证码与手机号的匹配关系,导致任意账号重置
手机邮箱验证码逻辑-客户端回显
邮箱验证
抓包分析(这里直接可以看到验证码,也就是说不用邮件查看也知道验证码)
绑定手机验证码逻辑-Rep 状态值篡改
进入靶场修改个人密码
抓包分析
查看数据包的回显(错误回显:{"code":206,"data":"","msg":"短信验证码不正确!"})
将正确的验证码发出,然后抓包获取正确的回显(正确的回显:{"code":200,"data":"13548030232","msg":""})
随意输入验证码,截获返回的数据包,然后放出数据包
发现返回的数据包,错误的回显
将错误的回显修改为正确的回显
发现进入了重置的界面,绕过了验证码
找回流程绕过的原理分析
- 重置密码的步骤:1.发送验证码2.验证3.重置密码
- 流程绕过原理:1直接=》到3,跳过了验证
- 测试:将3个数据包都抓到,在1数据包到2数据包的时候,用工具拦截,直接加载第三个界面
找回密码验证码逻辑-爆破测试
PHP云平台爆破
- 抓取数据包,将code发送爆破(如果是数字,就可以直接爆破,如果是英文,就要用字典)
- 前提条件:1.验证码的存活时间2.验证码的输入次数限制3.有些短信验证码输入一次就改一次(就没法爆破)
- 如果是直接显示的图片验证码(这里要识别验证码(插件自动识别))(如果是拖动或者识别的验证码就更加复杂)
最后一次更新于2022-02-16 15:59
0 条评论