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

    事件描述

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

    漏洞描述

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

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

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

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

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

    原理推测

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

    测试方法

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

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

    修复方法

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

    -664

  • 相关阅读:
    牛客练习赛53 B题调和级数
    装备购买(线性基)
    杨氏矩阵与勾长公式
    南昌邀请赛B题(拉格朗日插值)
    徐州网络赛补题
    __int128 输入输出模板
    51 nod1067 Bash游戏 V2(sg函数打表)
    堆优化的dijkstra算法
    ST表求区间最值
    Tree Reconstruction
  • 原文地址:https://www.cnblogs.com/huim/p/8215235.html
Copyright © 2011-2022 走看看