UPLOAD-LABS靶场[超详细通关教程,通关攻略]

embedded/2024/10/22 18:41:02/

 ----------------------------------------

靶场环境:

下载链接:

https://codeload.github.com/c0ny1/upload-labs/zip/refs/heads/master

  使用小皮集成环境来完成这个靶场 将文件放到WWW目录下就可以进行访问 

 ----------------------------------------

靶场简介:

                    Upload-labs是一个使用PHP语言编写,专门用于渗透测试和CTF中遇到的各种文件上传漏洞的靶场。目前一共20关,每个关都包含着不同上传方式。


                   文件上传漏洞:用户可以越过其本身权限,向服务器上传可执行的动态脚本文件,例如木马、病毒、恶意脚本或者WebShell等。文件上传漏洞本身就是一个危害巨大的漏洞,WebShell更是将这种漏洞的利用无限扩大。

 ----------------------------------------

目录

靶场环境:

靶场简介:

less1:

less2:

less3:

less4:

less5:

less6:

less7:

less8:

less9:

less10:

less11:

less12:

less13:

less14:

less15:

less16:

less17:

less18:

less19:


 ----------------------------------------

less1:

      上传我们的php一句话木马文件

发现不允许我们上传此类型的文件,我们尝试burp抓包试试

发现抓不到数据包,查看下源代码,发现我们可以修改我们的php文件为jpg格式再试试

发现可以提交,我们在抓一下jpg的包 

发现可以抓到,然后在将后缀改回php格式然后放包试试看

上传成功,右击图片新窗口打开得出php一句话木马文件内容

 ----------------------------------------

less2:

      上传我们的php一句话木马文件:

   提示我们文件类型不正确,所以我们继续改为jpg格式开启抓包 

   修改格式为image/jpeg 后缀为php 

    上传成功,右击图片打开新窗口打开得出php一句话木马文件内容 

 ----------------------------------------

less3:

   上传我们的php一句话木马文件

   发现不允许我们上传以下格式文件所以我把php文件改为php3/php5 进行绕过

   上传成功,右击图片新建窗口打开得到我们的php一句话木马文件内容 

 ----------------------------------------

less4:

            查看源码我们发现可以看到,这关的黑名单过滤的是相当的多,基本将我们的后缀都过滤掉了这时候该怎么进行绕过呢

这时候补充一个知识点: .htaccess文件解析漏洞,.htaccess参数常见配法有以下几种:

AddHandler php5-script .jpgAddType application/x-httpd-php .jpgSethandler application/x-httpd-php

Sethandler 将该目录及子目录的所有文件均映射为php文件类型。
Addhandler 使用 php5-script 处理器来解析所匹配到的文件。
AddType 将特定扩展名文件映射为php文件类型。

简单来说就是,可以将我们所的文件都解析成php或者是特定的文件解析为php

那么我们创建一个.htaccess文件写上内容进行上传

AddType application/x-httpd-php .jpg

   上传成功

             那么我们再将我们的一句话木马上传,当然在这我们将文件后缀改为jpg格式,反正我们上传后的文件都会被解析为php,而且jpg也不会被过滤掉

      右击图片新建窗口查看得到我们的php一句话木马文件内容 

 ----------------------------------------

less5:

            查看源码发现少了大小写.

          那我们就将我们的文件后缀改为Php试试看 

上传成功,右键图片查看得到php一句话木马文件内容 

 ----------------------------------------

less6:

              查看源代码发现少了首尾去空

     因为windows的系统是自动去除空格的,所以我们开启抓包 

   在php后面加上空格然后放包然后上传成功 

      右击图片新建窗口查看得到php一句话木马文件内容 

 ----------------------------------------

less7:

              查看源代码发现少了删除文件名末尾的点

          所以我们上传文件然后开启抓包 

         在php文件末尾加上点 

         放包发现上传成功 

            右击图片新建窗口发现得到php一句话木马文件内容 

 ----------------------------------------

less8:

                查看源代码发现少了去除字符串::$DATA

                  上传我们的文件,开启抓包 

                在php文件末尾加上::$DATA 

             然后放包,发现上传成功 

                右击图片新窗口查看得到php一句话木马文件内容 

 ----------------------------------------

less9:

                 查看源码发现有删除文件名末尾的点和首尾去空

           所以我们开启抓包 

   在文件末尾加上点 空格 点 因为末尾的点会被去除,php后面的点会被windows默认为空 

          放包,发现上传成功 

          右击图片新建窗口打开得到php一句话木马文件内容 

 ----------------------------------------

less10:

                查看源代码发现定义了好多黑名单

              所以我们先正常上传一个php文件 

               发现上传成功右击图片看看 

             发现php文件后缀没了  所以我们开启抓包

          在php里面在嵌套一个php进行绕过 

               放包查看 

               上传成功,右击图片新建窗口查看得到php一句话木马文件内容 

 ----------------------------------------

less11:

                 这一关需要用%00截断,发现环境有问题,不显示结果,所以我们借助一下ctfhub里面的文件上传漏洞;来解这道题

                 打开ctfhub打开环境

ctfhub.com/

           访问环境页面 

            我们开启抓包试试 

          发现指定了文件保存地址,那我们给他一个1.php,在使用%00将他截断

                放包后上传成功 

              访问upload/2.php得到一句话木马文件内容 

             在使用系统命令查找文件发现flag文件 

          cat查看右键查看源代码发现flag 

 ----------------------------------------

