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

upload-labs 通关方法

目录

Less-1(JS前端验证)

Less-2(MIME验证)

Less-3(黑名单,特殊过滤)

Less-4(黑名单验证,.htaccess)

Less-5(黑名单,点空格点绕过)

Less-6(黑名单,大小写绕过)

Less-7(黑名单,空格绕过)

Less-8(黑名单,点绕过)

Less-9(黑名单,::$DATA)

Less-10(黑名单,点空格点绕过)

Less-11(黑名单,双写绕过)

Less-12-13(白名单,%00截断)

Less-14(图片马绕过unpack)

Less-15(图片马getimagesize)

Less-16(图片马exif_imagetype)

Less-17(二次渲染)

Less-18(条件竞争)

Less-19(条件竞争)

Less-20(图片马,move_uploaded_file)

第一种解法:

第二种解法:

第三种解法:

Less-21


Less-1(JS前端验证)

在前端页面按F12禁用JS

或者删除checkFile()

或者使用burp将 1.jpg 改为 1.php

Less-2(MIME验证)

在这两处修改,1.jpg 改为 1.php

再将内容类型Content-Type改为 image/jpeg、image/png、image/jpg

Less-3(黑名单,特殊过滤)

将 1.php 后缀改为 php2、php3、php5、php7、phtml等绕过(需要php5.3版本)

Less-4(黑名单验证,.htaccess)

相关知识:

.htaccess文件是Apache服务中的一个配置文件,它负责相关目录下的网页配置。

SetHandler application/x-httpd-php  意思是当前目录下,所有文件都以php进行解析

将.htaccess上传之后再随便上传一个带木马的文件即可

或者使用Apache解析漏洞,使用后缀名为.php.aaa.bbb上传

解析时从后往前 .bbb .aaa 不认识 到 .php 开始解析

Less-5(黑名单,点空格点绕过)

使用burp将后缀名后面加上点空格点绕过

Less-6(黑名单,大小写绕过)

源代码过滤了pHp,没有过滤Php、phP等,大小写绕过

Less-7(黑名单,空格绕过)

windows系统搭建的有该漏洞,windows解析时自动去除末尾的空格

在文件后缀名后加上空格即可绕过

Less-8(黑名单,点绕过)

源代码没有过滤点,在末尾加上.即可绕过

Less-9(黑名单,::$DATA)

相关知识:

在window中如果文件名+"::$DATA"会把::$DATA之后的数据当成文件流处理,不会检测后缀名

末尾加上::$DATA绕过即可

Less-10(黑名单,点空格点绕过)

补充知识:

deldot()函数从后向前检测,当检测到末尾的第一个点时会继续它的检测,但是遇到空格会停下来

后缀加上点空格点绕过即可

Less-11(黑名单,双写绕过)

补充知识:

str_ireplace(find,replace,string,count) 函数替换字符串中的一些字符(不区分大小写)

后缀名使用双写绕过

Less-12-13(白名单,%00截断)

%00截断的限制条件是PHP<5.3.29,且GPC关闭

因为当 magic_quotes_gpc 打开时,所有的 ' (单引号), " (双引号), \ (反斜线) and 空字符会自动转为含有反斜线的转义字符。

在POST请求头HTTP之前加上1.php%00进行截断,下面文件为白名单格式(1.png、1.jpg)

Less-14(图片马绕过unpack)

补充知识:

unpack是二进制解包,前两个字节解包分为两个包,然后合并结合switch判断

使用生成的图片马上传即可

Less-15(图片马getimagesize)

补充知识:

getimagesize用于获取图像大小及相关信息,成功返回一个数组,失败则返回 FALSE

与14关相同,上传图片马即可绕过

Less-16(图片马exif_imagetype)

补充知识:

开启模块之后,做法与14关相同

Less-17(二次渲染)

补充知识:

imagejpeg — 输出图象到浏览器或文件。

使用php版本(PHP 4, PHP 5, PHP 7, PHP 8)

上传一张图片马,创建一张画布,重新绘画进行二次渲染

上传成功之后下载下来使用winhex二进制查看

与原来的图片进行对比,在没有改动的地方插入木马

将插入木马的图片再次上传即可

Less-18(条件竞争)

使用木马脚本

上传脚本,在没有被删除之前执行脚本

python代码

使用burp配合python,上传到burp拦截,然后使用burp进行爆破

python先开启,一直访问这个url,当执行代码没来得及删除的时候python访问到,执行代码

执行之后会写入一个shelltest.php文件,如下所示

执行shelltest.php文件即可

