当前位置: 首页 > news >正文

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

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 .jpgAddType application/x-httpd-php .jpgSethandler 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 后门很方便地查看服务器信息,查看目录,执行系统命令等;

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • java项目中添加SDK项目作为依赖使用(无需上传Maven)
  • C++基础知识:构造函数的分类和调用,有参构造和无参构造,有参构造和无参构造,三种调用方式:括号法,显示法,隐式转换法,以及相关代码演示和注意事项
  • 文件上传题目练习
  • 书生大模型实战营--L1关卡-Llamaindex RAG实践
  • 正则采集器之三——前端搭建
  • C#插件 调用存储过程(输出参数类型)
  • Ubuntu开机自启配置(基于service:以ROS和docker为例)
  • 计算机毕业设计选题推荐-零食批发商仓库管理系统-Java/Python项目实战
  • Zookeeper源码剖析-ZAB协议选举流程
  • Oracle核心进程详解并kill验证
  • js中map属性
  • vue2 前端实现pdf在线预览(无插件版)
  • “八股文”在程序员面试中的作用及其对实际工作的影响
  • Java整理14
  • C++ 沙漏图案(Hour-glass Pattern)
  • Apache的基本使用
  •  D - 粉碎叛乱F - 其他起义
  • Java 网络编程(2):UDP 的使用
  • Laravel 实践之路: 数据库迁移与数据填充
  • node.js
  • 简析gRPC client 连接管理
  • 开源SQL-on-Hadoop系统一览
  • 前端设计模式
  • No resource identifier found for attribute,RxJava之zip操作符
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #传输# #传输数据判断#
  • #单片机(TB6600驱动42步进电机)
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (13)Hive调优——动态分区导致的小文件问题
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (补充)IDEA项目结构
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (每日一问)设计模式:设计模式的原则与分类——如何提升代码质量?
  • (推荐)叮当——中文语音对话机器人
  • (原創) 物件導向與老子思想 (OO)
  • . NET自动找可写目录
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .net 4.0发布后不能正常显示图片问题
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .net 程序发生了一个不可捕获的异常
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .NET开源纪元:穿越封闭的迷雾,拥抱开放的星辰
  • .NET上SQLite的连接
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • .NET项目中存在多个web.config文件时的加载顺序
  • .NET业务框架的构建
  • @EnableAsync和@Async开始异步任务支持
  • @hook扩展分析
  • @Value获取值和@ConfigurationProperties获取值用法及比较(springboot)
  • [ IOS ] iOS-控制器View的创建和生命周期
  • [Android]通过PhoneLookup读取所有电话号码
  • [Android实例] 保持屏幕长亮的两种方法 [转]
  • [Asp.net MVC]Bundle合并,压缩js、css文件