PIKACHU通关_暴力破解

暴力破解需要将表单传到 Intruder(入侵者)模块

image-20220111100429372

在这里记录一下四种四种AttackType:

  • Sinper(狙击手):

    输入一个字典,分别对每一个被标记的位置用此字典遍历。

  • Battering ram(攻城槌):

    输入一个字典,同时对每一个被标记的位置用此字典遍历。

  • Pitchfork(干草叉)

    输入多个字典,按照顺序,从上到下对应遍历。(以最短的字典长度为遍历次数)

  • Cluster bomb(集束炸弹)

    输入多个字典,遍历所有可能性,排列组合。

第一关——普通爆破

回到暴力破解,我们使用Cluster bomb进行字典爆破:

image-20220111103021323

image-20220111103527752

分别对用户名和密码的爆破上传字典,若用户名和密码有特殊字符需求,不勾选URL-encoding:

image-20220111103740053

点击开始爆破,观察返回报文的长短即可。

第二关——绕过验证码(ON SERVER)

观察:

发现页面首先验证验证码的正确性,然后验证用户名和密码。

同时进行抓包,发现验证码是后端验证。

但是本关的问题在于,只要不点击网页上的login按钮,验证码就不会刷新,因此使用发包的方式一直爆破即可。

源码分析:

image-20220111111050870

其一,在验证后,应重置验证码。

image-20220111111359414

其二,不应将验证码作为cookie返回前端

第三关——绕过验证码(ON CLIENT)

右键查看源代码:

image-20220111144849999

发现验证码在前端验证。

第四关——token防止爆破

添加了token防止爆破,抓包进行观察,可以发现返回的包中含有下一次的token值。

image-20220111145923138

因此,我们使用正则提取出token强行爆破:

image-20220111150453621

使用正则表达式(Recursive grep)进行匹配,正则添加方法如下:

image-20220111150832658

可以使用右边的Refetch response按钮确认报文中有多少符合此正则的位置。

因此可见,使用token防爆破还是没啥用。