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

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

靶场环境:

下载链接:

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.mzph.cn/bicheng/51934.shtml

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

相关文章

利用Docker搭建基于Python的Selenium自动化测试环境

在现代软件开发过程中,自动化测试已成为确保软件质量的关键环节。Python与Selenium是常用的自动化测试组合,而利用Docker搭建自动化测试环境,可以提供一致的测试环境、方便的依赖管理和高效的资源使用。本文将详细介绍如何使用Docker搭建基于Python和Selenium的自动化测试环…

Linux服务器单个大文件上传内存限制修改

/etc/apache2/apache2.conf 添加: <Directory /var/www/html> LimitRequestBody 0 </Directory> /etc/php/7.4/apache2/php.ini 修改: upload_max_filesize 1000G post_max_size 1000G max_execution_time 0 max_input_time 0 memory_limit -1 验证修…

Java从入门到精通(十四) ~ 多线程

晚上好&#xff0c;愿这深深的夜色给你带来安宁&#xff0c;让温馨的夜晚抚平你一天的疲惫&#xff0c;美好的梦想在这个寂静的夜晚悄悄成长。 目录 前言 一、多线程是什么&#xff1f; Java中的多线程 二、使用步骤 1.创建方式 1.1 Thread 线程 1.2 Runnable 任务 1.…

iOS ------ KVO KVC

一&#xff0c; KVO KVO介绍 KVO全称KeyValueObserving,俗称键值监听&#xff0c;是苹果提供的一套时事件通知机制。允许对象监听另一个对象特定属性的改变&#xff0c;并在改变时接受事件。一般继承自NSObject的对象都默认支持KVOKVO和NSNotificationCenter都是iOS观察者模式…

MySQL基础练习题11-换座位

题目&#xff1a;交换每两个连续的学生的座位号。如果学生的数量是奇数&#xff0c;则最后一个学生的id不交换。按 id 升序 返回结果表。 准备数据 分析数据 方法一&#xff1a;利用power函数对id进行交换&#xff0c;得出的答案只有0或1 第一步&#xff1a;用power()函数将…

公司常用的监控软件有哪些?2024年六大公司监控软件良心推荐!

在现代企业管理中&#xff0c;监控软件不仅可以帮助提高员工生产力&#xff0c;还可以确保企业数据的安全和保护。小编分享六款公司监控软件&#xff0c;能够满足不同企业的需求&#xff0c;提升管理效率和信息安全。 一、值得推荐的监控软件 1. 固信软件 固信软件https://ww…

【软件测试】--接口测试

1. 接口用例设计 接口测试的测试点 功能测试 单接口功能&#xff1a; 手工测试中的单个业务模块&#xff0c;一般对应一个接口 登陆业务 --> 登陆接口加入购物车业务 --> 加入购物车接口订单业务 --> 订单接口支付业务 --> 支付接口 借助工具、代码。绕开前端界面…

【初阶数据结构题目】1.返回倒数第k个节点

