upload-labs:pass-10

2023-11-15

$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 = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA
        $file_ext = trim($file_ext); //首尾去空
        
        if (!in_array($file_ext, $deny_ext)) {
            $temp_file = $_FILES['upload_file']['tmp_name'];
            $img_path = UPLOAD_PATH.'/'.$file_name;
            if (move_uploaded_file($temp_file, $img_path)) {
                $is_upload = true;
            } else {
                $msg = '上传出错!';
            }
        } else {
            $msg = '此文件类型不允许上传!';
        }
    } else {
        $msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';
    }
}

 还是一个后端黑名单检查。

根据他的检查,可以构造文件后缀名为

.php. .

还是利用Windows的特性,就是如果文件名后缀以.或者空格结尾的,系统在保存文件时会自动去除点和空格。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

upload-labs:pass-10 的相关文章

  • [西湖论剑2021中国杭州网络安全技能大赛]Yusa的秘密 writeup

    西湖论剑2021 Yusa的秘密 Sakura组织即将进攻地球 此时你意外得到了该组织内某个成员的电脑文件 你能从中发现本次阴谋所用的关键道具吗 注 题目中包含了五个彩蛋 且彩蛋对解题本身没有任何影响 快去发现吧 附件 Who am I z
  • volatility内存取证分析与讲解(持续更新)

    volatility内存取证分析与讲解 0x01 volatility的安装 0x02 基本使用 0x03 取证实战 持续更新 0x04 总结 0x01 volatility的安装 本人暂时只使用windows下的volatility进行取
  • ctfshow- web1(50 point)

    0x00 前言 CTF 加解密合集 CTF Web合集 0x01 题目 0x02 Write Up 首先映入眼帘的是登录界面 尝试弱口令无果 可以注册 尝试注册一个账号 通过url发现这里是通过order by进行了排序 测试发现一共5个字
  • MATRIX: 1 ctf challenge

    MATRIX 1 About Release Back to the Top Name Matrix 1 Date release 19 Aug 2018 Author Ajay Verma Series Matrix Download B
  • 【极客大挑战2019】LoveSQL解题

    1 打开靶机 BUUCTF在线评测 选择web gt 极客大挑战2019 LoveSQL 打开被测试站点 是这个样子的 是上一题EasySQL的延续 2 EasySQL那道题采用万能密码 我们也直接使用万能密码试一下 结果如下 直接给出了密
  • 再探ROP(下)

    文章目录 0x01 概述 0x02 ret2reg 2 1 起因 2 2 原理 0x03 brop详解 3 1 概述 3 2 逆向思维切入 1 搭建环境 2 溢出长度和爆破canary 3 如何getshell 4 寻找直接条件 5 寻找间
  • 【CTF/MISC】图片隐写题(binwalk/foremost/010editer配合使用)

    图片隐写 题目 解题思路 binwalk工具查看是否有隐藏文件 foremost工具分离文件 010editer查看二进制数据 寻找解压密码 解题心得 题目连接 题目 题目是一张图片 寻找题目中隐藏的flag 解题思路 一般来说我碰到图片隐
  • adworld-web2

    web2 GFSJ0627积分 2金币 2 91最佳Writeup由 Robert Wei 提供 收藏 反馈 难度 2 方向 Web 题解数 108 解出人数 10185 题目来源 CTF 题目描述 解密 题目场景 http 61 147
  • js实现图片文件上传预览

    普通的上传图片选择图片后并不知道自己选择的什么图片 那么通过js我们可以做出预览效果这样就知道选择的什么图片 以免误上传
  • CTF入门学习笔记——Crypto密码(古典密码)

    文章目录 CTF入门学习笔记 Crypto密码 古典密码 凯撒密码 看我回旋踢 摩斯密码 摩斯 维吉尼亚密码 Vigen re 栅栏密码 篱笆墙的影子 栅栏密码 篱笆墙的影子 猪圈密码 待补充 CTF入门学习笔记 Crypto密码 古典密码
  • php伪随机数

    目录 函数介绍 代码测试 考点 1 根据种子预测随机数 2 根据随机数预测种子 函数介绍 mt srand 播种 Mersenne Twister 随机数生成器 mt rand 生成随机数 简单来说mt srand 通过分发seed种子 然
  • NEZUKO: 1——202201152003

    NEZUKO 1 202201152003 About Release Back to the Top Name nezuko 1 Date release 21 Aug 2019 Author yunaranyancat Series n
  • [2021首届“陇剑杯”网络安全大赛] SQL注入

    2021首届 陇剑杯 网络安全大赛 SQL注入 题目描述 某应用程序被攻击 请分析日志后作答 黑客在注入过程中采用的注入手法叫 布尔盲注 格式为4个汉字 例如 拼搏努力 黑客在注入过程中 最终获取flag的数据库名 表名和字段名是 Sqli
  • 二进制安全虚拟机Protostar靶场 安装,基础知识讲解,破解STACK ZERO

    简介 pwn是ctf比赛的方向之一 也是门槛最高的 学pwn前需要很多知识 这里建议先去在某宝上买一本汇编语言第四版 看完之后学一下python和c语言 python推荐看油管FreeCodeCamp的教程 c语言也是 pwn题目大部分是破
  • CTFShow-WEB入门篇--信息搜集详细Wp

    CTFShow WEB入门篇详细Wp 信息收集 web1 web2 web3 web4 web5 web6 web7 web8 web9 web10 web11 web12 web13 web14 web15 web16 web17 web
  • 攻防世界adworld-hit-the-core

    hit the core 题目来源 CTF 题目描述 暂无 题目附件 下载附件 kwkl kwkl strings home kwkl 桌面 8deb5f0c2cd84143807b6175f58d6f3f core CORE code c
  • java 视频压缩

    原文链接 https blog csdn net SeniorShen article details 113246990 1 引入依赖
  • [ISCTF 2023]——Web、Misc较全详细Writeup、Re、Crypto部分Writeup

    前言 由于懒我直接把上交的wp稍加修改拉上来了 凑活看 文章目录 前言 Pwn test nc nc shell Reverse Creakme EasyRe
  • BugKu-Web-滑稽

    题目环境 持续的动态图片 F12审查元素 拿下flag flag 595d994a34342417bfc3a3c3a23e0a48
  • 通过 url 将整数传递给 php $_GET

    所以我正在做一些 CTF 挑战之一是关于 php 类型杂耍 代码看起来像这样 if GET var1 hash md4 GET var1 print flag 所以我 80 确定我需要传入一个整数 这样它就会是真的 但我能操作的只是 url

