upload-labs(1-19关)通关攻略

Pass-01

本关思路:删除前端js校验

进入第一关环境

桌面新建一个php文件,命名为1.php

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

我们上传此文件,发现不允许上传,且页面没有变化,说明前端进行了拦截

这时我们打开 F12 ,小箭头定位到上传框,发现上面有一个检查的方法,删除后再次上传试试

这样我们就能上传成功

鼠标右键在新标签页打开图像,测试能否使用菜刀连接,也可以使用下面的方法检测

Pass-02

本关思路:抓包 修改文件类型

首先查看源码

选择文件,使用bp抓取上传的请求包

将选中位置的数据类型修改为 image/jpeg ,放行,然后返回浏览器

这样就能上传成功了

鼠标右键在新标签页打开图像,测试能否使用菜刀连接,也可以使用下面的方法检测

Pass-03

本关思路:上传同类型后缀名.php3

查看源码

上传此文件

上传成功,新建标签页打开图像,检查能否连接

Pass-04

本关思路:上传.htaccess配置文件

首先创建一个.htaccess文件(文件名就为.htaccess)内容如下

AddType application/x-httpd-php .png

查看源码

意思就是如果文件里面有一个后缀为.png的文件,他就会被解析成.php。先上传一个1.png文件,然后上传这个.htaccess,再访问1.png

Pass-05

本关思路:大小写绕过

查看源码,发现这一关没有对大小写进行限制

将后缀名中的一个 p 大写,改为1.Php,上传文件

上传成功,再次访问1.Php

Pass-06

本关思路:抓包 空格绕过

查看源码,发现这一关没有收尾去空限制

我们在文件后面加上空格,但由于windows特性,文件名后空格会被直接删除,不能直接上传.php后加空格,所以我们要用burp抓包然后再添加空格

点击放行,上传成功

再次访问1.php

Pass-07

本关思路:抓包点绕过

查看源码,发现少了删除文件末尾的点

和第六关一样,windows文件后缀名不能加’.',一样使用burp抓包然后后缀加一个点

点击放行,上传成功

再次访问1.php

Pass-08

本关思路:抓包 ::$DATA绕过

查看源码

发现少了去除字符串,和前面关卡一样,在burp中抓包在文件名后加::$DATA

点击放行,上传成功

再次访问1.php

Pass-09

本关思路:抓包 点空格点绕过

查看源码

发现没有循环验证,也就是说转换大小写去除空格什么的它只验证一次,在burp中抓包在文件名后加:. .

点击放行,上传成功

再次访问1.php

Pass-10

本关思路:重复写绕过

查看源码

发现没有了前几关的验证方式,而且是一个黑名单验证,意思是如果上传了它这些后缀的文件,就会把后缀名删除,没了后缀名也就无法正常解析,不过不需要着急,这关同样只验证一次,所以我们只需要把后缀改为.pphphp,它删除掉中间的php后后缀仍然为php

点击上传,发现上传成功

鼠标右键在新标签页打开图像

Pass-11

本关思路:get型 %00截断绕过

查看源码

很明显是一个白名单上传,它只允许上传它给定的后缀名,这里我的环境出现问题不能使用,替换的靶场为ctfhub上的00截断:CTFHub

进入环境

上传1.png文件,使用bp抓取上传的请求包

其中 /var/www/html/ 为网站的根目录,按下图修改

点击放行,上传成功

蚁剑连接

双击打开,就能获得flag

Pass-12

本关思路:post型 %00截断绕过

查看源码

与上一关相比,发现接受值变成了post,那么思路就和第十一关一样

抓包试试

post方式不会自行解码,所以要对%00进行urldecode编码,burp可以进行快捷编码,选中%00右键convert selection即可进行快速url编码

后面操作和前一关一样

Pass-13

本关思路:文件包含图片马绕过

根据提示可知本关需要文件包含漏洞+图片马组合使用

图片马单靠自己没用,需要一个有文件包含漏洞的php文件将图片马包含到自己的页面上

新建一个1.jpg文件,在第一行添加.gif的开头:GIF89a,后面是一句话木马

上传此文件

上传成功,在新标签页打开图像,发现后缀变为.gif

此时需要搭配文件包含漏洞使用

访问 include.php

会发现提交方式为:get型的file,直接在网址后面加以下代码

?file=upload/8420241219180851.gif

测试连接

Pass-14

本关思路:文件包含图片马绕过

这一关与上一关流程一样,上传1.jpg,在新标签页打开图像

我们也可以尝试蚁剑连接

测试连接--连接成功

Pass-15

本关思路:文件包含图片马绕过

同13,14关

Pass-16

本关思路:文件包含二次渲染专用图绕过

尝试和之前一样的操作:上传1.jpg文件

报错,查看源码

imagecreatefromjpeg()函数,二次渲染是由Gif文件或 URL创建一个新图象。成功则返回一图像标识符/图像资源,失败则返回false,导致图片马的数据丢失,上传图片马失败

