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

Upoad靶场--文件上传

摘要文章详细介绍了Upload-Labs靶场的21个关卡每个关卡都涉及不同的文件上传安全问题如JavaScript过滤、MIME-Type检测、黑名单绕过、.htaccess利用、条件竞争和文件包含漏洞等。通过分析源码、修改请求包和使用Webshell测试展示了多种绕过机制和技术旨在提升安全防护和渗透测试技能。作者对文件上传理论知识的总结文件上传漏洞指南原理绕过手法与靶场实战-CSDN博客目录前言Pass-01JavaScript绕过Pass-02MIME-Type绕过Pass-03黑名单--特殊后缀检测Pass-04黑名单--.htaccess绕过Pass-05 黑名单--.user.ini⽂件利⽤Pass-06黑名单验证--大小写绕过Pass-07黑名单验证--空格绕过Pass-08黑名单验证--点号绕过Pass-09黑名单验证--特殊字符::$DATA绕过Pass-10黑名单验证--. 空格 .绕过Pass-11(黑名单验证--双写绕过)Pass-12(白名单--get0x00截断)Pass-13(白名单--post0x00截断)Pass-14(图片马--利用file协议)Pass-15(图片马--利用getimagesize)Pass-16(图片马利用exif_imagetype)Pass-17(二次渲染)前言upload-labs是一个专门用来练习文件上传的靶场一共21关现在我们开始通关吧。Pass-01JavaScript绕过step1查看页面源代码这第一关使用了前端JavaScript来进行过滤并且只允许上传jpg、png、gif类型的文件。step2对于前端验证的我们可以使用bp过滤掉前段验证这只是用来防普通用户的step3上传webshellstep4复制图片的路径进行访问成功并验证此处有文件上传漏洞Pass-02MIME-Type绕过查看源代码这一关卡主要验证上传文件的Content-Type值是否在允许范围内只要修改Content-Type为允许的图片类型如image/png等即可绕过检测我们上传 .png文件再使用bp抓包修改后缀为 .php ,然后放包右键复制图片的路径进行访问执行第二关通过Pass-03黑名单--特殊后缀检测实验前准备修改Apache的httpd-conf文件。去掉前面#号的注释文件然后添加一些对应的文件后缀重启与前两关不同本关专⻔检测上传⽂件的后缀名是否在⿊名单中列如不允许上传.asp,.aspx,.php,.jsp后缀文件那我们就使用bp改后缀改为 .phtml放包复制图片链接访问成功绕过Pass-04黑名单--.htaccess绕过实验准备在Apache中如果需要启动.htaccess必须在httpd_conf中设置AllowOverride查看页面源代码这一关几乎把所有我们能想到的文件类型都禁止掉了我们可以使用.htaccess绕过先上传 .htaccess,它的内容SetHandlerapplication/x-httpd-php意思是把所有文件都解析为php文件来执行。我们直接上传 .png 查看效果我们看到哪怕我们上传的是 .png的文件也能当 .php代码文件执行Pass-05 黑名单--.user.ini⽂件利⽤这一关和上面的那关一样都是把我们想到的文件后缀都禁掉了我们使用.user.ini来绕过上传 .user.ini文件文件内容auto_prepend_file2.png后面的文件名要和第二次上传的一致上传 2.png文件复制图片链接再把2.png改为readme.php才能绕过readme.php文件靶场自带帮助我们执行2.png的代码通关Pass-06黑名单验证--大小写绕过查看源代码发现 .htaccess和 .user.ini文件绕过都被禁掉了但是我们发现源码少了大小写过滤所以我们采取大小写绕过上传 .php的webshell将后缀大写绕过放包成功通过Pass-07黑名单验证--空格绕过查看页面源代码发现这关没有使用trim()去除空格可以使用空格绕过黑名单抓包修改上传一句话木马文件名4.php注意这里有个空格上传webshell在文件后加空格放包复制图片链接访问通关Pass-08黑名单验证--点号绕过查看页面源代码发现这一关黑名单没有使用deldot()过滤文件名末尾的点可以使用文件名后加.进行绕过抓包修改上传一句话木马文件名4.php.注意这里有个点放包复制图片链接访问让文件执行通关Pass-09黑名单验证--特殊字符::$DATA绕过查看页面源代码这一关黑名单没有对::$DATA进行处理可以使用::$DATA进行处理在Windows系统中将::$DATA放在文件的后缀后面Windows会将::$DATA 被忽略文件保存为 4.php上传webshell给.php后缀加 ::$DATA放包复制图片链接访问执行webshell我们不能直接访问要删除后面的::$DATA才能成功通关Pass-10黑名单验证--. 空格 .绕过查看页面源代码前面几关最后使用的是截取修改的后缀名拼接而这一关黑名单最后上传路径直接使用文件名进行拼接所以我们只要让后缀名不在黑名单中就好哪怕最后只剩个点补充知识deldot()函数从后向前检测当检测到末尾的第一个点时会继续它的检测但是遇到空格会停下来文件名 muma.php. → Windows/Linux 自动去除末尾空格和点上传webshell修改放包复制图片链接访问执行通关Pass-11(黑名单验证--双写绕过)查看页面源代码这一关黑名单使用str_ireplace()函数寻找文件名中存在的黑名单字符串将它替换成空即将它删掉可以使用双写绕过黑名单补充知识str_ireplace(find,replace,string,count)函数替换字符串中的一些字符不区分大小写双写绕过复制图片链接访问执行通关Pass-12(白名单--get0x00截断)实验准备在PHP5.3之后的版本中完全修复了00截断。并且00截断受限与magic_quotes_gpcaddslashes函数最好使用php5.217原理在url中%00表示ascll码中的0而ascii中0作为特殊字符保留表示字符串结束所以当url中出现%00时就会认为读取已结束查看页面源代码上传webshell修改webshell放包复制图片链接访问执行通关扩展知识其实url编码就是一个字符ascii码的十六进制。不过稍微有些变动需要在前面加上“%”。比如“\”它的ascii码是9292的十六进制是5c所以“\”的url编码就是%5c。Pass-13(白名单--post0x00截断)这一关白名单文件上传路径拼接生成而且使用了post发送的数据进行拼接我们可以控制post数据进行0x00截断绕过白名单补充知识POST不会对里面的数据自动解码需要在Hex中修改。我们可以看到post和get的文件位置有差异在后面加 4.php 这个“”的 hex值为2b方便查找并修改还有文件后缀也要改修改为00放包复制图片链接访问执行请记住要删除冗余信息通关Pass-14(图片马--利用file协议)查看页面源代码这一关我们要制作图片马准备两个文件一个图片文件网上随便下张小的图片后缀改为 图片型的如 .gif 一个php文件(内容GIF89A?phpphpinfo();?)要将两个文件放在一起然后在对应的路径下使用cmd进入终端执行下面的命令生成新的图片文件这个图片文件将php文件中的代码追加到了 .png文件下形成新的文件 222.pngcopy 456.gif /b 963.php /a 222.gif上传带webshell的图片复制图片链接访问我们发现没有执行代码这里直接是输出图片其实这一关考察的是文件包含所以我们要复制者一段路径点击这里记得我们的webshell在gif文件下面下划就可以看到了通关Pass-15(图片马--利用getimagesize)查看页面源代码通过使用getimagesize()检查是否为图片文件所以还是可以用第十四关的图片马绕过并使用文件包含漏洞解析图片马上传带webshell的图片复制图片链接先访问我们只要路径的一部份再次复制点击文件包含漏洞通关Pass-16(图片马利用exif_imagetype)查看页面源代码知识补充exif_imagetype()读取一个图像的第一个字节并检查其后缀名。返回值与getimage()函数返回的索引2相同但是速度比getimage快得多。需要开启php_exif模块。上传带webshell的图片复制图片链接截取一部分点击文件包含漏洞将部分链接填在这里访问执行通关Pass-17(二次渲染)查看页面源代码原理简析上传的gif图片会被源码函数二次渲染成新的图片接着存进后台因此用文件包含调用时调用的已经不是原图原图中隐藏的代码也被渲染所覆盖。绕过思路通过对比原图与渲染后的图的Hex码找到渲染所不会影响的hex区域文件头标志除外用【覆盖】的方式替换掉不受渲染影响区域的字符上传图片我们右键将图片下载下来然后将两张图片拖到我随便找的二进制编辑器中点击确认比对两张图片的前面部分发现都是一样的就是前面的没有被二次修改我们将文件后面的webshell替换到前面来这样访问时就可以执行了将222.gif后面webshell对应的二进制复制替换掉19117.gif和222.gif一样的不被修改的相对列不能错然后保存重新上传19117.gif图片复制图片的部分链接点击文件包含漏洞将部分链接填在这里访问执行通关

