【CTFHub】文件上传漏洞详解!

news2024/9/17 7:27:04

Webshell:

                      又称一句话木马。WebShell就是以网页文件形式存在的一种代码执行环境,主要用于网站管理、服务器管理、权限管理等操作。

                     WebShell根据不同的语言分为:ASP木马、PHP木马、JSP木马(上传解析类型取决于网站服务端编写语言类),该类木马利用脚本语言中 可以执行系统命令、代码命令的函数 进行文件读取、命令执行、代码执行等功能。一旦将Webshell上传到服务器被脚本引擎解析,攻击者就可以实现控制获取到网站服务器的权限。

漏洞描述:

                    文件上传漏洞是指由于程序员再开发时,未对用户上传的文件进行严格的验证和过滤,而导致用户可以上传可执行的动态脚本文件。如常见的头像上传、文件附件上传、媒体上传等,允许用户上传文件,如果过滤不严格,恶意用户上传了可执行的文件或者脚本,就会导致网站被其控制甚至会使其服务器沦陷,以至于引发恶意的网络安全事件。

           打开CTFhub的文件上传漏洞

www.ctfhub.com/

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

无验证:

          打开并运行环境

         上传php一句话木马文件 

      上传成功 打开文件路径 

       打开木马文件使用蚁剑连接一句话木马 

       添加并在html文件夹下获得flag文件 

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

前端验证:

               打开并运行环境 

         上传php木马文件发现不允许上传 

          查看源代码发现可以用jpg格式上传我们修改文件为jpg上传并抓包 

          修改jpg后缀为php并放包发现上传成功 

        访问文件相对路径 

      使用蚁剑连接木马,右键添加数据

         将木马地址复制粘贴,密码为木马参数cmd 

        添加成功并在html文件下发现flag 

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

.htaccess:

         打开并运行环境 

          这时候补充一个知识点:   .htaccess文件解析漏洞      .htaccess参数

常见配法有以下几种:

AddHandler php5-script .jpg
 
AddType application/x-httpd-php .jpg
 
Sethandler application/x-httpd-php

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

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

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

      上传.htaccess文件 

        在上传我们的jpg文件 

        访问文件路径 

      使用蚁剑连接木马文件 :

           在html下发现flag文件 

         打开并得到flag

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

MIME绕过:

        打开并运行环境 

      上传我们的php文件 

        告诉我们文件类型不正确试试jpg然后进行抓包更改 

            修改jpg为php并放包 

        访问文件地址并用蚁剑连接 

        在html下发现flag文件

        打开找到flag 

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

文件头检查:

        打开并运行环境 

        这里介绍一下文件头信息改为GIF89a,表示这是个GIF文件后进行发送

       上传我们的php文件并抓包

           修改文件类型改为jpg,文件头信息改为GIF89a 并放包 

           访问文件路径并用蚁剑连接一句话木马 

            在html文件夹下发现flag文件 

                打开并找到flag 

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

00截断:

                 打开并运行环境 

                     查看源码发现只能上传jpg,png,gif类型的文件

                 将文件改为jpg格式进行上传,使用Burp进行抓包后更改数据包头进行00截断

                        放包上传成功 

                     访问upload/1.php得到一句话木马文件内容 并开启蚁剑连接木马文件 

                     添加并在html文件夹下发现flag文件 

                 打开得到flag 

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

双写后缀:

                    打开并运行环境 

                    上传我们的php木马文件 

                 上传成功发现文件后缀不见了 

                我们重新上传开启抓包 

                   在php文件后缀里嵌套一个php进行绕过 

                  放包并上传成功

                 访问文件路径 

               使用蚁剑连接一句话木马文件 

                    添加在html文件夹下发现flag文件 

                    打开得到flag 

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

漏洞原理:

                   文件上传漏洞是指用户通过界面上的上传功能上传了一个可执行的脚本文件,而WEB端的系统并未对其进行检测或者检测的逻辑存在缺陷通常来说文件上传功能是没有问题的,主要是服务器如何对上传的文件如何进行处理。若WEB未对用户上传的文件进行有效的审查,若存在恶意用户对其上传一句话木马,从而实现控制WEB网站的目的。

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

