upload-labs:pass-07

2023-11-02

$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 = $_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
        
        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 . '文件夹不存在,请手工创建!';
    }
}

$file_ext = trim($file_ext); //首尾去空

 少了这一句代码:

所以我们可以进行空格绕过。windoes在创建文件时会自动删掉最后的空格。

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

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

  • CTFhub技能树_Web RCE

    一 eval执行 1 分析 打开网站显示如下代码 大体意思是 判断cmd是否被设置 若cmd被赋值 则执行如下语句 否则就继续显示以上代码 eval REQUEST cmd 其中 eval 该函数可以把字符串作为PHP代码执行 REQUES
  • [西湖论剑2021中国杭州网络安全技能大赛]Yusa的秘密 writeup

    西湖论剑2021 Yusa的秘密 Sakura组织即将进攻地球 此时你意外得到了该组织内某个成员的电脑文件 你能从中发现本次阴谋所用的关键道具吗 注 题目中包含了五个彩蛋 且彩蛋对解题本身没有任何影响 快去发现吧 附件 Who am I z
  • ctf.show web入门(信息搜集) 1~20

    目录 web1 源码 web2 源码 web3 抓包 web4 robots web5 index phps web6 解压源码泄露 web7 git泄露 web8 svn泄露 web9 vim缓存 web10 cookie web11 域
  • 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那道题采用万能密码 我们也直接使用万能密码试一下 结果如下 直接给出了密
  • ctfshow_web149

    打开容器
  • sql注入万能密码总结

    select from admin where username and password 第一种 当你已知管理员账号名为admin时可以直接尝试 admin select from admin where username admin a
  • 【CTF/MISC】图片隐写题(binwalk/foremost/010editer配合使用)

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

    0x00 前言 CTF 加解密合集 CTF Web合集 0x01 题目 0x02 Write Up 和web3是相同的内容 这里可以通过任意文件读取的方式来进行利用 这里根据返回包知道是nginx 默认nginx日志是 var log ng
  • 安恒10月夺旗赛

    概述 昨天参加的比赛 这个比赛是信安之路微信公众号和安恒合作的一个比赛 是个人赛 作为一个大一的嫩鸡 还是搞web的 对于re和pwn毫无办法 所以昨天最终的结果是这样的 过程 这一次部分题需要用VPN内网访问 但是不知道为什么刚开始的时候
  • 攻防世界(easy-apk)

    下载链接如下所示 https adworld xctf org cn media task attachments 989ca07c3f90426fa05406e4369901ff apk 使用JEB打开apk 如下所示 可知获得输入后进行
  • php伪随机数

    目录 函数介绍 代码测试 考点 1 根据种子预测随机数 2 根据随机数预测种子 函数介绍 mt srand 播种 Mersenne Twister 随机数生成器 mt rand 生成随机数 简单来说mt srand 通过分发seed种子 然
  • XSS常见的触发标签

    无过滤情况 img 图片加载错误时触发 img src x img src 1 鼠标指针移动到元素时触发 img src 1 鼠标指针移出时触发 img src 1 a a href https www qq com qq a a href
  • 攻防世界web---新手练习区

    查看网页源代码 根据提示 查看网页源代码 发生了什么 鼠标右键不管用了 F12看到了什么 哈哈哈哈哈 robots协议 也太简单了吧哈哈哈 备份文件 打开御剑扫描后台 cookie 没什么发现 抓包看看 看看cookie php 看http
  • Upload-labs 1-21关 靶场通关攻略(全网最全最完整)

    Pass 01 前端验证 因为是进行前端JS校验 因此可以直接在浏览器检查代码把checkFile 函数 即如下图红色框选中的函数 删了或者也可以把红色框改成true 并按回车 即可成功上传php文件 复制图片地址并用蚁剑进行连接 Pass
  • 全国大学生信息安全竞赛真题(CTF)

    web篇 https blog csdn net csu vc article details 78011716 https www cnblogs com iamstudy articles 2017 quanguo ctf web wr
  • 攻防世界adworld-hit-the-core

    hit the core 题目来源 CTF 题目描述 暂无 题目附件 下载附件 kwkl kwkl strings home kwkl 桌面 8deb5f0c2cd84143807b6175f58d6f3f core CORE code c
  • NewportBlakeCTF 2023(NBCTF 2023) Web方向 wp 全

    一共四个web 非常简单的一场国际赛 Inspector Gadget 题目描述 While snooping around this website inspector gadet lost parts of his flag Can y

