UPLOAD LABS | UPLOAD LABS 靶场初识

关注这个靶场的其它相关笔记:UPLOAD LABS —— 靶场笔记合集-CSDN博客

0x01:UPLOAD LABS 靶场简介

UPLOAD LABS 靶场是一个专门用于学习文件上传漏洞攻击和防御的靶场。它提供了一系列文件上传漏洞的实验环境,用于帮助用户了解文件上传漏洞的原理和防御技术。

该靶场使用 PHP 语言编写,目前一共有 21 关,每一关都包含着不同种类的上传方式。以下是使用该靶场的一些注意事项:

  1. 靶场中的每一关都没有固定的通关方法,所以希望使用者不要思维局限!

  2. 本项目提供的 writeup(通过思路)只是起到一个参考作用。

  3. 如果您在通关时,实在没有思路,推荐点击 查看提示 按钮。(别害怕失败)

  4. 如果在黑盒情况下,您实在无法过关,推荐点击 查看源码 按钮。

0x02:UPLOAD LABS 靶场安装

0x0201:Windows 操作系统安装 UPLOAD LABS 靶场

附件资源

  • 靶场运行环境

    • PhpStudy - CSDN 配套资源:phpstudy_2016.zip

    • PhpStudy - 官网地址:小皮面板(phpstudy) - 让天下没有难配的服务器环境!

  • 靶场资源包

    • UPLOAD LABS 源码包 - CSDN 配套资源:upload-labs.zip - 建议使用 PHP 5.4.45 版本

    • UPLOAD LABS 源码包 - 官网地址:https://github.com/c0ny1/upload-labs

Windows 操作系统安装 UPLOAD LABS 靶场,主要分为以下两步:

  1. 靶场运行环境搭建(PHP 5.4.45 + Apache) - PhpStudy => 参考:PhpStudy 使用手册

  2. 导入 UPLOAD LABS 靶场源码。

这里主要介绍第二步,靶场的运行环境我们采用 PhpStudy 一键集成部署即可,PhpStudy 的安装方法可以参考上面提供的链接(内含:Windows 与 Linux 操作系统安装 PhpStudy 的步骤)。

注意:本关的 PHP 环境需要使用 phpstudy_2016.zip,否则后续很多关卡会无法配置。

1. 导入 UPLOAD LABS 靶场源码

首先,从 “附件资源“ 中下载靶场资源包,并进行解压操作:

然后,我们要将解压后的靶场文件,放到站点根目录下。PhpStudy 中定位站点根目录的方法如下:

打开站点根目录后,直接将解压后的靶场源码拖进去即可:

下面是 upload-labs 文件夹中的内容,直接就是源码(注意不要嵌套多余的文件夹,如果出现了多级文件夹,请删除多余的部分,确保和笔者的目录层级一样):

2. 访问并使用 UPLOAD LABS 靶场

在访问 UPLOAD LABS 靶场之前,一定要先确保自己已经开启了 Apache 服务:

然后,我们就可以访问并使用 UPLOAD LABS 靶场啦。由于我们一开始是将靶场源码放在了 localhost 站点的 upload-labs 文件夹下,所以我们访问靶场的地址如下:

 http://localhost/upload-labs/

0x0202:Linux 操作系统安装 UPLOAD LABS 靶场

 附件资源

  • 靶场运行环境

    • PhpStudy - 官网地址:小皮面板(phpstudy) - 让天下没有难配的服务器环境!

  • 靶场资源包

    • UPLOAD LABS 源码包 - CSDN 配套资源:upload-labs.zip - 建议使用 PHP 5.4.45 版本

    • UPLOAD LABS 源码包 - 官网地址:https://github.com/c0ny1/upload-labs

Linux 操作系统安装 UPLOAD LABS 靶场,主要分为以下两步:

  1. 靶场运行环境搭建(PHP 5.4.45 + Apache) - PhpStudy => 参考:PhpStudy 使用手册

  2. 导入 UPLOAD LABS 靶场源码。