Less-19(条件竞争)

文件名改为白名单,条件竞争在改名之前访问到url生成木马,与18关相同

python代码有所更改

也可以使用非预期解,直接上传图片马,文件包含

Less-20(图片马,move_uploaded_file)

第一种解法:

补充知识:

本关用move_uploaded_file函数执行上传动作,该函数会忽略文件末尾的 ' /. '

因此可以在文件名后加/.这两个符号来绕过黑名单的限制。

使用burp抓包,在高亮处加上/.即可绕过

第二种解法:

上传图片马,文件包含

第三种解法:

直接上传文件,大小写绕过

Less-21

本关请参考另一篇博客

upload-labs 21关解析-CSDN博客

相关文章:

upload-labs 通关方法

目录 Less-1&#xff08;JS前端验证&#xff09; Less-2&#xff08;MIME验证&#xff09; Less-3&#xff08;黑名单&#xff0c;特殊过滤&#xff09; Less-4&#xff08;黑名单验证&#xff0c;.htaccess&#xff09; Less-5&#xff08;黑名单&#xff0c;点空格点绕过…...

5-26 Cpp学习笔记

1、如果子类实现了基类的函数&#xff0c;返回值、参数都相同&#xff0c;就覆盖了基类的函数。 2、使用作用域解析运算符来调用基类的函数。myDinner.Swim(); —— 调用子类的。myDinner.Fish::Swim(); —— 调用基类的(基类是Fish) 3、在子类中使用关键字using解除对Fish::…...

YOLOv8_pose的训练、验证、预测及导出[关键点检测实践篇]

1.关键点数据集划分和配置 从上面得到的数据还不能够直接训练,需要按照一定的比例划分训练集和验证集,并按照下面的结构来存放数据,划分代码如下所示,该部分内容和YOLOv8的训练、验证、预测及导出[目标检测实践篇]_yolov8训练测试验证-CSDN博客是重复的,代码如下: …...

架构师必考题--软件系统质量属性

软件系统质量属性 1.质量属性2.质量属性场景描述3.系统架构评估 这个知识点是系统架构师必考的题目&#xff0c;也是案例分析题第一题&#xff0c; 有时候会出现在选择题里面&#xff0c;考的分数也是非常高的。 1.质量属性 属性说明可用性错误检测/恢复/避免性能资源需求/管理…...

使用AWR对电路进行交流仿真---以整流器仿真为例

使用AWR对电路进行交流仿真—以整流器仿真为例 生活不易&#xff0c;喵喵叹气。马上就要上班了&#xff0c;公司的ADS的版权紧缺&#xff0c;主要用的软件都是NI 的AWR&#xff0c;只能趁着现在没事做先学习一下子了&#xff0c;希望不要裁我。 本AWR专栏只是学习的小小记录而…...

在UbuntuLinux系统上安装MySQL和使用

前言 最近开始计划在Ubuntu上写一个webserver的项目&#xff0c;看到一些比较好的类似的项目使用了MySQL&#xff0c;我就打算先把环境搞好跑一下试试&#xff0c;方便后面更进一步的学习。其实在本机windows上我已经有一个mysql&#xff0c;不过 在Unbuntu上安装MySQL 首先…...

React 如何自定义 Hooks

自定义 Hooks React 内部自带了很多 Hooks 例如 useState、useEffect 等等&#xff0c;那么我们为什么还要自定义 Hooks&#xff1f;使用 Hooks 的好处之一就是重用&#xff0c;可以将代码从组件中抽离出来定义为 Hooks&#xff0c;而不用每个组件中重复去写相同的代码。首先是…...

智能家居完结 -- 整体设计

系统框图 前情提要: 智能家居1 -- 实现语音模块-CSDN博客 智能家居2 -- 实现网络控制模块-CSDN博客 智能家居3 - 实现烟雾报警模块-CSDN博客 智能家居4 -- 添加接收消息的初步处理-CSDN博客 智能家居5 - 实现处理线程-CSDN博客 智能家居6 -- 配置 ini文件优化设备添加-CS…...

双指针用法练习题(2024/5/26)

1三数之和 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意&#xff1a;答案中不可以包含重复的三元…...

Ansible02-Ansible Modules模块详解

目录 写在前面4. Ansible Modules 模块4.1 Ansible常用模块4.1.1 Command模块4.1.2 shell模块4.1.3 scrpit模块4.1.4 file模块4.1.5 copy模块4.1.6 lineinfile模块4.1.7 systemd模块4.1.8 yum模块4.1.9 get_url模块4.1.10 yum_repository模块4.1.11 user模块4.1.12 group模块4.…...