less12:

                   查看源代码,和第十一关对比,发现接受值变成了post,那么思路就和第十一关一样,不过post方式不会自行解码,所以要对%00进行urldecode编码

          编码后放包上传成功 

          右击图片新建窗口查看得到php一句话木马文件内容 

 ----------------------------------------

less13:

          题目说让我们上传图片马我们访问一下(图片马自行获得)

         右键新建窗口查看

          只能查看图片,所以我们要配合文件包含漏洞去解 

         变量file就是我们要给的值所以我们访问图片地址 

       以post传输数据参数为pass执行看看 

 ----------------------------------------

less14:

                 14关15关都和13关一样 上传我们的图片马

                右键新建窗口打开 

               访问我们的文件包含 包含上传的图片信息 

              以post传输数据参数为pass执行看看 

 ----------------------------------------

less15:

                按照上面步骤即可

 ----------------------------------------

less16:

               上传发现不行了,上传不了了

               因为我们的图片有一句话木马,这关他会把我们的文件顺序打乱在重新组合成一张图片然后在返回回来        这里我们使用二次渲染

              发现上传成功右键查看地址访问文件包含 

             执行成功 我们访问文件试试 

                访问成功,我们连接一句话木马使用中国菜刀app 

                添加查看信息 

 ----------------------------------------

less17:

                   我们查看源码看到一个时间

                发现是判断我们的文件符不符合要求而需要时间

                所以我们去找一个php代码进行条件竞争

          上传我们创建的2.php

              发现不行尝试抓包 

          发送到intruder 

                    无限上传:这时候我们去upload里面去访问它 

               

                 来到浏览器一直刷新访问直到创建成功123.php

                 创建好123.php之后访问即可 

 ----------------------------------------

less18:

                  题目为上传一个图片马 尝试上传图片马来看看

                 可以上传成功 来看看文件包含 

                  可以访问试试访问文件信息 

 ----------------------------------------

less19:

                 尝试上传文件看看

              发现都不行

              试试在文件后面加入一个点呢

                   上传成功右键新建窗口查看图片得到php一句话木马文件内容 

 ----------------------------------------

            文件上传本身是一个正常的业务需求,对于网站来说,很多时候也确实需要用户将文件上传到服务器,比如:上传图片,资料。

            文件上传漏洞不仅涉及上传漏洞这个行为,还涉及文件上传后的进一步解析和处理,以及文件的下载,如果服务器的处理逻辑设计的不够全面,就会导致严重的后果

            最简单的文件上传漏洞是指用户上传了一个可执行的脚本文件,并且根据此脚本获得了执行服务器命令的能力。


http://www.ppmy.cn/embedded/87408.html

相关文章

python静态方法以及静态方法引用类属性和类的实例属性

在Python中,静态方法是与类相关联的一种方法,但它不接收类或实例的引用作为第一个参数。这意味着它们不能访问或修改类的状态,即类属性或实例属性。静态方法可以通过staticmethod装饰器来定义。 静态方法的使用场景通常是那些不需要访问类或…

Java-Swing开发-003布局

文章目录 布局管理器常用布局BorderLayoutFlowLayoutGridLayoutGridBagLayout 布局管理器 Swing里负责布局的玩意,方便调整组件位置,一般是container里设置 1.JFrame默认布局为BorderLayout 2.JPanle默认布局为FlowLayout 常用布局 BorderLayout 东…

C++类与对象-六大成员函数

默认成员函数就是用户没有显式实现,编译器会⾃动⽣成的成员函数称为默认成员函数。⼀个空类编译器会默认⽣成8个默认成员函数。本文只介绍其中6个,C11增加两个函数见后续博客。 目录 一、构造函数 1.1 概念 1.2 特性 1.3 使用举例 1.4 初始化列表 1…

针对datax-web 中Swagger UI接口未授权访问

application.yml 添加以下配置 实现访问doc.html 以及/v2/api-docs 接口时需要进行简单的校验 swagger:basic:enable: trueusername: adminpassword: 12345 配置重启后再进行相关访问则需要输入用户名和密码

会Excel就会sql?

如果你熟悉Excel,理解SQL(结构化查询语言,Structured Query Language)会相对容易,因为它们在某些功能上有着相似之处。SQL主要用于管理和操作数据库中的数据,而Excel则是电子表格软件,用于数据的组织、分析和可视化。下面我会用Excel的视角来帮你理解SQL的基本概念。 数…

OpenCV车牌识别技术详解

第一部分:图像预处理 车牌识别(License Plate Recognition,LPR)是计算机视觉领域的一个重要应用,它涉及到图像处理、模式识别等多个方面。OpenCV作为一个强大的计算机视觉库,提供了丰富的车牌识别相关功能…

翻译: 可视化深度学习神经网络一

这是一个随意书写的28*28像素、分辨率很低的数字 3 但你的大脑一看见就能轻松辨识出来 ,我想要你好好欣赏这点 人脑能够毫无障碍地辨识是非常厉害的 我的意思是,这个、这个、还有这个,都能被识别为 3 即使前后图像的图形组成有很大差异 当你…

利用Java免费调用运营商三要素接口

一、什么是运营商三要素? 运营商三要素接口一般用于核验姓名、身份证号、手机号是否一致。它是电信运营商基于留存的实时数据,设计成 API 接口的形式,为有相关运营商查询核验需求的用户提供接入服务。 二、以下是运营商三要素接口常见的使用…