[Pikachu靶场实战系列] 暴力破解

一、靶场介绍

GitHub:https://github.com/zhuifengshaonianhanlu/pikachu
这里推荐一个在线的靶场网站 谜团靶场,里面有很多的在线靶场,其中就包括了Pikachu靶场,只需要点击启动环境,就可以开始靶场的练习,方便快捷

暴力破解

基于表单的暴力破解

1.输入admin admin
在这里插入图片描述
2.打开burp点击Login进行抓包
在这里插入图片描述
3.右键发送数据包到Intruder模块
在这里插入图片描述
4.进入到Intruder模块的Positions模块中,先点击clear清除数据包中自动标记的变量,然后选中我们需要爆破的变量的值,即password的值,然后点击Add为其添加§符号。
在这里插入图片描述
5.再进入Payloads模块中,点击Load选择爆破用的字典,字典中包含了常见的一些弱口令密码,如果没有,可以在网上自行搜索
在这里插入图片描述
6.点击Start attack按钮,开始爆破
在这里插入图片描述
7.查看爆破结果,发现密码为123456时的Length和其他的都不一样,所以爆破出的密码就是123456,如果没有发现长度不同的,就说明没有爆破出来,可以换个字典试试。
在这里插入图片描述
8.在表单中输入admin 123456,提示登录成功,说明过关了
在这里插入图片描述

验证码绕过(on server)

因为加入了验证码这一机制,所以我们要先测试一下,看这个验证码能否绕过

1.首先还是输入admin admin 然后输入正确的验证码,点击登录,发现页面返回的是用户名或密码错误
在这里插入图片描述
2.再次输入admin admin,但这次输入一个错误的验证码,可以发现报错信息变成了验证码输入错误。
说明如果密码和验证码同时出错,报错显示的是验证码,反过来说,如果报错信息是用户名或密码错误,那么验证码一定是没问题的。这个应该不难理解。
在这里插入图片描述
3.我说这么多的目的就是为了判断这个验证码是否可以绕过,那么什么情况下验证码可以绕过呢,有一种情况,就是输入一个正确的验证码后,这个验证码会一直被系统认定为正确的,这种情况只要一开的验证码是正确的,那就不影响我们爆破密码,我们先来验证一下。

4.输入admin admin和正确的验证码点击Login进行抓包
在这里插入图片描述
5.将抓到的数据包右键发送到Repeater中
在这里插入图片描述
6.进入Repeater模块,点击Send发送数据包,右边就是服务器返回来的数据包
在这里插入图片描述
7.我们可以中国右侧的Render模块查看页面返回的情况,看到用户名或密码错误,说明我们的验证码是正确的。
在这里插入图片描述
8.我们将左侧数据包下方的password参数改为admin123,验证码不动,再次点击Send发送数据包,然后再查看返回页面。
在这里插入图片描述
我们发现返回的仍然是用户名或密码错误,这说明我们的验证码还是正确的,但是我们已经改了一次密码,验证码还是之前的,这就说明服务器对验证码的验证有漏洞,可以绕过,这个验证码可以一直使用。
在这里插入图片描述
9.使用基于表单的暴力破解方法进行爆破,这里省略爆破步骤 ,最后爆破出密码为123456

在这里插入图片描述
10.输入admin 123456 和正确的验证码成功过关
在这里插入图片描述

验证码绕过(on client)

1.输入admin admin 和错误的验证码,进行抓包,发现页面直接弹窗报错,而且没有抓到包,这说明验证码是在前端进行验证的,后端并不会检验验证码的真伪。
在这里插入图片描述

2.输入正确的验证码,成功抓到包
在这里插入图片描述
3.因为是后端不会对验证码进行检验,所以可以直接进行爆破,这里省略爆破过程,爆破过程和表单爆破几乎一样,爆破出密码为123456
在这里插入图片描述

4.输入admin 123456 和正确的验证码,过关
在这里插入图片描述

token放爆破?

本处参考这篇文章

1.token介绍

Token 是在服务端产生的。如果前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务端会返回 Token 给前端。前端可以在每次请求的时候带上 Token 证明自己的合法地位。如果这个 Token 在服务端持久化(比如存入数据库),那它就是一个永久的身份令牌。

  • Token 完全由应用管理,所以它可以避开同源策略

  • Token 可以避免 CSRF 攻击(http://dwz.cn/7joLzx)

  • Token 可以是无状态的,可以在多个服务间共享

2.老规矩,先抓包,admin admin
在这里插入图片描述
可以看到抓到的包里有token
3.将包发送至intruder , 破解类型选择pitchfork ,设置password和token是变量
在这里插入图片描述
4. 在options中的grep-extract中打勾点击add添加过滤条件 点击refetch response找到响应包中的token 选中复制token值,修改End at delimiter的值为图所示,点击确定
在这里插入图片描述

5.将最下方的redirections选择为always
在这里插入图片描述
6.需要在options中将线程设置为1
在这里插入图片描述

7.设置payload set为1 type为runtime file 文件选择为密码字典,这里设置爆破密码的地方
在这里插入图片描述
8. set为2 type为recursive grep时 复制刚才的token值到first request
在这里插入图片描述
9.点击爆破,但没有开始爆破,似乎是卡在第一个了,详细排查后发现,应该是所用字典的路径不能有中文,所以我将爆破密码的方式改为列表,成功爆破出密码为123456
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值