【Pikachu靶场】安装部署通关详解超详细!!!(持续更新)

安装部署

Pikachu靶场,是一个带有漏洞的Web应用系统,在这里包含了常见的web安全漏洞。使用世界上最好的语言PHP进行开发-_-,数据库使用的是mysql,因此运行Pikachu你需要提前安装好"PHP+MYSQL+中间件(如apache,nginx等)"的基础环境。

1、下载

把下载下来的pikachu文件夹放到web服务器根目录下

[root@iZf8z2tte7i7r0cdyrk919Z html]# wget https://github.com/zhuifengshaonianhanlu/pikachu/archive/refs/heads/master.zip
[root@iZf8z2tte7i7r0cdyrk919Z html]# unzip master.zip (放在/var/www/html目录下)
简写文件名称[root@iZf8z2tte7i7r0cdyrk919Z html]# sudo mv pikachu-master/ pikachu

2、修改配置文件

根据实际情况修改inc/config.inc.php里面的数据库连接配置

修改配置文件(写入数据库密码)修改这个文件 ==> /var/www/html/pikachu/inc/config.inc.php

3、初始化安装

访问http://x.x.x.x/pikachu,会有一个红色的热情提示"欢迎使用,pikachu还没有初始化,点击进行初始化安装!",点击即可完成安装。

//如果此步骤遇到空白页面无法初始化,需要下载插件。

[root@iZf8z2tte7i7r0cdyrk919Z /]# yum install php-mysqli

刷题记录

一、暴力破解

"暴力破解"是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。 为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作。

理论上来说,大多数系统都是可以被暴力破解的,只要攻击者有足够强大的计算能力和时间,所以断定一个系统是否存在暴力破解漏洞,其条件也不是绝对的。 我们说一个web应用系统存在暴力破解漏洞,一般是指该web应用系统没有采用或者采用了比较弱的认证安全策略,导致其被暴力破解的"可能性"变的比较高。 这里的认证安全策略, 包括:

1.是否要求用户设置复杂的密码;

2.是否每次认证都使用安全的验证码(想想你买火车票时输的验证码~)或者手机otp;

3.是否对尝试登录的行为进行判断和限制(如:连续5次错误登录,进行账号锁定或IP地址锁定等);

4.是否采用了双因素认证;

...等等。

千万不要小看暴力破解漏洞,往往这种简单粗暴的攻击方式带来的效果是超出预期的!

1、基于表单的暴力破解

1)使用Burp Suite抓取登录过程表单,发送至爆破模块intrder。

2)设置攻击载荷(集束炸弹)

  • 有效载荷1导入用户名字典
  • 有效载荷2导入密码字典

观察长度,三个账号被爆破出来

登录测试,登录成功。

2、验证码绕过(on server)

验证码不过期,可以被重复利用

1)随便输入内容抓包,测试多次修改密码发现验证码为改变,存在验证码不过期情况。

2)登录包发送至爆破模块intrder(集束炸弹)。

3)爆破出账号和口令。

3、验证码绕过(on client)

前端校验

1)随便输入,点击登录,出现弹窗,很有可能是前端校验

方法一:

  • 前端通过调试器删除验证码模块
  • 集束炸弹暴力破解

方法二:

  • 浏览器禁用JS模块
  • 集束炸弹暴力破解

方法三

  • 直接在数据包删除验证码字段
  • 集束炸弹暴力破解

用方法一,找到验证码校验模块 并删除,然后进行暴力破解。

爆破登录成功

4、token防爆破?

Token是一种用于身份验证和授权的令牌。通常由服务器生成并返回给客户端,在客户端持久保存并在每次请求时发送给服务器。

1)随便输入抓包,多了一个token值。

2)通过重发器修改口令重发数据包,系统提示token错误,每一次登录的返回包会带有token相关数据用于下一次的登录认证。

3)暴力破解

  • 草叉模式爆破
  • 正则匹配返回数据加入爆破

选择爆破模式-草叉模式,有效载荷-口令、token

设置口令字典

设置burp,intruder-options-grep extract,搜索下token,找到对应的值,双击自动填充表达式

将抓包的token值填加进去

设置线程为1

爆破口令成功

二、Cross-Site Scripting

Cross-Site Scripting 简称为"CSS",为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。一般XSS可以分为如下几种常见类型:

1.反射性XSS;

2.存储型XSS;

3.DOM型XSS;

XSS漏洞一直被评估为web漏洞中危害较大的漏洞,在OWASP TOP10的排名中一直属于前三的江湖地位。XSS是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。

形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,导致"精心构造"的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。

因此在XSS漏洞的防范上,一般会采用"对输入进行过滤"和"输出进行转义"的方式进行处理:

输入过滤:对输入进行过滤,不允许可能导致XSS攻击的字符输入;

输出转义:根据输出点的位置对输出到前端的内容进行适当转义;

1、反射型XSS (gest)

1)输入长度有限,不能插入一句完整的JS代码。

2)直接在 URL中插入JS代码or修改源代码可输入的长度值。

<script>alert(1)</script>
  • 直接在 URL中插入JS代码
  • 修改源代码可输入的长度值之后可以插入完整的JS代码,JS代码被执行出现弹窗。

2、反射型XSS (post)

1)根据提示,先登录系统。

2)插入JS代码被执行,出现弹窗。

<script>alert(1)</script>

3)根据作者提示,我们可以尝试登录后尝试用payload注入爆出cookie。

<script>alert(document.cookie)</script>

3、存储型xss

1)输入1点击submit,数据会存储在页面。

2)插入JS代码被执行,因为数据会存储,所以每次点击这个页面都会执行JS代码。

相关推荐
IT小辉同学1 小时前
一键生成本地SSL证书:打造HTTPS安全环境
安全·https·ssl
weisian1511 小时前
认证鉴权框架SpringSecurity-2--重点组件和过滤器链篇
java·安全
Koi慢热1 小时前
信息收集合集
网络·安全·web安全·网络安全
南暮思鸢2 小时前
比大小王比赛
web安全·网络安全·知识分享·write up·ctf题目·hackergame 2024
南暮思鸢3 小时前
Node.js is Web Scale
经验分享·web安全·网络安全·node.js·ctf题目·hackergame 2024
网安_秋刀鱼3 小时前
PHP代码审计 - SQL注入
sql·web安全·网络安全·php·1024程序员节
B20080116刘实3 小时前
CTF攻防世界小白刷题自学笔记13
开发语言·笔记·web安全·网络安全·php
PcVue China6 小时前
PcVue + SQL Grid : 释放数据的无限潜力
大数据·服务器·数据库·sql·科技·安全·oracle
Hacker_Nightrain11 小时前
网络安全CTF比赛规则
网络·安全·web安全
看山还是山,看水还是。11 小时前
Redis 配置
运维·数据库·redis·安全·缓存·测试覆盖率