【Python特征工程系列】一文教你使用PCA进行特征分析与降维(案例+源码)

这是我的第287篇原创文章。 一、引言 主成分分析&#xff08;Principal Component Analysis, PCA&#xff09;是一种常用的降维技术&#xff0c;它通过线性变换将原始特征转换为一组线性不相关的新特征&#xff0c;称为主成分&#xff0c;以便更好地表达数据的方差。 在特征重要…...

【Linux】Ubuntu系统挂载NAS文件夹

测试系统&#xff1a;Ubuntu24.02 1. 安装必要的软件包 sudo apt update sudo apt install cifs-utils 2. 创建挂载点 sudo mkdir -p /mnt/nas 3. 获取当前用户的 UID 和 GID id -u id -g 4. 挂载&#xff1a;设置用户名/密码/nas地址 sudo mount -t cifs -o username,…...

如何用ai打一场酣畅淋漓的数学建模比赛? 给考研加加分!

文章目录 数学建模比赛1. 数学建模是什么&#xff1f;2. 数学建模分工合作2.1 第一&#xff1a;组队和分工合作2.2 第二&#xff1a;充分的准备2.3 第三&#xff1a;比赛中写论文过程 3. 数学建模基本过程4. 2023全年数学建模竞赛时间轴5. 数学建模-资料大全6. 数学建模实战 数…...

深入浅出MySQL事务实现底层原理

重要概念 事务的ACID 原子性&#xff08;Atomicity&#xff09;&#xff1a;即不可分割性&#xff0c;事务中的操作要么全不做&#xff0c;要么全做一致性&#xff08;Consistency&#xff09;&#xff1a;一个事务在执行前后&#xff0c;数据库都必须处于正确的状态&#xf…...

SVM兵王问题

1.流程 前面六个就是棋子的位置&#xff0c;draw就是逼和&#xff0c;后面的数字six就代表&#xff0c;白棋最少用六步就能将死对方。然后呢&#xff0c;可以看一下最后一个有几种情况&#xff1a; 2.交叉测试 leave one out&#xff1a; 留一个样本作测试集&#xff0c;其余…...

yolov5_obb

yolov5_obb: 旋转目标检测从数据制作到终端部署全流程教学...

NextJs 初级篇 - 安装 | 路由 | 中间件

NextJs 初级篇 - 安装 | 路由 | 中间件 一. NextJs 的安装二. 路由2.1 路由和页面的定义2.2 布局的定义和使用2.3 模板的定义和使用① 模板 VS 布局② 什么是 use client 2.4 路由跳转的方式2.5 动态路由2.6 路由处理程序① GET 请求的默认缓存机制② 控制缓存或者退出缓存的手…...

变分自动编码器(VAE)深入理解与总结

本文导航 0 引言1 起源1.1 自编码器的任务定义1.2 自编码器存在的问题1.3 VAE的核心思路 2 VAE的建模过程2.1 VAE的任务定义2.2 真实分布 ϕ \phi ϕ是什么&#xff0c;为什么要逼近这个分布的参数&#xff0c;如何做&#xff1f;2.3 “重参数化&#xff08;Reparameterization…...

Leetcode 剑指 Offer II 079.子集

题目难度: 中等 原题链接 今天继续更新 Leetcode 的剑指 Offer&#xff08;专项突击版&#xff09;系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 给定一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返…...

Linux基础命令常见问题解决方案

Linux 基础命令常见问题解决方案 在Linux的日常使用中&#xff0c;用户经常会遇到各种各样的问题。本文旨在提供一个关于Linux基础命令的常见问题及其解决方案的全面指南。我们将覆盖30种不同的错误场景&#xff0c;并给出具体的解决步骤和示例&#xff0c;帮助初学者快速定位…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

oracle与MySQL数据库之间数据同步的技术要点

Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异&#xff0c;它们的数据同步要求既要保持数据的准确性和一致性&#xff0c;又要处理好性能问题。以下是一些主要的技术要点&#xff1a; 数据结构差异 数据类型差异&#xff…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?

Redis 的发布订阅&#xff08;Pub/Sub&#xff09;模式与专业的 MQ&#xff08;Message Queue&#xff09;如 Kafka、RabbitMQ 进行比较&#xff0c;核心的权衡点在于&#xff1a;简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别

【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而&#xff0c;传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案&#xff0c;能够实现大范围覆盖并远程采集数据。尽管具备这些优势&#xf…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...