这里主要介绍第二步,靶场的运行环境我们采用 PhpStudy 一键集成部署即可,PhpStudy 的安装方法可以参考上面提供的链接(内含:Windows 与 Linux 操作系统安装 PhpStudy 的步骤)。

1. 导入 UPLOAD LABS 靶场源码

首先,我们需要准备靶场的源码包,直接从附件资源中下载即可(不需要解压):

然后我们需要定位网站的根目录,并把靶场压缩包上传至站点根目录下,定位流程如下:

打开站点根目录后,点击 ”文件上传“,将 UPLOAD LABS 的压缩包进行上传:

上传完毕后,我们需要解压 upload-labs.zip 文件,直接在小皮面板中操作即可(这里最好创建一个 upload-labs 文件夹来存放解压后的文件):

解压成功后的样式如下图所示,至此我们已经成功导入了靶场源码了:

2. 访问并使用 UPLOAD LABS 靶场

在访问 UPLOAD LABS 靶场之前,一定要先确保自己已经开启了 nginx 服务:

然后,我们就可以访问并使用 UPLOAD LABS 靶场啦。由于我们一开始是将靶场源码放在了 localhost 站点的 upload-labs 文件夹下,所以我们访问靶场的地址如下:

 http://localhost/upload-labs/

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

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

相关文章

探索Python词云库WordCloud的奥秘

文章目录 探索Python词云库WordCloud的奥秘1. 背景介绍:为何选择WordCloud?2. WordCloud库简介3. 安装WordCloud库4. 简单函数使用方法5. 应用场景示例6. 常见Bug及解决方案7. 总结 探索Python词云库WordCloud的奥秘 1. 背景介绍:为何选择Wo…

2024年9月中国电子学会青少年软件编程(Python)等级考试试卷(六级)答案 + 解析

一、单选题 1、下面代码运行后出现的图像是?( ) import matplotlib.pyplot as plt import numpy as np x np.array([A, B, C, D]) y np.array([30, 25, 15, 35]) plt.bar(x, y) plt.show() A. B. C. D. 正确答案:A 答案…

gethostname():域名解析

网络信息检索函数 gethostname()获取主机名getpeername()获取与套接口相连的远程协议地址getsockname()获取本地套接口协议地址gethostbyname()根据主机名取得主机信息,endhostent()gethostbyaddr()根据主机地址取得主机信息getprotobyname()根据协议名取的主机…

构建Ceph分布式文件共享系统:手动部署指南

#作者:西门吹雪 文章目录 micro-Services-TutorialCeph分布式文件共享方案部署Ceph集群使用CephCeph在kubernetes集群中的使用 micro-Services-Tutorial 微服务最早由Martin Fowler与James Lewis于2014年共同提出,微服务架构风格是一种使用一套小服务来开发单个应…

React Native 调试指南

写在前面 在 React Native 开发中,调试是不可避免的一部分。无论你是新手还是有经验的开发者,了解如何有效地调试你的应用程序都非常重要。本文将介绍 React Native 的调试方法,包括使用开发者工具、调试原生代码、调试发行版本以及其他调试…

深度学习与持续学习:人工智能的未来与研究方向

文章目录 1. 持续学习与深度学习1.1 深度学习的局限1.2 持续学习的定义 2. 目标与心智2.1 奖励假说2.2 心智的构成 3. 对研究方法的建议3.1 日常写作记录3.2 中立对待流行趋势 1. 持续学习与深度学习 1.1 深度学习的局限 深度学习注重“瞬时学习”,如ChatGPT虽在语…

数据分析——读取

读取(以ysck.txt文件为例)

渗透测试笔记—window基础

声明: 学习视频来自B站up主 【泷羽sec】有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&am…

【Axure高保真原型】天气模板

