年底将近,团队公众号文章许久没有更新了。
(理解一下,团队的老哥全部都还在HVV熬夜通宵抓头发,实在没时间写)
本次我们以一个实战为例来探索”隐藏验证码”
首先”隐藏验证码”就是不显示在页面,抓包可以抓到,具有和验证码一样功效的东西。它可能有一个专业的叫法,因为我不能体现我不专业所以请别纠正我。这篇文章也是我挖掘漏洞时遇到的问题,然后通过分析问题,最后解决问题的一个小经验之谈,希望能给大家带来一点思路。
本次实战目标时一个XX的统一身份认证平台
因为怕进去所以敏感信息都进行了打码
无码的东西看多了身体也吃不消
我们先来抓个包,重放尝试一下验证码能不能绕过
存在"用户名或密码输入错误"的回显,连续访问多次发现相同,猜测对验证码并未刷新
那接下来不就是轻轻松松,简简单单,Easy and easy
放入爆破模块,就用这个狙击手模块一发入魂。
一些基础的设置就不演示了
结果。。。。我的枪里居然没有子弹
有点打脸
一定是装X过了头,被B盾给检测到了
放开包来看一看程序员写了些什么欠打的东西。
错误信息中一个参数”e1s1”引起了我的注意。
他引起我注意的原因就是他用了引号。
我们重新抓一个包,其中有一个参数lt=e1s1,并且重新抓包已经变成了”e2s1”
所以推断这是一个”隐藏验证码”并且他的参数是一个递增的状态
这究竟是程序员的沦丧还是源码的扭曲
自信满满的又是一波爆破,因为要对参数也进行递增的一个爆破,所以这回用到Pitchfork这个模块
下面是burp爆破的一些设置
经过尝试之后发现确实不500错误了,但是也没有回显"用户名或密码输入错误"
说明爆破还是失败了
看来以后不能坐火车和飞机了
怕安检过不去,说我是”铁废物”
突然想到如果文章结束在这个位置其实蛮有意思的
不闹了,经过一系列的探索,发现在返回包中存在下一次的码
由于数额过大,删除cookie之后重新抓一次包,推断e后面的为图形验证码刷新次数,s后面为对应的次数并且为一个递增值
进入爆破界面,由于重放攻击过一次,所以下一次是e1s2所以爆破中修改为e1s2
结果。。。还是失败
一切感觉都没问题,那么问题出在那呢,B盾的原因?
最后发现,原来是Burp不讲武德。
重复之前操作,变成单线程爆破,终于成功了。
至于原因应该是因为多线程数字递增乱了
这次实战主要是探索”隐藏验证码”,所以并未进行一个正经爆破账号密码的操作。
这么解释应该显得没那么废物吧。
总而言之,这次实战总结就是,不愧是我。