漏洞危害:

                  非法用户可以上传的恶意文件控制整个网站,甚至是控制服务器,这个恶意脚本文件,又被称为webshel,上传 webshell 后门很方便地查看服务器信息,查看目录,执行系统命令等;

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

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

相关文章

生成式人工智能的下一代基础设施是集群系统

GenAI 的存储和网络 本研究报告探讨了生成式人工智能 (GenAI) 在转变人工智能数据中心方面的关键作用。强调了存储和网络在支持人工智能/机器学习工作负载方面的重要性。 我们强调需要高容量、经济高效的存储,以处理不同数据处理阶段的不同 I/O 模式。 还讨论了检…

如何使用CANoe自带的TCP/IP Stack验证TCP的零窗口探测机制

如果想利用CANoe自带的TCP/IP协议栈验证TCP的零窗口探测机制,就必须添加一个网络节点并配置独立的CANoe TCP/IP协议栈,作为验证对象。而与它进行TCP通信的对端也是一个网络节点,但不要配置TCP/IP协议栈,而是使用CAPL代码在底层组装TCP报文模拟TCP通信过程。这样可以尽量减少…

项目实战_表白墙(简易版)

你能学到什么 一个比较简单的项目:表白墙(简易版),浏览器:谷歌升级版将在下个博客发布 效果如下 正文 说明 我们是从0开始一步一步做这个项目的,里面的各种问题,我也会以第一人称视角来解…

国服最强文字转音频?Fish Speech