随机推荐

  • HDF5 windows编译 release版本、Debug版本

    由于最近急需的一个项目 需要hdf5库 误打误撞 编译成功 特此记录 1 下载源代码 官网下载地址 https portal hdfgroup org display support HDF5 1 12 2 files 找到如下地址 本人电
  • 设计模式 -- Adapter 适配器模式

    转自 http blog csdn net joyney article details 4000818 以下内容是我和小组的兄弟学习设计模式我做的课件 我整理出来和大家分享 有不妥之处敬请指出 上次做的桥接模式 Bridge 这次是适配器
  • 小程序wxs使用教程

    1 什么是wxs wxs是小程序的一种脚本语言 它类似JavaScript 但是与JavaScript有所不同 wxs是一种数据绑定和逻辑处理的语言 它可以在wxml中使用 并且可以在wxml中直接调用 使用wxs可以实现更高效 更灵活的数
  • Games101,Lecture 13(光线与物体求交,引入包围盒)

    光线追踪 光线追踪更多的用于离线应用 因为一帧一般需要一万个CPU小时 原理 由摄像机发出感应光线 判断与物体相交的点是否可以与 光源连线 无遮挡物 如何判断光线与物体有交点 是管线追踪中较难的部分 光线与物体求交 1 与隐式表示的曲面求交
  • RabbitMQ 端口详解

    4369 epmd 25672 Erlang distribution Epmd 是 Erlang Port Mapper Daemon 的缩写 在 Erlang 集群中相当于 dns 的作用 绑定在4369端口上 5672 5671 AM
  • c++ 定时器_「STM32」定时器中断实验

    在上一篇文章中 STM32 定时器概述 中 定时器可以被人为分为4个大部分 时钟发生器 实际模块 输入捕获 输出比较 而定时器中断实验 我们更多的在操作时钟发射器这个模块 这个应用也是定时器最基本的应用了 时钟选择 内部时钟选择 时钟计算方
  • SpringBoot使用@JsonDeserialize和@JsonSerialize注解的功能简介说明

    转自 SpringBoot使用 JsonDeserialize和 JsonSerialize注解的功能简介说明 下文笔者讲述 JsonDeserialize和 JsonSerialize注解的功能简介说明 SpringMVC 在Spring
  • 【SQL基础】【关键字大写】条件查询:比较、不等于、IN、为空、BETWEEN

    概述 1 内容介绍 条件查询 比较 不等于 IN 为空 BETWEEN 2 建表语句 drop table if exists user profile CREATE TABLE user profile id int NOT NULL d
  • 使用 vite 代替 webpack 搭建 react 前端开发环境

    说明 在大型前端项目中 我们一般会使用 webpack Rollup 等工具进行模块整合 但是庞大的代码量会使得我们在开发阶段花费更多的时间在 代码改动 gt 页面渲染 这个阶段 即使使用 HMR 这个问题也没有完全的解决 项目代码量达到一
  • plsql链接服务器无响应,sqlplus 连接数据库无响应

    一批三台安装服务器 先后出现了sqlplus 连接数据库无响应问题 1 因为几乎同一时间出现问题 起初怀疑是网络组对网络有整体调整 后经过确认网络组有调整 但不影响我们的服务器 2 telnet server 1521端口正常响应 3 从终
  • 深度解析,抖音对口型唱歌类短视频内容制作流程,步骤技巧分享

    就像之前分享的信息差案例一样 任何时候都有信息差 但是还有一种叫认知差 就是认知高的人赚认知低的人的钱 不是有句话很火吗 你永远也赚不到认知以外的钱 更多精彩干货请关注共众号 萤火宠 你的认知很高 可以高客单价赚高认知人群的钱 但是也有些人
  • 图形学-改进的Bresenham算法

    图形学 改进的Bresenham算法 原理 代码 原理 虽然中点Bresenham算法是一种效率很高的算法 但也还有改进的余地 当然 其基本原理仍是每次在最大位移方向上走一步 而另一个方向上走还是不走取决于误差项的判断 根据中点Bresen
  • JSP和JavaBean

    8 JSP 8 1 什么是JSP Java Servlet Pages java服务器端页面 也和Servlet一样 用于实现动态Web技术 最大特点 写JSP就像是写HTML 区别 HTML只给用户提供静态的数据 JSP页面中可以嵌入Ja
  • 智慧政务行业发展报告

    转自微信公众号 智慧城市圈子邱文斌 一 智慧政务行业发展状况 从上个世纪90年代开始 政府信息化的建设就开始围绕 通 进行 而现今正逐渐过渡到 云 的建设 从网络的连通 数据的整合 到云的出现与整合 政府信息化的建设是一个漫长而又快速发展的
  • element-ui 实现多日期选择

    一 前端代码
  • Spring 多线程异步上传图片、处理水印、缩略图

    使用环境 SpringBoot FastDfs thumbnailator fdfs环境自己搞吧 thumbnailator maven依赖
  • C++中引用的用法以及将引用作为函数的形参

    在C 中引用就相当于是给变量起了一个别名 有点类似于指针 但是与指针又不同 引用的初始化 int i i 10 变量i的引用 引用必须在创建的时候就要初始化 而指针可以在任意的时候初始化 引用就相当于是给变量起了一个别名 int i r i
  • HTML基本结构

    HTML一般是在vscod中进行书写 后缀为html 其完整的基本结构如下 h1 一级标题 h1 每一个尖括号 lt gt 代表着标签或者说是元素 不同的标签代表有着不同的作用 标签一般成对出现后一个标签为前一个标签加一个 例如 但也有单个
  • 基于巴法云的esp8266实现温湿度、LED、sg90舵机和HC-RS04实现的小程序远程控制

    基于巴法云的esp8266实现温湿度 LED sg90舵机和HC RS04实现的小程序远程控制 具体代码 本项目想法已经在我脑海想了很久了 都没有时间去实现它 这次刚刚考完试就用了两天把它做了出来 希望对大家有帮助 有什么需要的可以在下面留
  • upload-labs:pass-10

    is upload false msg null if isset POST submit if file exists UPLOAD PATH deny ext array php php5 php4 php3 php2 html htm