相关文章:

Upoad靶场--文件上传

摘要:文章详细介绍了Upload-Labs靶场的21个关卡,每个关卡都涉及不同的文件上传安全问题,如JavaScript过滤、MIME-Type检测、黑名单绕过、.htaccess利用、条件竞争和文件包含漏洞等。通过分析源码、修改请求包和使用Webshell测试,展…...

Xbox成就解锁终极指南:免费工具助你快速达成100%完成度

Xbox成就解锁终极指南:免费工具助你快速达成100%完成度 【免费下载链接】Xbox-Achievement-Unlocker Achievement unlocker for xbox games (barely works but it does) 项目地址: https://gitcode.com/gh_mirrors/xb/Xbox-Achievement-Unlocker Xbox Achiev…...

109 【自适应天线与相控阵技术】基于近场扫描的偏移相位中心天线测量

目录 ​编辑 1. 引言 2. DPCA基本原理与几何推导 2.1 运动平台杂波谱展宽 2.2 双相位中心空间重合条件 2.3 静止杂波对消与运动目标保留 2.4 等效单基地雷达位置 3. 阵列结构与相位中心控制 3.1 企业馈电与双通道接收 3.2 重叠孔径与分裂孔径 3.3 阵列互耦与保护带 …...

hyperf 架构人才与机制建设