随机推荐

  • 简单教会你如何使用视频ID获取视频详情

    前往注册开通测试 onebound douyin item get video 公共参数 名称 类型 必须 描述 key String 是 调用key 必须以GET方式拼接在URL中 secret String 是 调用密钥 api nam
  • 基于Yolov5的交通标志检测识别设计

    项目介绍 上一篇文章介绍了基于卷积神经网络的交通标志分类识别Python交通标志识别基于卷积神经网络的保姆级教程 Tensorflow 并且最后实现了一个pyqt5的GUI界面 并且还制作了一个简单的Falsk前端网页实现了前后端的一个简单
  • 《网页设计基础——HTML常用标签》

    网页设计基础 HTML常用标签 一 HTML网页框架 格式 二 块级标签 1 标题标签 h1 一级标题 h1 h2 二级标题 h2 h3 三级标题 h3 h4 四级标题 h5 五级标题 h6 六级标题 h6 h5 h4
  • java random.nextint_java Random.nextInt()方法的具体使用

    lic int nextInt int n 该方法的作用是生成一个随机的int值 该值介于 0 n 的区间 也就是0到n之间的随机int值 包含0而不包含n 直接上代码 package org xiaowu random demo impo
  • Android SDK AndroidStudio 国内可用的镜像/代理地址

    http www androiddevtools cn 一站式下载地址 齐全 Android SDK在线更新镜像服务器 1 中国科学院开源协会镜像站地址 IPV4 IPV6 mirrors opencas cn 端口 80 IPV4 IPV
  • Linux QQ 一个命令搞定它

    一个命令就能在linux上用QQ了 在debian下 apt get install gaim 基本上全部聊天软件都能用了 QQ MSN ICQ yahoo通 等等 你如果是用其它linux的话 那就麻烦得多了 要到以下地址找gaim和它的
  • C 标准库 - 《signal.h》

    原文链接 https www runoob com cprogramming c standard library signal h html 简介 signal h 头文件定义了一个变量类型 sig atomic t 两个函数调用和一些宏
  • 数据结构练习题-3栈和队列

    选择题 1 若让元素1 2 3 4 5依次进栈 则出栈次序不可能出现在 种情况 A 5 4 3 2 1 B 2 1 5 4 3 C 4 3 1 2 5 D 2 3 5 4 1 答案 C 解释 栈是后进先出的线性表 不难发现C选项中元素1比元
  • JS删除两个数组对象中id相同的对象

    let arr1 id 1 name json id 2 name book let arr2 id 1 name json age 15 id 2 name book age 16 id 3 name ani age 17 ES6的方法
  • xshell通过跳板机使用隧道和代理连接服务器

    1 建立和跳板机的连接 主机和端口为跳板机的ip和端口 2 使用publicKey认证 3 通过隧道建立和目标主机的连接 源主机为localhost 侦听端口任意填不和本地端口冲突即可 目标主机和端口为要访问的主机端口 4 使用代理 加快本
  • [完美解决]当前不会命中断点。还没有为该文档加载任何符号。

    原文地址 http www cnblogs com furenjun archive 2011 05 31 2064287 html 概述 在调试SL项目 我重装了电脑 项目也是重新配置的 后来在调试的时候发现断点进不去 折腾了两个小时 将
  • vue自定义指令v-loading

    elementUI或者antdesign上的loading拿来就用简单无脑 以前我也是一直在用UI框架自带的loading 后来用的发现好呆板 一点也不炫酷 于是就自定义了 废话不说了直接看效果图 1 创建文件 1 在 src目录下创建一个
  • 学习笔记:区块链概念入门

    本文是100天区块链学习计划的第二篇学习笔记 其实就是按照阮一峰的网络日志 区块链入门教程的讲解进行的简单梳理 也是时间有点紧张的原因 相比于上一篇SHA256算法原理详解 个人感觉质量和原创程度明显下降 待对区块链有了更深的理解后 我会回
  • 【cuda大师班】p12 主机和设备之间的数据传递

    一 主机和设备之间的数据传递 1 1 基本流程框图 1 2 数据传递函数 在主机和设备之间必须显式的传递数据 1 3 代码 使用h 表示某个变量是主机变量 使用d 表示某个变量是主机变量 include cuda runtime h inc
  • ugui实现listview效果

    我们今天要实现listview的效果 首先看下ui结构 根节点是画布 Store节点只是为了固定锚点 抛开背景和标题 核心部分只有ScrollRect ViewPoint Slots Scrollbar ScrollRect是滑动布局 co
  • C++ Programming/RTTI

    原文地址 http en wikibooks org wiki C 2B 2B Programming RTTI Run Time Type Information RTTI RTTI refers to the ability of th
  • Flutter原理与美团的实践

    Flutter是Google开发的一套全新的跨平台 开源UI框架 支持iOS Android系统开发 并且是未来新操作系统Fuchsia的默认开发套件 自从2017年5月发布第一个版本以来 目前Flutter已经发布了近60个版本 并且在2
  • Python- 关于重复字段的一些统计

    问题场景 1 统计dataframe中某两个 多个 字段作为一个整体在dataframe中重复的次数 gt 得到 gt 2 获取某一字段重复次数最多的索引 PS 上图中count最大值为3 索引index 为0 3 获取某一字段重复次数最多
  • Java软件开发

    在开发中我们使用比较多的集合就是List Set和Map了 并且我们也知道大部分用的基本上都是ArrayList LinkedList HashMap HashSet或者TreeSet这几个集合 但是我们在学习使用它们的时候都知道它们这几个
  • upload-labs:pass-07

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