文章目录 题目描述代码 题目描述 返回倒数第k个节点 代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/typedef struct ListNode ListNode; int kthToLast(struct ListNode* head, int k){ListNode* t hea…

域名未备案可以申请SSL证书吗??

域名未备案可以申请SSL证书。SSL证书的申请并不依赖于域名的备案情况&#xff0c;而是在于对域名的掌握权。只要你拥有域名的所有权&#xff0c;即具有对域名管理的权限&#xff0c;就可以在任何时候向认证机构申请SSL证书。 申请SSL证书的流程通常包括以下几个步骤&#xff1a…

做前端4年了,才明白技术的本质不过是工具而已

四年前&#xff0c;我踏上了前端开发的道路&#xff0c;从HTML和CSS到JavaScript&#xff0c;从jQuery到React&#xff0c;每一步都走得踏实而坚定。随着经验的积累&#xff0c;技术的进步&#xff0c;我逐渐认识到&#xff0c;所谓的“技术”&#xff0c;无非是实现目标的一种…

颜色识别基于高斯混合模型(GMM)的查找表分类器(LUT)

文章目录 create_class_gmm 创建高斯混合模型&#xff08;GMM&#xff09;以进行分类任务add_samples_image_class_gmm 提取训练样本&#xff0c;并将其添加到高斯混合模型 (GMM) 的训练数据集中train_class_gmm 训练一个高斯混合模型 (GMM)clear_class_gmm 清除模型create_cla…

Fiddler学习笔记

目录 前言 简介 原理 界面 前言 测试可以使用fiddler工具&#xff0c;通过抓包的方式修改前端参数和模拟后端返回&#xff0c;快速定位缺陷。 简介 Fiddler是HTTP协议调试代理工具&#xff0c;可以记录并检查所有客户端和服务器之间的HTTP和HTTPS请求&#xff0c;允许监视…

题解 - 修改回文(二)(上海月赛2024.7乙组T4)

题目描述 给定一个仅由小写字母组成的字符串 s &#xff0c;你可以添加一些字符&#xff08;也可以不加&#xff09;&#xff0c;使其构成回文串。 请你输出在添加字符数最少的前提下&#xff0c;能够构成字典序最小的回文串。 输入格式 输入共一行&#xff0c;一个字符串 s…

快速幂算法

函数 pow_mod 计算 (x^y \mod \text{mod}) 的值&#xff0c;其中 (x) 是基数&#xff0c;(y) 是指数&#xff0c;(\text{mod}) 是模数。它使用的是“快速幂”算法&#xff0c;这是一种高效计算大整数幂的方法&#xff0c;并在每一步计算中都取模以防止溢出。这个算法的时间复杂…

Python seaborn美化篇-风格style

本文分享Python seaborn中通过风格style美化图形。 风格(style),用于设置the general style of the plots,例如,图中网格线是否开启、颜色、线宽等。 5.2 style设置图形通用样式 5.2.1 axes_style查看style内容 一张图的style包含的内容可通过axes_style()查看, sns…

2024 睿抗机器人开发者大赛CAIP-编程技能赛-本科组(省赛补题3、4)

题4&#xff1a;RC-u4 章鱼图的判断 分数 25 题目&#xff1a; 对于无向图 G(V,E)&#xff0c;我们将有且只有一个环的、大于 2 个顶点的无向连通图称之为章鱼图&#xff0c;因为其形状像是一个环&#xff08;身体&#xff09;带着若干个树&#xff08;触手&#xff09;&a…

QT报红色错误,实际可以编译

QT报红色错误&#xff0c;实际可以编译&#xff0c;看着难受&#xff0c;如何去掉报警 进入插件 勾选框去掉&#xff0c;然后重启QT

Java——循环控制for,while,do...while

目录 1.for循环控制 基本介绍 基本语法 流程分析 案例演示&#xff1a; 注意事项和细节说明 练习题 2.while循环控制 基本语法 流程图 案例演示1 注意事项和细节说明 案例演示2 ​3.do...while循环控制 基本语法 说明 流程图 注意事项和细节说明 练习题…

杂项运算符及运算符的优先级

文章目录 常见的杂项运算符运算符的优先级特殊运算符运算符重载运算符的结合性实际应用中的注意事项1. 空条件运算符 (Null Coalescing Operator)JavaScript 示例: 2. 范围运算符 (Range Operator)Swift 示例: 3. 模式匹配运算符 (Pattern Matching)Rust 示例: 4. 解构赋值运算…

电信运营商推销套餐涉嫌侵犯消费者权益,如何维护自身权益?

近日&#xff0c;有消费者反映某电信运营商在推荐业务时存在误导和欺骗行为&#xff0c;侵犯了消费者的合法权益。本文将分析该事件中运营商的违规行为&#xff0c;以及消费者可以采取的维权措施。 一、运营商涉嫌违规的行为 1. 误导推销&#xff0c;未充分履行告知义务 工作…