今天和大家分享天气模板的原型模板,里面包括晴天、多云、阴天、小雨、大雨、暴雨、强雷阵雨、小雪、中雪、大雪、暴雪、雨夹雪、微风、强风、狂风、龙卷风、轻雾、大雾等,后续也可以自行添加。 这个模板是用中继器制作的,所以使用也很方便&a…

java内存管理介绍

1. 堆(Heap): • 这是Java对象存储的主要区域,类似于一个大仓库,用于存放所有动态分配的对象实例。堆内存由JVM自动管理,包括对象的分配和回收。 2. 栈(Stack): • 每个线…

neo4j图数据库community-5.50创建多个数据库————————————————

1.找到neo4J中的conf文件,我的路径是:D:\Program Files\neo4j-community-5.5.0-windows\neo4j-community-5.5.0\conf 这里找自己的安装路径, 2.用管理员模式打开conf文件,右键管理员,记事本或者not 3.选中的一行新建一…

《Unity Shader 入门精要》高级纹理

立方体纹理 图形学中,立方体纹理(Cubemap)是环境映射(Environment Mapping)的一种实现方法。环境映射可以模拟物体周围的环境,而使用了环境映射的物体可以看起来像镀了层金属一样反射出周围的环境。 对立…

【逐行注释】自适应观测协方差R的AUKF(自适应无迹卡尔曼滤波,MATLAB语言编写),附下载链接

文章目录 自适应R的UKF逐行注释的说明运行结果部分代码各模块解释 自适应R的UKF 自适应无迹卡尔曼滤波(Adaptive Unscented Kalman Filter,AUKF)是一种用于状态估计的滤波算法。它是基于无迹卡尔曼滤波(Unscented Kalman Filter&…

11.26 深度学习-激活函数

# 激活函数的作用是在隐藏层引入非线性,使得神经网络能够学习和表示复杂的函数关系,使网络具备**非线性能力**,增强其表达能力。 # 没有激活函数的话 每次神经元做的都是线性变换 (矩阵相乘)换为图像就是一直在旋转 放大 缩小 这样就始终相…

Scala习题

姓名,语文,数学,英语 张伟,87,92,88 李娜,90,85,95 王强,78,90,82 赵敏,92,88,91 孙涛&#xff0c…

【rustdesk】客户端和服务端的安装和部署(自建服务器,docker,远程控制开源软件rustdesk)

【rustdesk】客户端和服务端的安装和部署(自建服务器,docker) 一、官方部署教程 https://rustdesk.com/docs/zh-cn/client/mac/ 官方服务端下载地址 https://github.com/rustdesk/rustdesk-server/releases 我用的docker感觉非常方便&am…

springboot配置https,并使用wss

学习链接 springboot如何将http转https SpringBoot配置HTTPS及开发调试 Tomcat8.5配置https和SpringBoot配置https 可借鉴的参考: springboot如何配置ssl支持httpsSpringBoot配置HTTPS及开发调试的操作方法springboot实现的https单向认证和双向认证(java生成证…

vscode的项目给gitlab上传

目录 一.创建gitlab帐号 二.在gitlab创建项目仓库 三.Windows电脑安装Git 四.vscode项目git上传 一.创建gitlab帐号 二.在gitlab创建项目仓库 图来自:Git-Gitlab中如何创建项目、创建Repository、以及如何删除项目_gitlab新建项目-CSDN博客) 三.Windows电脑安…

C++设计模式(工厂模式)

一、介绍 1.动机 在软件系统中,经常面临着创建对象的工作,这些对象有可能是一系列相互依赖的对象;由于需求的变化,需要创建的对象的具体类型经常变化,同时也可能会有更多系列的对象需要被创建。 如何应对这种变化&a…

速度革命:esbuild如何改变前端构建游戏 (1)

什么是 esbuild? esbuild 是一款基于 Go 语言开发的 JavaScript 构建打包工具,以其卓越的性能著称。相比传统的构建工具(如 Webpack),esbuild 在打包速度上有着显著的优势,能够将打包速度提升 10 到 100 倍…