Loading

pikachu学习---暴力破解部分

 

一、基于表单的暴力破解

 

 

先随便输入用户名和密码,进行抓包,发现没有验证码,这种就很容易破解,直接将我们用burpsuite抓到的包送到Intruder模块

选中username和password两个变量添加$,说明要进行爆破这两个变量

 

因为有两个变量,所以选择集束炸弹爆破

 

这里补充一下各种攻击模式的区别:

Sinper:一个变量设置一个payload进行攻击

Battering ram:可以设置两个变量,把payload同时给两个变量

Pitchfork:两个变量分别设置payload,然后按顺序一一对应进行破解

Cluster bomb:两个变量分别设置payload,然后交叉列所有情况进行破解(常用)

 

然后写入字典

因为有的时候我们字典很庞大,一个一个去撞只看length很难看出,Grep-match可以很快帮我们找出返回信息跟你add的信息有区别的记录

 

 

 

然后开始爆破,如果字典足够充分的话,就能得到账号密码

 

二、验证码绕过(on client)

这一关虽然加了验证码,但是通过观察源码可以发现,输入的验证码是通过前端的js进行验证,浏览器前端用js做验证码很轻松就可以绕过,所以说几乎没用

 

 

我们也可以抓包看一下,将数据包发送到repeater模块,在这个模块我们可以手动修改数据包内容,这里可以直接将内容返回后台,我们将验证码不输验证码,直接发送后台,我们发现返回信息“username or password  is not exist” 意思就是我们直接绕过了验证码,看到了返回信息,这是因为验证码提交了但没有进行后台验证。

 

 

之后的步骤就与基于表单的暴力破解一样了

 

三、验证码绕过(on server)

 


随便输入用户名和密码,验证码,进行抓包,发现返回的包中有错误信息,说明这个验证码判断是在后台中进行的

那我们再试一下验证码是否会过期,在浏览器输入界面先不要提交,直接刷新界面抓包,发送到repeater模块

我们这次验证码是29xh19,我们在repeater模块输入用户名密码验证码提交

 

 

 

得到用户名密码返回信息,这是一定的,因为这是这个验证码的第一次利用,接下来不改验证码,输入其他用户名密码试一下

发现同样返回了错误的信息,说明验证码没有过期

接下来就依然按照表单暴力破解的方法操作就可以

 

四、token是否能够防爆破?

答案是不能的,

在pikachu “token防爆破”界面打开浏览器开发者选项,打开Web控制台,用选择器查看一下我们提交的Form表单

 

 

 

 

我们发现除了用户名密码之外还有一个隐藏的input标签,它的name是token,那串数字即token值,它的作用就是当我们输入用户名密码点击登陆时,后台会根据用户名密码加上token值进行验证,token值会改变当我们刷新页面时。只有token值正确,才会对用户名密码进行

验证,但其实也没有太大作用,因为它的值已经以字符串的方式直接输出到了前端html表单上

抓包之后,我们把token设置变量,options的grep extract添加token:

 

 

token变量的type设置成recursive grep

 

 

posted @ 2021-11-01 22:57  Nanne1ess  阅读(275)  评论(0)    收藏  举报