pikachu靶场实战之暴力破解(1)

靶场简介

Pikachu 是一个带有漏洞的Web应用系统,在这里包含了常见的 web 安全漏洞。 如果你是一个 Web 渗透测试学习人员且正发愁没有合适的靶场进行练习,那么 Pikachu 可能正合你意。以上是Pikachu漏洞平台的简介。

作为像我这种的安全新手,用 Pikachu 入门再好不过了,可供漏洞种类比较多,而且还免费,话不多说,直接开干。

暴力破解概述

暴力破解即账号枚举, 攻击者使用自己的用户名和密码字典,对目的服务器进行一个一个尝试登陆,如果字典足够强大,最终就会猜解成功获取到用户名和密码。

0x01 基于表单的暴力破解

第一道题比较简单,前后端都没有验证码,输入错误的账号密码会返回一个username or password is not exists的提示。

baopo001

那么,破解的思路就很清晰了,直接使用 burpsuite 的 intruder 进行账号密码暴力破解即可,字典的话,Github上这个字典库貌似很全,https://github.com/TheKingOfDuck/fuzzDicts

baopo002

抓包,将登录页面发送至 intruder ,并在 Positions 中将 username 和 password 设置为 payload,攻击方式选择 Cluster bomb。

baopo003

burpsuite 有四种 attack type(攻击方式),分别是

  1. Sinper(狙击手):
    第一种攻击方式sinper主要是将bp截的包各个用$$符号标记的数据进行逐个遍历替换。
  2. Battering ram(攻城槌)
    这种攻击方式是将包内所有标记的数据进行同时替换再发出。
  3. Pitchfork(干草叉)
    多参数同时爆破,但使用的是不同字典。
  4. Cluster bomb(集束炸弹)
    多参数做笛卡尔乘积模式爆破。多个密码本对应多个位置,交叉组合,每一个密码本里的密码都对应于另一密码本所有密码。常用于爆破账号密码。

baopo004

接着在 Payloads 模块将两个参数的字典导入,选择 Simple list 模式。

baopo005

由于登录失败有明显的提示,可以将 username or password is not exists 加入到 Grep match 中对尝试登录的结果进行筛选。

baopo006

因为导入的账号和密码字典都是 Top500, 根据 Cluste bomb 攻击模式的特性,尝试爆破次数高达 25 万次。我这小破电脑要跑很久了。下一关就直接用提示的账号密码了,不然要跑太久了。

baopo007最终筛选出 ’admin/123456‘ ,’pikachu/000000‘,’test/abc123‘,这三组密码(ps: pikachu不在字典里,自己加的,哈哈)

0x02 验证码绕过(on server)

这关相比第一关多了个验证码,这也是实际操作中经常遇到的。

baopo2-001

抓包可知再不改变验证码的情况下,用burp修改参数验证码一直有效,说明验证码没有跟随服务器更新,可以使用多次。那么接下来的操作步骤和第一关就差不多了。

baopo2-002

设置参数。

baopo2-003

直接攻击,然后就可以得到正确的账户密码了。

0x03 验证码绕过(on client)

这关从网页源码可知验证码是前端生成,并且在前端进行校验,这就很离谱。直接抓包,改包,不经过前端就ok了,和上一关操作步骤一模一样。

baopo3-001

0x04 token防爆破?

这关的要点在于加入了 token,token 的作用主要是为了防止CSRF(跨站脚本攻击)。

baopo4-001

返回的页面中会携带下一次需要用到的token,那么直接每次请求的时候将 token 取出,带入到下一次请求中即可。

这里我们的攻击模式需要选择为 Pitchfork。由于是一一对应的关系,字典还需要稍作调整。

baopo4-002

注意由于是上一次的结果会带入到下一次尝试中,所有只能单线程运行,新版的burp是通过设置 resource pool来实现的。

baopo4-003

另外,提取token使用的是 Grep Extract模块功能,直接选中token value值,即可直接生成提取表达式,贼方便!!!

baopo4-004

最终也是成功获取账号密码,暴力破解关卡完结~~~


pikachu靶场实战之暴力破解(1)
https://www.yeyusec.com/2023/09/10/安全笔记/靶场学习/pikachu靶场实战之暴力破解(1)/
作者
yeyusec
发布于
2023年9月10日
许可协议