渗透测试===使用BURPSUIT暴力破解某网站的手机验证码

 

手机短信验证是企业给消费者(用户)的一个凭证,通过手机短信内容的验证码来验证身份。主要用来用户注册,找回密码,用户登录等等作为强身份认证。

目前验证码的格式主要是数字,从4位到6位不等。一般来说验证码都有有效周期2~10分钟,甚至更长,超过有效周期验证码自动失效。

那么如果要想在有效的时间里爆破验证码必须多线程。假设验证码是4位,从0000~9999的10000种可能用多线程在3分钟内跑完并不是很难。

用到的工具是burpsuit。该工具属于轻量级渗透工具,在kali-linux的300多种工具中,一直top10之内。

首先找到一个验证码是4位的网站。(4位数的手机验证码在很多网站中继续被使用)

1

该网站有做验证,但是改验证措施只是对验证码发送量做控制作用,防止无限制触发发送验证码。对我们破解它的验证码丝毫无影响。

使用burpsuit工具对它进行抓包,结果如下:

POST /api/check_telcode.php?mobile=18XXXXXXXXX HTTP/1.1
Accept: application/json, text/javascript, */
; q=0.01
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: https://user.xxxxxxxxxx.html
Accept-Language: zh-CN
UA-CPU: AMD64
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; Trident/7.0; rv:11.0) like Gecko
Host: user.xxxx.com
Content-Length: 23
DNT: 1
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: PHPSESSID=qreb11hclishnh0i24odm7la27; _uab_collina=155081416244717379002547; nb-referrer-hostname=user.XXXXX.com; nb-start-page-url=https%3A%2F%2Fuser.XXXXX.com% .....etc.....
param=9999&name=telcode*

抓包之后,使用intruder功能对其进行暴力破解。分析完请求数据后发现,这一步的post请求只有两个参数。

param=9999&name=telcode

param=9999是我们刚才输入的错误的验证码(此时正确的验证码虽已发送,但我们并不知道),name字段就可以忽略了。
在intrude界面中Positions选项卡,设置爆破点:

2

根据验证码的规则,设置爆破数据。(如果是爆破登陆密码,可以从网上下载密码库文件。比如SecLists-master就收录了top100-top1000000的常用弱密码)因为是从0000~9999的纯数字。所以设置如下:

3

设置线程为5:

4

开始破解,结果如下:

5

所有其他验证码返回length都是477,唯独只有一个length是401。

凭直觉,这个数据应该就是验证码了。这时候再看手机上收到的验证码作为一个验证。

6

发现和收到的验证码完全一致。而整个破解过程其实很快还没等所有数据跑完。就基本能确定验证码是多少了。
爆破时间还不到1分钟。

到这一步就没再继续了。

总结:
1. 四位数的验证码10000位,而六位数的验证码1000000位。单从爆破时间上来看就比4位数的多100被。所以在验证码的有效期内基本很小概率能破解验证码。
2. 尽可能的缩短验证码的有效时间降低破解风险。四位数的验证码全部爆破完基本超不过5分钟。
3. 增加验证码校验的验证,上述案例中虽然有验证。但并不是针对验证码的验证。
4. 对访问请求的控制。短时间内如果出现同一Ip的大量请求,可以将其尽可能的控制。

顺便提一下

如果有任何问题,你可以在这里找到我 ,软件测试交流qq群,209092584

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件测试技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值