WEB漏洞-逻辑越权之找回机制及接口安全

QQ截图20220211093334.jpg

找回重置机制

  • 通过验证码确定你是不是找回账号的主人,可能出现逻辑问题
  • 客户端回显(验证码在客户端或者浏览器里面可以看到)
  • Response 状态值(有回复的状态值如0/1,我们可以更改状态值来实现绕过)
  • 验证码爆破(验证码是简单的数字码,而且验证码短时间不会改变(验证码有生效时间)(验证码有输入次数限制))
  • 找回流程绕过(找回成功后会跳转到另外一个页面,先通过一个正常用户去获取跳转的URL和数据包,再换一个用户去访问第三部(跳过验证))

接口调用乱用

  • 短信轰炸,来电轰炸等(有些网站有发送数据包的功能,截获网站验证码的数据包,然后利用软件或者程序去进行批量测试,即调用别人网站的接口来实现短信轰炸)

墨者靶场密码重置-验证码套用

QQ截图20220216145939.jpg

  • 尝试使用提示的手机号,获取验证码

QQ截图20220216150026.jpg

  • 再打开一个页面,用另一个手机号去填写之前那个页面获取到的验证码
  • 未验证短信验证码与手机的匹配关系(却验证了短信验证码与图片验证码)。
  • 服务器端应该是只检查是否发送过验证码,但未验证验证码与手机号的匹配关系,导致任意账号重置

QQ截图20220216150439.jpg

手机邮箱验证码逻辑-客户端回显

邮箱验证

QQ截图20220216153241.jpg

抓包分析(这里直接可以看到验证码,也就是说不用邮件查看也知道验证码)

QQ截图20220216153259.jpg

绑定手机验证码逻辑-Rep 状态值篡改

进入靶场修改个人密码

QQ截图20220216155354.jpg

抓包分析

QQ截图20220216155415.jpg

查看数据包的回显(错误回显:{"code":206,"data":"","msg":"短信验证码不正确!"})

QQ截图20220216155506.jpg

将正确的验证码发出,然后抓包获取正确的回显(正确的回显:{"code":200,"data":"13548030232","msg":""})

QQ截图20220216155538.jpg

随意输入验证码,截获返回的数据包,然后放出数据包

QQ截图20220216155726.jpg

发现返回的数据包,错误的回显

QQ截图20220216155754.jpg

将错误的回显修改为正确的回显

QQ截图20220216155813.jpg

发现进入了重置的界面,绕过了验证码

QQ截图20220216155831.jpg

找回流程绕过的原理分析

  • 重置密码的步骤:1.发送验证码2.验证3.重置密码
  • 流程绕过原理:1直接=》到3,跳过了验证
  • 测试:将3个数据包都抓到,在1数据包到2数据包的时候,用工具拦截,直接加载第三个界面

找回密码验证码逻辑-爆破测试

PHP云平台爆破

  • 抓取数据包,将code发送爆破(如果是数字,就可以直接爆破,如果是英文,就要用字典)
  • 前提条件:1.验证码的存活时间2.验证码的输入次数限制3.有些短信验证码输入一次就改一次(就没法爆破)
  • 如果是直接显示的图片验证码(这里要识别验证码(插件自动识别))(如果是拖动或者识别的验证码就更加复杂)