“架构人才与机制建设”不是培养几个高手,而是把高手的判断力做成团队可复制的流程、标准和训练体系。在 Hyperf 场景,最佳做法是“人(梯队) 机制(评审) 资产(模板) 实战&#xff08…...

GPT5.5与代码效率优化:5个技巧让编码速度翻倍

在(c.877ai.cn)这类AI模型聚合平台上把GPT-5.5拉出来跑了一周的编程场景后,我整理了5个真正能提升编码效率的技巧。不是那种"帮我写个Hello World"的基础用法,而是能嵌入到日常开发工作流里的实战技巧。先说结论&#x…...

利用 Taotoken 模型广场为新产品选择性价比最高的文本生成模型

利用 Taotoken 模型广场为新产品选择性价比最高的文本生成模型 1. 理解模型选型的关键维度 为新产品选择文本生成模型时,需要综合考虑多个关键因素。首先是模型能力与产品需求的匹配度,例如生成内容的长度、创意性、逻辑性等。其次是成本因素&#xff…...

LittleSnitch for Linux:当macOS的看门狗终于踏上Linux的土地

LittleSnitch for Linux:当macOS的看门狗终于踏上Linux的土地 如果你是一名从macOS迁移到Linux的开发者,你一定不会对LittleSnitch感到陌生。这款macOS上大名鼎鼎的网络流量监控与防火墙工具,曾无数次在后台默默替你拦截了那些“不请自来”的…...

一些单片机学习相关

MCUMCU中文叫单片微型计算机,单片机 MCU把所有东西全部集成在一颗小芯片里:CPU 内核内存 RAM闪存 Flash(存代码)串口、GPIO、定时器、ADC 等外设不需要外接复杂内存、硬盘,上电就能直接跑代码。51内核8051内核&#x…...

3步实现Windows电脑安装安卓应用的终极方案

3步实现Windows电脑安装安卓应用的终极方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经在电脑上想要运行某个安卓应用,却因为传统模拟器太过…...

