Upload-LABS通关攻略【1-20关】

Pass-01

第一关是前端JS绕过

上传一个php文件显示只能上传特定后缀名的文件

这里将1.php改为1.jpg直接进行抓包,在数据包中将jpg改为php放行

文件上传成功,邮件图片新建页面打开

可以访问到1.php文件,则一句话密码上传成功

使用蚁剑 进行连接可以成功

Pass-02

查看源码,发现是限制了MIME类型只能是imge/jpeg

上传一个1.jpg文件

抓包,将jpg改为php,MIME类型依旧是imge/jpeg,放行

上传成功

新建页面打开图片,之后再次使用蚁剑进行连接即可,这里及之后的关卡就不再赘述此步骤了

Pass-03

这一关限制很多,但是可以使用黑名单绕过

将文件名改为1.php4、1.php5等后缀名进行上传即可

Pass-04

这一关是.htaccess攻击,关于.htaccess具体参考下面链接

.htaccess介绍

这一关需要先上传.htaccess文件,再上传1.jpg,可以访问到1.jpg代表上传成功

Pass-05

这一关要先上传.user.ini文件,再上传1.jpg文件

但是在访问 的时候会发现显示错误

这里需要提前在upload目录在新建一个php文件作为.user.ini文件的引导文件

然后访问这个新建的php文件就可以服务到我们上传的文件

我这里创建的php文件是readme.php,访问

Pass-06

这一关是大小写绕过

将1.php的后缀名大小写组合即可上传成功,但是不能改为1.pHp,这个后缀被过滤了

Pass-07

这一关强制将文件名转换为小写

可以使用空格绕过

抓包,在php后面加一个空格,放行

上传成功

Pass-08

这一关使用填点绕过,就是在php文件名后面加上一个点即可

抓包

上传成功

Pass-09

这一关将空格和点都过滤了,

所以我们使用数据流绕过

就是在文件名后面加上::$DATA

将文件变成一个数据流,而不再是文件

抓包

上传成功

Pass-10

这一关基本上是把之前的上传方式都过滤了

但是还是有办法的,我们使用点空格点过滤

就是在文件名的后面加上点空格点,这样只有最后的点和空格会被过滤

最终保留的就是1.php.

抓包,放行

上传成功

Pass-11

这一关是双写绕过

就是讲后缀名嵌套书写来躲避过滤

上传成功

Pass-12

这一关是白名单%00截断

首先上传一个1.jpg文件

抓包,在upload目录后面加上随机的php文件,然后使用%00隔断,这样就相当于将一个1.jpg文件写入了1.php文件中

上传成功

删除后面的jpg文件,访问1.php

Pass-13

这一关和12关一样,只是有get传参改为了post传参

首先进行抓包,在upload后面写一个php文件,在文件的后面加一个““+””符号


 

点开十六进制页面 ,找到刚才输入的加号,将其改为00,放行即可

上传成功

在将php文件后面的多余东西删除 ,直接访问php文件即可

Pass-14

这一关是图片马文件包含绕过

首先,将一个jpg文件和php文件合成图片马

上传生产的shell.jpg文件,

Pass-15

上传上一关的shell.jpg文件,使用file协议进行访问

Pass-16

环境不适配,感兴趣可以在fofa上找一个靶场环境适配的进行练习

Pass-17

图片需要二次渲染,上传图片,图片右键新建标签页打开图片,打开文件包含漏洞,用file读取图片地址

使用蚁剑进行连接

Pass-18

创建php文件。里面写php语句如下

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

上传文件,抓包,进行攻击

得到webshell文件

进行蚁剑连接

Pass-20

这一关是黑名单绕过

上传文件1.php。保存名称改为1.php/.

右键访问图片得到结果

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

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

相关文章

Redux的中间件原理分析

Redux的中间件原理分析 redux的中间件对于使用过redux的各位都不会感到陌生&#xff0c;通过应用上我们需要的所有要应用在redux流程上的中间件&#xff0c;我们可以加强dispatch的功能。最近抽了点时间把之前整理分析过的中间件有关的东西放在这里分享分享。本文只对中间件涉…

