zoukankan      html  css  js  c++  java
  • 由内存过期失效引起的密码爆破

    事件描述

    有一漏洞为某大型购书网的密码爆破重置。初一看没在意,因为今天是在看了各种爆破。后经提醒是业务主站的,漏洞存在的话实在是严重,我甚至能从我认识的人中找出几个来拿到他们的账号和购书记录、电子书笔记等。

    漏洞描述

    密码重置的手机验证码是四位的,保证了时间上足够爆破成功。

    但是网站本身是有次数限制的, burpsuite截取数据包,repeater三次后第四次repeater显示验证码失效,看起来似乎是次数限制,没法成功了(然而)。

    之后对验证码进行爆破,因为网站限制了频率,线程过高会503,所以线程设置为2。

    前三个一直显示密码错误,在爆破到第四个的时候,显示验证码过期,继续爆破,到了七千左右的时候,intruder卡住了,之后突然又通畅了,显示密码错误。

    由此将需要爆破的 0000-9999 一万个验证码重复两遍,也就是两万个叠加在一起爆破,在第二遍的时候基本就没有限制了,可以成功爆破,重置密码。

    原理推测

    如果重置密码的当前session 次数太多,送入风控系统中封锁一下,但是放在内存中不会一直放着,大概过一段时间就过期了。过期后也不会再因为爆破而进入池子封锁,就能顺利爆破了

    测试方法

    将一万个验证码重复成两三万,慢慢跑,压低线程突破频率现在,耐心让他跑到最后。

    最重要的是,分析返回码不同的原因,看看最后返回码会不会变回来。

    修复方法

    错误次数达标了,直接这个号封了半小时一小时

    -664

  • 相关阅读:
    idea 使用jedis连接不上 redis解决办法
    EFCore 连接 MySql 间歇性报错:你的主机中的软件中止了一个已建立的连接
    初学Ansible(管理Window主机)
    茹炳晟-API自动化测试笔记
    Xpath路径
    kibana Dev Tools --常用命令
    kibana Dev Tools--修改语句示例
    kibana Dev Tools--增删改查语句
    记一次出名记录
    脚本:bat实现自动转换windows远程端口
  • 原文地址:https://www.cnblogs.com/huim/p/8215235.html
Copyright © 2011-2022 走看看