pikachu靶场的搭建及部分测试

admin 2023年11月3日02:20:29评论26 views字数 2461阅读8分12秒阅读模式
pikachu靶场的搭建及部分测试

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、下载跟自己电脑版本对应的安装包

pikachu靶场的搭建及部分测试

2、下载完成后跟其它软件一样正常安装即可,如下:

pikachu靶场的搭建及部分测试

3、点击安装完成后打开小皮软件,如图:

pikachu靶场的搭建及部分测试

4、搭建PHP+MySQL的话点击启用Apache2.4.39和MySQL5.7.26:

pikachu靶场的搭建及部分测试

5、Mysql管理工具安装,点击软件管理-网站程序-安装

pikachu靶场的搭建及部分测试

6、 勾选确认即可等待安装

pikachu靶场的搭建及部分测试

7、 访问主页,点击网站-管理-打开网站即可

pikachu靶场的搭建及部分测试

8、浏览器访问自己的ip地址,显示如下则成功安装

pikachu靶场的搭建及部分测试

二、Pikachu靶场配置

1、去官网这里下载zip压缩包:

https://github.com/zhuifengshaonianhanlu/pikachu

pikachu靶场的搭建及部分测试

2、下载并解压缩

pikachu靶场的搭建及部分测试

3、修改配置文件(mysql 用户名:root 密码:root,保存)

pikachu靶场的搭建及部分测试

这里用Notepad++打开config.inc.php后如下图:

pikachu靶场的搭建及部分测试

用Notepad++打开config.inc.php修改完MySQL的用户和密码后按快捷键Ctrl+S 保存文件即可。

pikachu靶场的搭建及部分测试

4、修改完保存,安装初始化界面

浏览器访问:这里用自己的电脑IP地址加/pikachu/访问

安装初始化页面

pikachu靶场的搭建及部分测试

点击安装/初始化,显示如下界面则安装完成

pikachu靶场的搭建及部分测试
pikachu靶场的搭建及部分测试

至此所有安装步骤已结束,可以开始搞了。

04

Burt Force(暴力破解)的测试
pikachu靶场的搭建及部分测试

一、基于表单的暴力破解

  1. 进入靶场
pikachu靶场的搭建及部分测试

2.账号密码随便输入,登录抓包,右键发送到intruder模块

pikachu靶场的搭建及部分测试

3.在这里我们使用Cluster bomb模式进行破解,在Payloads中配置第一个变量和第二个变量的字典,这里仅测试就手动输入添加,也可以在系统中添加已经写好的字典或者去百度找大佬公布的字典。

pikachu靶场的搭建及部分测试

添加字典进行爆破

pikachu靶场的搭建及部分测试
pikachu靶场的搭建及部分测试

4.添加字典后进行攻击,根据返回数据包的长度进行判断是否成功。为了方便观察也可以在grep-match中删除原有字符串,添加username or password is not exists,burp就会将所有含有此字符串的数据包flag出来。没有被flag出的数据包则是我们破解成功的数据包。点击username or password is not exists进行排序,没有勾选的则表明破解成功,有勾选的则表明破解失败。

pikachu靶场的搭建及部分测试
pikachu靶场的搭建及部分测试
pikachu靶场的搭建及部分测试

二、绕过验证码(on server)

有些服务器后台是不刷新验证码的,所以抓到包后不要放包,这样验证码就一直有效,把包发到攻击模块直接爆破随机输入账号密码和相应的验证码,利用burp抓包。

进入靶场

pikachu靶场的搭建及部分测试

登录失败了,验证码发生了变化

pikachu靶场的搭建及部分测试

把数据包发送到Repeater,进行判断,将验证码设置为空,点击发送,出现错误提示,验证码不能为空

pikachu靶场的搭建及部分测试
pikachu靶场的搭建及部分测试

随机输入一个验证码,点击发送,出现错误提示验证码不正确。

pikachu靶场的搭建及部分测试

所以我们可以知道后台对验证码有进行校验,那是不是这样就没问题了呢?显然不是这样,从表面上看没有问题,但是我们还需要对验证码是否在后台过期进行进一步验证。首先先点击验证码,获取一个新的验证码,并将其记录下来,然后返回数据包,将正确的验证码输入。点击发送,提示用户名和密码错误,为了验证验证码是否一直有效,我们修改用户名和密码,验证码不变,点击发送,结果一样。说明验证码可以重复利用。这样我们就可以将数据包发送到Intruder,设置变量用户名和密码,验证码则输入正确的验证码,不设置变。输入字典进行破解。

pikachu靶场的搭建及部分测试
pikachu靶场的搭建及部分测试
pikachu靶场的搭建及部分测试

根据长度判断爆破是否成功,长度不同的就是爆破成功的。

pikachu靶场的搭建及部分测试

三、验证码绕过(on client)

随机输入账号密码和相应的验证码,利用burp抓包。

pikachu靶场的搭建及部分测试
pikachu靶场的搭建及部分测试

查看源码,我们可以发现验证码是JavaScript随机生成,点击一次函数运行一次生成一个相应的验证码

pikachu靶场的搭建及部分测试

将数据包发送到repeater中,对验证码进行判定,判定后台是否对验证码进行校验。修改验证码点击go,多次尝试发现返回的信息都是username or password is not exists,但是没有提示验证码错误。

pikachu靶场的搭建及部分测试
pikachu靶场的搭建及部分测试

则可以判断虽然验证码被提交,但是后台并没有验证。这个验证码框是通过JavaScript实现的,对于不懂安全的人来说,可以起到一定的防范作用。但对于知道这个原理的人来说形同虚设。

接下来,就与基于表单的流程一样,发送数据包到Intruder中,选用Cluster bomb模式修改变量,因为验证码后台并不校验没有用,所以只用选择用户名与密码。跟上面的表单一样爆破就行。

四、token防爆破?

token的作用:简单来说就是服务器给前端发的身份证,前端向服务器发送请求时都要带上这个身份证,服务器通过这个身份证来判断是否是合法请求。

抓包发送给暴力破解模块,攻击类型选择pitchfork(音叉),需爆破的内容为密码和token。

修改密码的payload,添加密码的爆破字典

pikachu靶场的搭建及部分测试
pikachu靶场的搭建及部分测试

修改token的payload,点击选项里的Grep—Extract的添加,然后点击获取回复,选中token的值复制,然后点击OK

pikachu靶场的搭建及部分测试

将token的payload类型设置成递归搜索,在递归搜索选项中的第一个请求的初始有效负载设置为之前复制的token

pikachu靶场的搭建及部分测试

攻击后,通过响应的长度和内容判断是否爆破成功

pikachu靶场的搭建及部分测试

至此pikachu靶场的Burt Force(暴力破解漏洞)我就测试到这里啦希望对大家有帮助。

pikachu靶场的搭建及部分测试

原文始发于微信公众号(广软NSDA安全团队):pikachu靶场的搭建及部分测试

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年11月3日02:20:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   pikachu靶场的搭建及部分测试https://cn-sec.com/archives/2170999.html

发表评论

匿名网友 填写信息