官网文档与示例 Fish Speech V1.2 是一款领先的文本到语音 (TTS) 模型,使用 30 万小时的英语、中文和日语音频数据进行训练。我尝试用1066运行,但是质量不尽如人意,建议使用RTX系列的显卡进行推理。 使用结果展示 text """20…

有哪些高性价比开放式耳机推荐?五大实力超群热门款分享

开放式耳机的优点包括不堵塞耳道,佩戴稳固性高,能较好的感知外界的声音等等,以上这些优势使得开放式耳机特别适配户外运动场景,在工作、日常生活等场景下使用也是绰绰有余。有哪些高性价比开放式耳机推荐?如果你还不知…

常用传感器讲解十五--触摸传感器(KY-036)

常用传感器讲解十五–触摸传感器(KY-036) 具体讲解 这个比较简单,就是触摸后给个信号 电路连接 在Arduino上将VCC引脚连接到5V。 将GND连接到Arduino的GND。 将OUT连接到Arduino上的D2 代码实现 void setup() {pinMode(2, INPUT);Seri…

鸿蒙HarmonyOS开发:@Observed装饰器和@ObjectLink装饰器:嵌套类对象属性变化

文章目录 一、装饰器二、概述三、限制条件四、装饰器说明五、Toggle组件1、子组件2、接口3、ToggleType枚举4、事件 六、示例演示1、代码2、效果 一、装饰器 State装饰器:组件内状态Prop装饰器:父子单向同步Link装饰器:父子双向同步Provide装…

大模型是如何“炼”成的?揭秘AI背后的训练秘籍!

在当今科技飞速发展的时代,大模型(Large Language Models)已成为人工智能领域的璀璨明星。它们如同经过精心雕琢的艺术品,能够处理各种复杂的任务。然而,这些大模型并非天生如此强大,它们需要经过严格的训练…

VScode | 我的常用插件分享

系列文章目录 本系列文章主要分享作位前端开发的工具之------VScode的使用分享。 文章目录 目录 系列文章目录 文章目录 前言 一、Vetur 三、别名路径跳转 四、Prettier 五、koroFileHeader 六、vue-helper 总结 前言 本文主要分享VScode的好用插件。 一、Vetur Vue的Vetur插…

秒懂C++之vector(上)

目录 一.vector定义 二.vector常用接口 2.1 vector iterator迭代器 2.2 reserve 扩容 2.3 insert 插入 三.对象数组 3.1 例题 3.2 小拓展 一.vector定义 vector本质就是一个顺序表 #include <iostream> #include <vector> using namespace std;void func(ve…

分布式:RocketMQ/Kafka总结(附下载链接)

文章目录 下载链接思维导图 本文总结的是关于消息队列的常见知识总结。消息队列和分布式系统息息相关&#xff0c;因此这里就将消息队列放到分布式中一并进行处理关联 下载链接 链接: https://pan.baidu.com/s/1hRTh7rSesikisgRUO2GBpA?pwdutgp 提取码: utgp 思维导图

大模型微调:参数高效微调(PEFT)方法总结

PEFT (Parameter-Efficient Fine-Tuning) 参数高效微调是一种针对大模型微调的技术&#xff0c;旨在减少微调过程中需要调整的参数量&#xff0c;同时保持或提高模型的性能。 以LORA、Adapter Tuning 和 Prompt Tuning 为主的PEFT方法总结如下 LORA 论文题目&#xff1a;LORA:…

TikTok达人合作:AI与大数据如何提升跨境电商营销效果

在当今数字时代&#xff0c;跨境电商与TikTok达人的合作已成为推动品牌增长和市场拓展的重要力量。随着AI、大数据等先进技术的不断发展和应用&#xff0c;这种合作模式正变得更加高效和精准。本文Nox聚星将和大家探讨在TikTok达人合作中&#xff0c;AI、大数据等技术的具体运用…

PyTorch 的 .pt 文件是什么?以及都能存储什么样的数据格式和复合数据格式?加载 train.pt 文件的一个代码示例

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 一、PyTorch 的 .pt 文件是什么&#xff1f; .pt 文件的基本概念&#xff1a; .pt 文件是 PyTorch 中特有的一种文件格式&#xff0c;用于保存和加载各类数据。.pt为 PyTorch 的缩写。此文件格式极其灵…

Linux快速安装Jenkins一键部署Maven项目

目录 一、序言二、安装前置准备1、JDK版本要求2、Maven安装3、Git安装 三、Jenkins安装1、Jenkins war包下载2、启动Jenkins3、初始化Jenkins4、Jenkins全局设置 四、Maven项目自动化jar部署项目配置1、创建Maven风格的项目2、丢弃旧的构建3、源码管理配置4、构建配置5、构建后…

华为od 100问 持续分享10-华为OD的面试流程细说

我是一名软件开发培训机构老师&#xff0c;我的学生已经有上百人通过了华为OD机试&#xff0c;学生们每次考完试&#xff0c;会把题目拿出来一起交流分享。 重要&#xff1a;2024年5月份开始&#xff0c;考的都是OD统一考试&#xff08;D卷&#xff09;&#xff0c;题库已经整…

带有扰动观测器的MPC电机控制

模型预测控制(Model Predictive Contro1, MPC)是一种先进的控制策略&#xff0c;虽然具有鲁棒性、建模简单、处理多变量系统、显示约束、预测未来行为和优化性能的能力等优势。它的不足在于预测控制行为的计算需要繁琐的计算量&#xff0c;以及抗干扰能力较弱。这里提出基于扰动…

34 列表常用方法——copy()

列表对象的 copy() 方法返回列表的浅复制。 浅复制&#xff0c;是指生成一个新的列表&#xff0c;并且把原列表中所有元素的引用都都复制到新列表中。 如果原列表中只包含整数、实数、复数等基本类型或元组、字符串这样的不可变类型的数据&#xff0c;一般是没有问题的。但是&a…

黛米·摩尔和她的孙女卢埃塔在这张飘逸的快照很亲密

卢埃塔和她的祖母黛米摩尔显然是最好的朋友&#xff0c;这张飘逸的快照证明了这一点。准备好“哇&#xff01;” 7 月 26 日&#xff0c;摩尔分享了一张非常迷人的照片&#xff0c;照片上有她、她的两个女儿和她的孙女在她昂贵的后院。她在照片中配文说&#xff1a;“夏日&…

SX_初识GitLab_1

1、对GitLab的理解&#xff1a; 目前对GitLab的理解是其本质是一个远程代码托管平台&#xff0c;上面托管多个项目&#xff0c;每个项目都有一个master主分支和若干其他分支&#xff0c;远程代码能下载到本机&#xff0c;本机代码也能上传到远程平台 1.分支的作用&#xff1a…