这里我们必须使用二次渲染专用图:文件上传之二次渲染(专用图).zip - 蓝奏云

上传解压后的.gif文件,发现上传成功

鼠标右键在新标签页打开图像

复制 upload/14713.gif ,访问 include.php ,在网址后面加上以下代码

?file=upload/14713.gif

我们在蚁剑连接前首先要得到一句话木马的连接密码:在记事本中打开二次渲染专用图22.gif

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

尝试蚁剑连接

连接成功

Pass-17

本关思路:抓包 爆破条件竞争

查看源码

发现如果上传的符合它的白名单,那就进行重命名,如果不符合,直接删除!解析的机会都没有,这让我想到了条件竞争,如果我在它删除之前就访问这个文件,他就不会删除了

上传一个php文件,然后burp抓包发到爆破模块

不添加payload位置

开始攻击,然后用浏览器一直访问1.php,按F5一直刷新,如果在上传的瞬间访问到了,它就无法删除

将1.php改为以下内容

<?php fputs(fopen('webshell.php','w'),'<?php @eval($_POST["cmd"])?>');?>

上传这个php文件,重复bp抓包后的流程,就能得到一个webshell.php文件

Pass-18

本关思路:上传二次渲染的图片马 文件包含漏洞

查看源码

发现和第17关的差距是,这关还检测了后缀名,不能直接上传php文件,所以这关要上传图片马,其他步骤和17关类似。访问图片时使用文件包含

我们上传图片马 22.gif,使用bp抓包,发送到攻击模块,和17关一样的操作,开始攻击

然后用浏览器一直访问22.gif,按F5一直刷新,如果在上传的瞬间访问到了,它就无法删除

Pass-19

本关思路:文件名命名规范

看到19关的页面,多了一个保存名称,没有对上传的文件做判断,只对用户输入的文件名做判断

查看源码

有move_uploaded_file()这样一个函数,它有一个特性,会忽略到文件末尾的/.

直接上传1.php,保存名称为2.php,抓包,在末尾加上/.

点击放行,上传成功,右键在新标签页打开图像

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【开源库 | minizip】Linux(Ubuntu18.04)下,minizip的编译、交叉编译

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; ⏰发布时间⏰&#xff1a; 2024-12-20 …

uniapp地址类 方法

