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

知识点

找回重置机制

  • 客户端回显:验证码在客户端浏览器或数据包中回显
  • Response状态值:单独请求回复状态值判断验证码是否正确
  • 验证码爆破:验证码纯数字过于简单
  • 找回流程绕过:跳过中间验证步骤,直接抓包最后一步

接口调用乱用

  • 短信轰炸,来电轰炸等

本课重点:

  • 案例1:找回密码验证码逻辑-爆破测试-实例
  • 案例2:墨者靶场密码重置-验证码套用-靶场
  • 案例3:手机邮箱验证码逻辑-客户端回显-实例
  • 案例4:绑定手机验证码逻辑-Rep状态值篡改-实例
  • 案例5:某APP短信轰炸接口乱用-实例接口调用发包

案例1:找回密码验证码逻辑-爆破测试-实例

PHP云人才系统(Phpyun) V3.2下载:

  • http://downcode.com/downcode/j_16621.shtml
  • https://pan.baidu.com/s/1P73QFmEhY6f350CvmnOJNg 提取码:xiao

该系统有绑定手机号功能,绑定时,需要验证码,可以配合bp的Intruder模块对验证码进行暴力破解

暴力破解时需要考虑

  • 验证码的复杂度:验证码越复杂,成功率越低
  • 验证码的时效性:验证码一般都有有效时间,比如1分钟/5分钟,想想你能不能在验证码有效时间内将验证码爆破出来
  • 绑定失败锁定策略:有的系统可能会有限制,比如绑定3次失败则不能再绑定
  • 如果有图片验证码,考虑是否可以使用工具识别

案例2:墨者靶场密码重置-验证码套用-靶场

靶场地址:https://www.mozhe.cn/bug/detail/66

绕过思路:攻击者先用手机号A发送一条正确的验证码,然后将手机号改为B,实现用A的验证码重置B账户密码。

绕过原理:服务器只查询输入的短信验证码与服务器发送过的,不会把短信验证码和手机号绑在一起。

过程:

<1>打开页面,输入18868345809,向服务器请求短信验证码。

<2>新开页面输入17101304128,向服务器请求短信验证码。

<3>将18868345809的短信验证码输入到17101304128的短信验证码处。

<4>将17101304128原本的图片验证码输入。

<5>点击重置,获取key。

案例3:手机邮箱验证码逻辑-客户端回显-实例

案例演示1:真实案例

该网站邮箱验证处,密码在客户端回显

案例演示2:PHP云系统

该系统有绑定手机号功能

发送验证码时抓包,发现验证码在cookie中回显

案例4:绑定手机验证码逻辑-Rep状态值篡改-实例

<1>某真实案例 

<2>该APP有修改密码功能

 

<3>输入正确的手机号,错误的验证码,点击下一步,截断响应

 

<4>将响应修改为验证码正确时的响应(前期测试获取)

<5>直接进入下一步重置密码

<6>输入新密码,点击确定,密码重置成功

<7>使用新密码,成功登录系统。

绕过原理:该APP重置密码功能分为2个页面,第一个页面,输入手机号、验证码,第二个页面,重置密码,我们可以通过修改第一个页面的响应数据来绕过验证码验证,直接进入下一个页面重置密码。

案例5:某APP短信轰炸接口乱用-实例接口调用发包

某系统注册账号功能处存在短信轰炸漏洞

抓取发送短信的数据包,重放N次,可以对该手机号发送N条验证码。 

原文地址:https://www.cnblogs.com/zhengna/p/15655691.html