实用 | 如何利用 Burp Suite 进行密码爆破

Posted 爱吃 香菜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实用 | 如何利用 Burp Suite 进行密码爆破相关的知识,希望对你有一定的参考价值。

本篇文章我们继续聊聊 BP 工具中一个实用的功能模块「 Intruder 」

使用 BP 工具的 Intruder 模块高度可配置,可以对目标网站进行密码爆破,一般被用于网站的安全渗透测试场景

它的工作原理是,在原始网络数据包中,利用不同的变量值对请求参数进行替换,然后模拟请求以获取不同的响应结果,以此达到爆破的目的

1、Intruder 功能标签

BP 工具的 Intruder 模块包含 5 个功能标签

分别是:

Target

用于指定待攻击的目标服务器的 Host、端口号及 SSL 连接

Positions

设置请求中的参数及攻击类型

Payloads

为上面的参数设置数据集、参数编码、加密等功能

Resource Pool

指定请求线程及延时时间

Options

请求头、攻击结果、重定向等相关的配置

2、攻击类型

Intruder 进行密码爆破时,可以有 4 种攻击类型供选择

分别是:Sniper(狙击手模式)、Battering ram(破城锤模式)、Pitchfork(音叉模式)、Cluster bomb(集束炸弹模式)

这里以登录接口包含「 用户名、密码 」2 个参数为例

Sniper 使用一组数据集合,依次对 $ 标记的变量进行爆破,即:针对一个参数变量,使用一个数据集合

使用场景:单一目标,已知用户名,密码未知

Battering ram 使用一组数据集合,同时对 $ 标记的所有变量进行爆破,即:针对多个参数变量,使用一个数据集合

使用场景:两个单一目标,相互不影响

Pitchfork 使用多组数据集合,同时爆破被 $ 标记的变量,即:针对多个参数变量,使用多个数据集合

使用场景:用户名和密码都未知,每个用户名只使用一个密码进行攻击

Cluster bomb 使用多组数据集合进行组合(笛卡尔积)后,依次对多个爆破点变量进行爆破,即:针对多个变量,使用多个数据集合的组合

实用场景:两个目标,每个用户名使用所有密码都进行一次攻击

3、实战一下

假设我们需要对目标网站进行密码爆破

首先,我们需要在开发者工具栏进行抓包分析,在 BP 工具中 Proxy 选项中配置拦截规则

比如,登录接口包含关键字「 login 」,我们可以如下配置

接着,打开拦截功能,在浏览器中随便输入一个用户名、密码,执行登录操作,这样在 BP 工具拦截模块中可以拦截到这个请求

点击「 Action 」按钮,选择将数据包发送给 Intruder 模块

然后,在 Intruder 模块中配置 5 个功能标签

PS:一般来说,Target 标签保持默认即可,不需要另外进行配置

在 Positions 标签下,我们需要先点击右侧的「 Clear § 」按钮来清除默认的参数标签

然后鼠标选择需要设置为变量的值,点击右侧的「 Add § 」按钮来设置它为变量

注:这里为了演示方便,只将用户名、密码设置为变量

这里攻击类型我们选择「 Cluster bomb 」,让所有用户名和密码随机组合进行攻击

接着,我们在 Payloads 标签下,根据参数索引对用户名、密码配置不同的数据集

需要指出的是,数据集可以从本地文件中导入,也可以手动添加或者从剪切板中粘贴

这里 Resource Pool 和 Options 配置页面保持默认即可

最后,点击右上角的「 Start attack 」按钮对目标网站进行密码爆破,结果会以弹框的形式进行展示

这样,我们通过响应结果可以很直观地判断出目标网站可用的账户组合数据

4、补充一下

面对一些简单的网站,在用户名、密码字典数据完善的前提下,使用上面的步骤进行密码爆破的几率很高

但是针对一些包含验证码的网站,我们需要多一步识别验证码的操作,然后在 Payloads 功能标签下将图片识别结果设置到参数中去

这里推荐一个 BP 插件「 captcha-killer 」,受限于篇幅,这部分内容大家可以自行扩展

https://github.com/c0ny1/captcha-killer

如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!

在这里还是要推荐下我自己建的软件测试学习Q群:746506216,群里都是学测试的,如果你想学或者正在学习测试,欢迎你加入,大家都是测试党,不定期分享干货(只有软件测试相关的),包括我自己整理的一份2022最新的Python自动化测试进阶资料和零基础教学,欢迎进阶中和对测试感兴趣的小伙伴加入!

利用Burp Suite插件“captcha-killer”识别验证码

利用Burp Suite插件“captcha-killer”识别验证码

网上随便找一个验证码的连接,并抓包

将包发送到captcha panel

来到captcha killer下,可以看到下方要求填写接口的URL地址,我这里用百度的接口做示范

如何申请百度接口?

进入百度大脑通用文字识别板块

跳转页面后选择立即使用,之后登录完成后,选择领取免费资源(这里领一个免费的通用文字识别,一般30分钟内到账)

拿到文字识别资源后,就可以通过对应的client_id、client_secret值获取Access Token,具体获取教程看下面这篇文章:
https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu

获取了Access Token后,进入captcha killer,并导入Baidu OCR模板

下面将这两个地方的值改成自己API对应的值

最后依次点击获取、识别即可。缺点显而易见,识别非常不准确,读者可以换一些其他打码平台。或者自己训练数据集:如何训练?

推荐一篇写的非常好的文章,还有篇如何训练数据集的文章:
https://www.cnblogs.com/cwkiller/p/12659549.html
https://zhuanlan.zhihu.com/p/240399663

以上是关于实用 | 如何利用 Burp Suite 进行密码爆破的主要内容,如果未能解决你的问题,请参考以下文章

[ web基础篇 ] Burp Suite 爆破 Basic 认证密码

利用Burp Suite插件“captcha-killer”识别验证码

如何用burp suite破解字母加数字的密码

Burp Suite简单爆破网站后台密码

Burp Suite插件推荐

wireshark和burp suite一样吗