如何高效获取八大网盘直链:LinkSwift专业级下载助手实战指南

如何高效获取八大网盘直链:LinkSwift专业级下载助手实战指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 …...

观察不同模型在Taotoken平台上的计费差异与性价比选择

观察不同模型在Taotoken平台上的计费差异与性价比选择 1. 理解Taotoken的计费机制 Taotoken平台采用按Token消耗量计费的模式,不同模型根据其计算复杂度、参数量级和供应商定价策略,会对应不同的Token单价。平台提供的用量看板能清晰展示每次调用的Tok…...

终极解决方案:5分钟轻松将Word文档转换为专业LaTeX格式

终极解决方案:5分钟轻松将Word文档转换为专业LaTeX格式 【免费下载链接】docx2tex Converts Microsoft Word docx to LaTeX 项目地址: https://gitcode.com/gh_mirrors/do/docx2tex 还在为Word到LaTeX的繁琐转换而烦恼吗?手动复制粘贴、格式错乱、…...

基于STM32的甲醛浓度检测报警设计

基于STM32的甲醛浓度报警(仿真+程序)功能介绍具体功能:1.滑动变阻器模拟甲醛浓度检测;2.单片机处理,在LCD1602上显示检测的甲醛浓度和上限值;3.单片机也通过串口显示检测到的甲醛浓度和上限值&a…...

别再只用LIKE了!MySQL LOCATE函数处理字符串查找的3个实战场景(附代码)

别再只用LIKE了!MySQL LOCATE函数处理字符串查找的3个实战场景(附代码) 当我们需要在MySQL中查找字符串时,大多数人首先想到的是LIKE操作符。确实,LIKE简单易用,能够满足基本的模糊匹配需求。但在某些特定场…...

用STM32H723ZGT6的FDCAN1和FDCAN2实现板内数据互传:一个自环测试的实战项目

STM32H723ZGT6双FDCAN自环通信实战:从配置到调试全解析 在嵌入式系统开发中,CAN总线因其高可靠性和实时性被广泛应用于工业控制、汽车电子等领域。而STM32H723ZGT6作为STMicroelectronics推出的高性能微控制器,其内置的两个FDCAN控制器&#…...

CANoe+VH6501实战:手把手教你精准干扰CAN-FD的Rx报文(含CAPL代码)

CANoeVH6501实战:精准干扰CAN-FD接收报文的CAPL实现指南 当车载网络测试从传统CAN转向CAN-FD协议时,报文接收端(Rx)的故障注入成为验证ECU鲁棒性的关键环节。与发送端(Tx)干扰不同,Rx干扰需要精…...

终极RDPWrap指南:免费解锁Windows远程桌面多用户并发连接

终极RDPWrap指南:免费解锁Windows远程桌面多用户并发连接 【免费下载链接】rdpwrap RDP Wrapper Library 项目地址: https://gitcode.com/gh_mirrors/rd/rdpwrap 你是否曾因Windows家庭版或专业版无法支持多用户同时远程连接而感到困扰?想要在个人…...

FCN-32s/16s/8s效果差多少?用PASCAL VOC数据实测对比,聊聊语义分割的‘细节魔鬼’

FCN-32s/16s/8s效果差多少?用PASCAL VOC数据实测对比,聊聊语义分割的‘细节魔鬼’ 在计算机视觉领域,语义分割任务对细节的捕捉能力直接决定了模型的实用价值。当我们面对FCN系列模型时,一个核心问题始终萦绕:不同上采…...

创业公司如何借助 Taotoken 快速低成本地验证 AI 产品创意

创业公司如何借助 Taotoken 快速低成本地验证 AI 产品创意 1. 统一接入降低技术门槛 对于资源有限的创业团队而言,直接对接多个大模型厂商的 API 存在显著的技术成本。不同厂商的认证方式、请求格式和返回结构各异,开发适配层会消耗宝贵的工程时间。Ta…...

彻底解决Windows图形驱动兼容性问题:Mesa3D驱动安装与故障排除终极指南