关于点击没反应 manifest.json 检查是否添加了对应的权限 /* 小程序特有相关 */"mp-weixin" : {"appid" : "wxc481f10754f1d9df","setting" : {"urlCheck" : false,"es6" : true,"postcss" : true,&qu…

WebContainerapi 基础(Web IDE 技术探索 一)

前言 随着web技术的发展&#xff0c;在网页端直接运行node.js、实现微型操作系统已经不再是难事。今天介绍的 WebContainers就是一个基于浏览器的运行时&#xff0c;用于执行 Node.js 应用程序和操作系统命令&#xff0c;它完全运行在您的浏览器页面中&#xff0c;提供了文件系…

【爬虫开发】爬虫开发从0到1全知识教程第11篇:Mongodb数据库,介绍【附代码文档】

本教程的知识点为&#xff1a;爬虫概要 爬虫基础 爬虫概述 知识点&#xff1a; 1. 爬虫的概念 requests模块 requests模块 知识点&#xff1a; 1. requests模块介绍 1.1 requests模块的作用&#xff1a; 数据提取概要 数据提取概述 知识点 1. 响应内容的分类 知识点&#xff1a…

FFmpeg 安装教程(Windows 系统)

1. 前言 FFmpeg 是一个用于处理视频、音频等多媒体文件的开源工具包。它支持几乎所有的多媒体格式转换、剪辑和编辑&#xff0c;是开发者和多媒体工作者必备的工具。本文详细讲解如何在 Windows 系统上安装 FFmpeg 并进行基本配置。 2. 下载 FFmpeg 安装包 打开 Dpwnload FFmp…

【AutoDL】通过【SSH远程连接】【vscode】

小帅碎碎念 0. 起因1. SSH信息获取2. 给你的vscode安装支持SSH远程连接的插件3. SSH远程连接入口4. 输入密码登陆5. 总结 0. 起因 之前使用AutoDL和Jupyter进行代码编辑和执行确实很方便&#xff0c;尤其是对于交互式数据分析项目。然而&#xff0c;也存在一些限制和不便之处&…

C# 识别二维码

文章目录 一. 二维码识别技术概述二 维码识别的步骤图像预处理二维码的定位和检测二维码解码 三 常用的二维码识别库1. OpenCV2. ZXing.Net 一. 二维码识别技术概述 二维码是一种通过黑白矩阵排列来编码数据的图形符号&#xff0c;它的编码方式具有较强的容错性&#xff0c;可以…

如何在 Linux 服务器上部署 Pydio Cells 教程

简介 Pydio Cells 是一个开源的文档共享和协作平台&#xff0c;专为你的组织设计。它允许你在组织内部分享文档和文件&#xff0c;并让你完全掌控文档共享环境。 在本教程中&#xff0c;我们将向你展示如何在 Alma Linux 9 服务器上安装 Pydio Cells。你将使用 MariaDB 数据库…

OkHttp源码分析:分发器任务调配,拦截器责任链设计,连接池socket复用

目录 一&#xff0c;分发器和拦截器 二&#xff0c;分发器处理异步请求 1.分发器处理入口 2.分发器工作流程 3.分发器中的线程池设计 三&#xff0c;分发器处理同步请求 四&#xff0c;拦截器处理请求 1.责任链设计模式 2.拦截器工作原理 3.OkHttp五大拦截器 一&#…

(2024年最新)Linux(Ubuntu) 中配置静态IP(包含解决每次重启后配置文件失效问题)

Hello! 亲爱的小伙伴们&#xff0c;大家好呀&#xff08;Smile~&#xff09;&#xff01;我是Huazzi&#xff0c;欢迎观看本篇博客&#xff0c;接下来让我们一起来学习一下Ubuntu 中如何配置静态IP吧&#xff01;祝你有所收获&#xff01; 提前对Linux有所了解的小伙伴应该知道…

vue3渲染el-tree组件,给默认选中的节点,禁用所有子节点

实现逻辑&#xff1a;给默认选中节点的所有子节点添加一个disabled属性&#xff0c;以此禁用子节点。 编写代码 <template><el-tree :props"{ children: children, label: name }" :data"treeListData" show-checkbox node-key"id" r…

uniapp中vuex(全局共享)的应用

一、Vuex概述 1.1 官方解释 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。 它采用集中式存储管理 应用的所有组件的状态&#xff0c;并以相应的规则保证状态以一种可预测的方式发生变化 - Vuex 也集成到 Vue 的官方调试工具 devtools extension&#xff0c;提供了诸…

Unity中触发器Trigger无法被射线检测到的问题

今天在做项目的时候发现,同一个物体,当他是碰撞器的时候,可以被射线检测到. 但是当他变成触发器的时候,射线就检测不到了??? 本来以为就是这样的,但是查了资料发现并没有这样的限制,触发器也是可以正常被射线检测的 到处查资料都没有发现问题,后来发现是下面这个设置不知道…

搭建springmvc项目

什么是springmvc MVC它是一种设计理念。把程序按照指定的结构来划分: Model模型 View视图 Controller控制层 springmvc框架是spring框架的一个分支。它是按照mvc架构思想设计的一款框架。 springmvc的主要作用: 接收浏览器的请求数据&#xff0c;对数据进行处理&#xff0c;…

超越 RAG 基础:AI 应用的高级策略

作者&#xff1a;来自 Elastic Elastic Platform Team 我们最近与 Cohere 举办的虚拟活动深入探讨了检索增强生成 (retrieval augmented generation - RAG) 的世界&#xff0c;重点讨论了在概念验证阶段之后构建 RAG 应用程序的关键注意事项。我们的演讲者是 Elastic 的首席解…

音频开发中常见的知识体系

在 Linux 系统中&#xff0c;/dev/snd 目录包含与声音设备相关的文件。每个文件代表系统中的一部分音频硬件或音频控制接口。以下是你列出的文件及其含义&#xff1a; 一.基本术语 样本长度(sample)&#xff1a;样本是记录音频数据最基本的单位&#xff0c;计算机对每个通道采…

贪心算法 part01

class Solution { public:int maxSubArray(vector<int>& nums) {int result INT32_MIN;int count 0;for (int i 0; i < nums.size(); i) {count nums[i];if (count > result) { // 取区间累计的最大值&#xff08;相当于不断确定最大子序终止位置&#xff…

Ubuntu 安装texstudio sty与texlive

手动安装需要的包 访问CTAN网站&#xff08;Comprehensive TeX Archive Network&#xff09;并下载enumitem宏包&#xff1a; enumitem CTAN页面下载后&#xff0c;将宏包解压到/usr/share/texmf/tex/latex/下。 可打开texstudio/帮助/宏包帮助下载。 如果不想手动安装一个个…

Moretl安全日志采集工具

永久免费: 至Gitee下载 使用教程: Moretl使用说明 使用咨询: 用途 定时全量或增量采集工控机,电脑文件或日志. 优势 开箱即用: 解压直接运行.不需额外下载.管理设备: 后台统一管理客户端.无人值守: 客户端自启动,自更新.稳定安全: 架构简单,兼容性好,通过授权控制访问. 架…

CAN配置---波特率中断引脚等---autochips-AC7811-ARM-M3内核

1、配置工具 虽然不怎么好用&#xff0c;但比没有强多了。具体看图&#xff1a; 时钟选着 NVIC配置 GPIO配置 2、生成的具体配置信息 NXP的配置工具里面&#xff0c;具体的波特率可以直接显示&#xff0c;这个工具没有&#xff0c;怎么办&#xff1f; 它放到了生成的代码里面…