pikachu靶场的搭建及部分测试
共 3148字,需浏览 7分钟
·
2024-04-10 19:35
文
章
目
录
01 |
前言 |
02 |
环境准备 |
03 |
安装与配置 |
04 |
Burt Force(暴力破解)的测试 |
01
前言
Hello,小伙伴们,大家好!今天我带来的是Pikachu靶场的搭建与测试,Pikachu是一个带有漏洞的web应用系统,在这里包括了常见的web安全漏洞。如果你是一个web刚入门web安全的小白且正发愁没有合适的靶场进行练习,那么Pikachu就可能非常适合你心意了。
02
环境准备
接下来我们进入主题吧,首先我们需要有phpstudy这个集成开发环境,然后就是Pikachu靶机了。
上面都没有的小伙伴我这里附上下载链接:
Pikachu靶机下载地址:
https://github.com/zhuifengshaonianhanlu/pikachu
phpstudy集成开发环境:
https://www.xp.cn/
03
安装与配置
一、phpstudy的下载与安装
1、下载跟自己电脑版本对应的安装包
2、下载完成后跟其它软件一样正常安装即可,如下:
3、点击安装完成后打开小皮软件,如图:
4、搭建PHP+MySQL的话点击启用Apache2.4.39和MySQL5.7.26:
5、Mysql管理工具安装,点击软件管理-网站程序-安装
6、 勾选确认即可等待安装
7、 访问主页,点击网站-管理-打开网站即可
8、浏览器访问自己的ip地址,显示如下则成功安装
二、Pikachu靶场配置
1、去官网这里下载zip压缩包:
https://github.com/zhuifengshaonianhanlu/pikachu
2、下载并解压缩
3、修改配置文件(mysql 用户名:root 密码:root,保存)
这里用Notepad++打开config.inc.php后如下图:
用Notepad++打开config.inc.php修改完MySQL的用户和密码后按快捷键Ctrl+S 保存文件即可。
4、修改完保存,安装初始化界面
浏览器访问:这里用自己的电脑IP地址加/pikachu/访问
安装初始化页面
点击安装/初始化,显示如下界面则安装完成
至此所有安装步骤已结束,可以开始搞了。
04
Burt Force(暴力破解)的测试
一、基于表单的暴力破解
-
进入靶场
2.账号密码随便输入,登录抓包,右键发送到intruder模块
3.在这里我们使用Cluster bomb模式进行破解,在Payloads中配置第一个变量和第二个变量的字典,这里仅测试就手动输入添加,也可以在系统中添加已经写好的字典或者去百度找大佬公布的字典。
添加字典进行爆破
4.添加字典后进行攻击,根据返回数据包的长度进行判断是否成功。为了方便观察也可以在grep-match中删除原有字符串,添加username or password is not exists,burp就会将所有含有此字符串的数据包flag出来。没有被flag出的数据包则是我们破解成功的数据包。点击username or password is not exists进行排序,没有勾选的则表明破解成功,有勾选的则表明破解失败。
二、绕过验证码(on server)
有些服务器后台是不刷新验证码的,所以抓到包后不要放包,这样验证码就一直有效,把包发到攻击模块直接爆破随机输入账号密码和相应的验证码,利用burp抓包。
进入靶场
登录失败了,验证码发生了变化
把数据包发送到Repeater,进行判断,将验证码设置为空,点击发送,出现错误提示,验证码不能为空
随机输入一个验证码,点击发送,出现错误提示验证码不正确。
所以我们可以知道后台对验证码有进行校验,那是不是这样就没问题了呢?显然不是这样,从表面上看没有问题,但是我们还需要对验证码是否在后台过期进行进一步验证。首先先点击验证码,获取一个新的验证码,并将其记录下来,然后返回数据包,将正确的验证码输入。点击发送,提示用户名和密码错误,为了验证验证码是否一直有效,我们修改用户名和密码,验证码不变,点击发送,结果一样。说明验证码可以重复利用。这样我们就可以将数据包发送到Intruder,设置变量用户名和密码,验证码则输入正确的验证码,不设置变。输入字典进行破解。
根据长度判断爆破是否成功,长度不同的就是爆破成功的。
三、验证码绕过(on client)
随机输入账号密码和相应的验证码,利用burp抓包。
查看源码,我们可以发现验证码是JavaScript随机生成,点击一次函数运行一次生成一个相应的验证码
将数据包发送到repeater中,对验证码进行判定,判定后台是否对验证码进行校验。修改验证码点击go,多次尝试发现返回的信息都是username or password is not exists,但是没有提示验证码错误。
则可以判断虽然验证码被提交,但是后台并没有验证。这个验证码框是通过JavaScript实现的,对于不懂安全的人来说,可以起到一定的防范作用。但对于知道这个原理的人来说形同虚设。
接下来,就与基于表单的流程一样,发送数据包到Intruder中,选用Cluster bomb模式修改变量,因为验证码后台并不校验没有用,所以只用选择用户名与密码。跟上面的表单一样爆破就行。
四、token防爆破?
token的作用:简单来说就是服务器给前端发的身份证,前端向服务器发送请求时都要带上这个身份证,服务器通过这个身份证来判断是否是合法请求。
抓包发送给暴力破解模块,攻击类型选择pitchfork(音叉),需爆破的内容为密码和token。
修改密码的payload,添加密码的爆破字典
修改token的payload,点击选项里的Grep—Extract的添加,然后点击获取回复,选中token的值复制,然后点击OK
将token的payload类型设置成递归搜索,在递归搜索选项中的第一个请求的初始有效负载设置为之前复制的token
攻击后,通过响应的长度和内容判断是否爆破成功
至此pikachu靶场的Burt Force(暴力破解漏洞)我就测试到这里啦希望对大家有帮助。