pikachu漏洞练习平台之暴力破解

用到的工具是phpStudy和burpsuite,在pikachu平台下进行实验。

首先需要设置好浏览器的代理,打开phpStudy和burpsuite。

一、基于表单的暴力破解:

在pikachu平台点开暴力破解,先进行抓包

pikachu漏洞练习平台之暴力破解_第1张图片

输入账号密码

pikachu漏洞练习平台之暴力破解_第2张图片

右键将其发送到intruder

pikachu漏洞练习平台之暴力破解_第3张图片

在攻击种类中选择常用的Cluster bomb。

pikachu漏洞练习平台之暴力破解_第4张图片

设置好动态变量

设置Payload以及字典

pikachu漏洞练习平台之暴力破解_第5张图片

pikachu漏洞练习平台之暴力破解_第6张图片

将字符串username or password is not exists复制到burpsuiteGrep-Match

pikachu漏洞练习平台之暴力破解_第7张图片

因为在之前随意输入用户名和密码返回的信息是这个字符串,在攻击之后在这个字符串下出现了打钩就说明这个用户名和密码是错误,相反没有打钩就是要找的正确的用户名和密码了。设置好后点击开始攻击:

pikachu漏洞练习平台之暴力破解_第8张图片

由于这两个字典都是我自己写的并不是很多。点击一下排序就看到没有被flag的就排到了第一个。这个时候可以用这个试一下:

pikachu漏洞练习平台之暴力破解_第9张图片

这样也就将正确的解出来了。

有时候会无法通过字符串来判断是否正确,这是可以看一下响应包的长度,登录成功和登录失败的多少会有一点不同。

 

二、On client

随便输入一个用户名和密码并且输入正确的验证码

pikachu漏洞练习平台之暴力破解_第10张图片

抓到的数据包

pikachu漏洞练习平台之暴力破解_第11张图片

通过查看源代码可以发现验证码的逻辑是在js中完成的。

pikachu漏洞练习平台之暴力破解_第12张图片

可以看到使用方法validate来验证验证码,使用createCode来生成验证码,通过单击即可改变验证码

这样也就知道了验证码的生成以及验证都是在浏览器的前段来完成的,这样很不安全,很容易就可以将其绕过。

将数据包发送到Repeater模块。

第一次没有输入验证码,返回结果为username or password is not exists

pikachu漏洞练习平台之暴力破解_第13张图片

第二次输入一个错误验证码显示结果还是username or password is not exists

pikachu漏洞练习平台之暴力破解_第14张图片

这样就可以确定验证码提交后台后并没有进行验证,而是直接在前段进行了验证。

下面进行一下暴力破解

步骤和前面的差不多,这里只需将这两个设置为动态变量,验证码不用管。

中间步骤就省略了。

爆破结果如下:

pikachu漏洞练习平台之暴力破解_第15张图片

可以看到响应中提示login success。这也就说明了这种前段js的验证码起不到什么真实的作用。

三、On server

随便输入一个用户名和密码并且输入正确的验证码,显示了字符串username or password is not exists

将请求发送到repeater

在后端提交试验:

先提交空验证码

pikachu漏洞练习平台之暴力破解_第16张图片

提交错误验证码

pikachu漏洞练习平台之暴力破解_第17张图片

说明后端做了验证。

下面验证验证码是否刷新

首先从新获取一个验证码,并记下来,在后台提交,

pikachu漏洞练习平台之暴力破解_第18张图片

显示为username or password is not exists 说明后台对验证码进行了验证

 

为了验证这个验证码是否可以进行重复利用,修改用户名和密码在提交一次

pikachu漏洞练习平台之暴力破解_第19张图片

这就说明这两次用的同一个验证码都成功了。

这样的话就可以进行暴力破解了,

这里要输入这个正确的验证码,其他步骤就不在复述了。

pikachu漏洞练习平台之暴力破解_第20张图片

爆破结果如下:

pikachu漏洞练习平台之暴力破解_第21张图片

可以看到验证码验证成功了,并且成功的找到了正确的用户名和密码。

你可能感兴趣的:(pikachu漏洞练习平台之暴力破解)