音视频开发之旅(90)-Vision Transformer论文解读与源码分析

目录 1.背景和问题 2.Vision Transformer(VIT)模型结构 3.Patch Embedding 4.实现效果 5.代码解析 6.资料 一、背景和问题 上一篇我们学习了Transformer的原理&#xff0c;主要介绍了在NLP领域上的应用&#xff0c;那么在CV(图像视频)领域该如何使用&#xff1f; 最直观…

C# 获取当前鼠标位置

在C#中&#xff0c;获取当前鼠标位置可以通过多种方式实现&#xff0c;但最常见和直接的方法之一是使用System.Windows.Forms命名空间中的Cursor类或者Control类的PointToClient&#xff08;如果你正在处理WinForms应用程序&#xff09;或Windows.UI.Core.CoreWindow的PointerP…

Java源码学习之高并发编程基础——AQS源码剖析之阻塞队列(下)

1.前言&目录 前言&#xff1a; 在上一篇文章AQS源码剖析之阻塞队列&#xff08;上&#xff09;中介绍了以独占锁模式下AQS的基本原理&#xff0c;AQS仅仅起到了一个“维持线程等待秩序”的作用&#xff0c;那么本篇文章继续讲解共享锁模式下的特点。 AQS不操纵锁的获取或者…

算法复盘——LeetCode hot100:哈希

文章目录 哈希表哈希表的基本概念哈希表的使用1. 插入操作2. 查找操作3. 删除操作 哈希表的优点和缺点1.两数之和复盘 242.有效的字母异位词复盘 49.字母异位词分组复盘 128. 最长连续序列复盘HashSet 哈希表 先来搞清楚什么是哈希表吧~ 概念不清楚方法不清楚怎么做题捏 哈希表…

问:说一下Java中数组的实例化方式有哪些?

在Java中&#xff0c;数组的实例化可以通过多种方式完成。以下是五种不同的实例化数组的方式。 1. 直接初始化 这种方式在声明数组的同时&#xff0c;直接初始化数组的元素。 // 示例&#xff1a;直接初始化一个整型数组 int[] numbers {1, 2, 3, 4, 5}; // 解释&#xff1…

使用mysql保存密码

登录MySQL 这行命令告诉MySQL客户端程序用户root准备登录&#xff0c;-p表示告诉 MySQL 客户端程序提示输入密码。 mysql -u root -p创建数据库 create database wifi; use wifi;create table password(user_password CHAR(8),primary key(user_password));源码 代码编译 …

C#——类与结构

在未学习面向对象语言时&#xff0c;我常常将类比作一种结构体&#xff0c;其实类与结构体也确实很相似&#xff0c;类用来做函数的集合&#xff0c;结构用来做变量的集合&#xff0c;接下来将从几个角度刨析类与结构的不同。 类 vs 结构 类和结构在设计和使用时有不同的考虑…

学习记录:js算法(二十):子数组最大平均数 I、无重复字符的最长子串

文章目录 子数组最大平均数 I我的思路网上思路 无重复字符的最长子串我的思路网上思路 总结 子数组最大平均数 I 给你一个由 n 个元素组成的整数数组 nums 和一个整数 k 。 请你找出平均数最大且 长度为 k 的连续子数组&#xff0c;并输出该最大平均数。 任何误差小于 10-5 的答…

QT实战项目之音乐播放器

项目效果演示 myMusicShow 项目概述 在本QT音乐播放器实战项目中&#xff0c;开发环境使用的是QT Creator5.14版本。该项目实现了音乐播放器的基本功能&#xff0c;例如开始播放、停止播放、下一首播放、上一首播放、调节音量、调节倍速、设置音乐播放模式等。同时还具备搜索功…

Centos 下载和 VM 虚拟机安装

