Pikachu–暴力破解

“暴力破解”是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。 为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作。

基于表单的暴力破解

随便输入 账号密码,登录抓包,右键发送到intruder模块

当发送请求时,会将 § 标识的参数替换为Payload。

把密码字段设置为变量

sniper 是狙击手的意思,在联系中给多个 § ,攻击中单次请求只会改一个标识

在Payload中导入字典(我随便编了几个字典太慢了)
攻击结果

根据Length长度(我猜是response的长度)不同的那个一个应该就是正确密码,密码为123456

这次练习实际上是在已知用户名(username)的情况下进行的。

PS.在Intruder ->Payloads ->Payload Options 中可以修改线程的数量(加快运行速度?)

Intruder ->Payloads ->Payload Sets中的Paload set 的数量取决于你 § 的数量

渲染有问题

根据(21条消息) burpsuite response返回中文乱码问题_M1mory的博客-CSDN博客更改后没有效果。

验证码绕过(on server)

随便输入 账号密码,登录抓包,右键发送到Intruder模块,先发到repeater重发器重放

intercept
repeater

多尝试几次发现验证码可重复使用,可以直接爆破。

直接放入Intruder模块爆破即可,不要在Proxy->Intercept模块放包后刷新页面,因为刷新页面后后台服务端的验证码也会随之刷新,从而使上一次验证码失效,导致爆破不了。

剩下的步骤和上面的一样。

attack

验证码绕过(on client)

查看前端代码,我们可以发现前端验证码使用的是前端js脚本生成的

发现玄机

在浏览器中禁用JavaScript(详情百度)。

刷新页面,验证码就消失了,就可以继续爆破了。

攻击结果

Token防爆破

查看源码我们会就会发现,每次请求里面都会加上token的值,所以如果我们爆破的话,每次爆破,都要有三个参数,分别是username,password,token. username我直接是设置为admin.

使用burpsuite进行暴力破解

抓取数据包可以看到请求头中有token参数,重放两次数据报后会提示token错误

通过测试发现每个数据包的token在变化,尝试使用pitchfork进行爆破

具体设置如下:

选择pitchfork进行爆破,添加密码和token变量

设置为Pitchfork 注意标识
设置线程为1

在 Intruder ->Options -> GREP-Extract中获取响应包,从中提取参数。选中token值,这个时候工具会自动编辑规则,复制token值备用,点击ok。

Grep-Extract

在页面最底部找到always选项.

回到payload模块,正常添加第一个变量密码的字典。

第二个变量选择递归搜索(Recursive grep)

结果

结果

(不知道为什么前面两个的Payload2是空白的。。╮(╯▽╰)╭)

第二种方法,通过burpsuite截断信息,我们可以获取cookie及post提交的字段信息;

根据获取到的信息编写Python脚本

详见Pikachu靶场通关之暴力破解 (qq.com)

上一篇
下一篇