彻底解决Windows图形驱动兼容性问题:Mesa3D驱动安装与故障排除终极指南 【免费下载链接】mesa-dist-win Pre-built Mesa3D drivers for Windows 项目地址: https://gitcode.com/gh_mirrors/me/mesa-dist-win 你是否曾在Windows上运行老旧游戏或专业图形软件时…...

【AI模型】高性能推理框架

高性能推理框架 【AI&游戏】专栏-直达 本节介绍面向生产环境的高性能推理框架,适用于需要高吞吐量、低延迟的企业级应用场景。随着大模型应用场景的不断扩展,如何高效、稳定地部署和运行大模型成为了企业和开发者面临的重要挑战。高性能推理框架通过…...

Hugging Face Transformers 加载模型时,那些容易被忽略但超有用的参数(cache_dir, proxies, revision 实战详解)

Hugging Face Transformers 加载模型时,那些容易被忽略但超有用的参数(cache_dir, proxies, revision 实战详解) 当你第一次接触 Hugging Face Transformers 时,可能只关注了 pretrained_model_name_or_path 这个核心参数。但随着…...

Linux安装配置Tomcat保姆级教程:从部署到性能调优

Linux服务器Tomcat安装及配置教程 演示环境说明 系统:Debian 12 (Linux) 内存:2G JAVA:17.0.17 一、安装JDK # Debian/Ubuntu apt update && apt install openjdk-17-jdk -y# 验证 java -version二、Tomcat 安…...

告别Vue打包玄学报错:深入Thread Loader与依赖解析,从根源上解决‘Received undefined’

深度解构Vue构建报错:从Thread Loader冲突到依赖解析的工程化实践 深夜的办公室里,显示器上闪烁的红色报错信息格外刺眼——Syntax Error: Thread Loader (Worker 4) The "from" argument must be of type string. Received undefined。这行看…...

苹果手机怎么把照片抠图?2026年最全解决方案对比

作为一个经常需要处理照片的博主,我深知抠图这件事有多频繁——无论是证件照换底色、商品图去背景,还是日常修图,抠图的需求总是接踵而至。今天我就把这两年用过的所有苹果手机抠图工具都整理出来,帮你找到最适合的那一个。苹果系…...

终极指南:如何在5分钟内掌握MapleStory WZ文件编辑与地图制作

终极指南:如何在5分钟内掌握MapleStory WZ文件编辑与地图制作 【免费下载链接】Harepacker-resurrected All in one .wz file/map editor for MapleStory game files 项目地址: https://gitcode.com/gh_mirrors/ha/Harepacker-resurrected 你是否曾梦想过修改…...

图片去背景抠图有哪些工具推荐?2026年最实用的抠图工具对比指南

作为一个经常需要处理图片的人,我对各种抠图工具真的是又爱又恨。前段时间为了给产品拍照换背景,我硬生生试了十多个工具,从专业软件到在线应用,再到手机小程序,最后才找到真正好用的方案。今天就来分享一下我的真实体…...

【Uformer论文阅读|CVPR 2022】:通用U型Transformer架构,重新定义图像修复任务

论文信息 标题:Uformer: A General U-Shaped Transformer for Image Restoration会议:CVPR 2022单位:中国科学技术大学、澳门大学、中国科学院大学代码:https://github.com/ZhendongWang6/Uformer论文:https://arxiv.o…...

自动抠图神器有哪些?2026年最全对比指南,我用过的工具都在这里

作为一个经常需要处理图片的内容创作者,我几乎尝试过市面上所有主流的抠图工具。从最开始的手工PS抠图,到现在用AI一键完成,这几年的工具升级真的快到飞起。今天我就把自己的真实使用经验总结出来,帮你找到最适合的自动抠图神器。…...

全国大学生电子设计竞赛】从零基础到国奖的硬核通关指南(附备赛清单与踩坑实录)

前言:为什么写这篇文章?对于无数工科生来说,**“四天三夜”**绝对大学生涯中最刻骨铭心的记忆。全国大学生电子设计竞赛(以下简称“电赛”),不仅是一场技术的较量,更是对体力、心态和团队协作的…...