1. Centos 下载 阿里云下载地址 centos-7.9.2009-isos-x86_64安装包下载_开源镜像站-阿里云 2. VM 中创建 Centos 虚拟机 2.1 先打开 VM 虚拟机&#xff0c;点击首页的创建新的虚拟机 2.2 选择自定义&#xff0c;然后点击下一步。 2.3 这里默认就好&#xff0c;继续选择下一…

docker加速配置 daemon.json

配置docker 加速 提高下载速度 在某些地区&#xff0c;尤其是中国&#xff0c;Docker Hub 的访问速度可能较慢&#xff0c;导致镜像下载时间过长。通过配置加速器&#xff0c;可以显著提高镜像的拉取速度&#xff0c;减少等待时间。 减少网络不稳定带来的影响 网络不稳定可能导…

gitlab SSH的使用

一、 安装git bash https://git-scm.com/download/win 下载windows 版本&#xff0c;默认安装即可。 二、使用命令 打开本地git bash,使用如下命令生成ssh公钥和私钥对 ssh-keygen -t rsa -C ‘xxxxxx.com’ 然后一路回车 (-C 参数是你的邮箱地址) 若是想输入密码可以输入…

算法-最长连续序列

leetcode的题目链接 这道题的思路主要是要求在O&#xff08;n)的时间复杂度下&#xff0c;所以你暴力解决肯定不行&#xff0c;暴力至少两层for循环&#xff0c;所以要在O&#xff08;n)的时间复杂度下&#xff0c;你可以使用HashSet来存储数组&#xff0c;对于每个数字&#…

黑马JavaWeb开发笔记07——Ajax、Axios请求、前后端分离开发介绍、Yapi详细配置步骤

文章目录 前言一、Ajax1. 概述2. 作用3. 同步异步4. 原生Ajax请求&#xff08;了解即可&#xff09;5. Axios&#xff08;重点&#xff09;5.1 基本使用5.2 Axios别名&#xff08;简化书写&#xff09; 二、前后端分离开发1. 介绍1.1 前后台混合开发1.2 前后台分离开发方式&…

Docker续6:容器网络

1.bridge-utils 一个用于Linux系统的网络桥接工具集。它提供了一些命令行工具&#xff0c;帮助用户创建、管理和配置网络桥接。网络桥接是一种将多个网络接口连接在一起&#xff0c;以使它们能够作为单个网络段进行通信的技术。 bridge-utils 常用的命令包括&#xff1a; b…

【 OpenHarmony 系统应用源码魔改 】-- Launcher 之「桌面布局定制」

前言 阅读本篇文章之前&#xff0c;有几个需要说明一下&#xff1a; 调试设备&#xff1a;平板&#xff0c;如果你是开发者手机&#xff0c;一样可以加 Log 调试&#xff0c;源码仍然是手机和平板一起分析&#xff1b;文章中的 Log 信息所显示的数值可能跟你的设备不一样&…

单片机编程魔法师-并行多任务程序

程序架构 程序代码 小结 数码分离&#xff0c;本质上就是将数据和代码逻辑进行分离&#xff0c;跟第一章使用数据驱动程序一样的道理。 不过这里不同之处在于。这里使用通过任务线程&#xff0c;但是却有2个任务在运行&#xff0c;两个任务都通过先初始化任务数据参数&#x…

this.$nextTick() 是 Vue.js 提供的一个方法

this.$nextTick() 是 Vue.js 提供的一个方法&#xff0c;用于在 DOM 更新完成后执行指定的代码。它的作用主要是确保在 Vue.js 完成 DOM 更新后&#xff0c;再执行某些依赖于更新的操作。这个方法通常用于处理需要在视图更新后立即进行的操作&#xff0c;如获取最新的 DOM 元素…

SQLite的安装和使用

一、官网链接下载安装包 点击跳转 步骤&#xff1a;点击安装这个红框的dll以及红框下面的tools &#xff08;如果有navicat可以免上面这个安装步骤&#xff0c;安装上面这个是为了能在命令行敲SQL而已&#xff09; 二、SQLite的特点 嵌入的&#xff08;无服务器的&#x…