uploads-labs靶场(1-10关)

一、搭建环境:

下载upload-labs源代码

下载链接:https://codeload.github.com/c0ny1/upload-labs/zip/refs/heads/master

将压缩包解压后的文件名改为upload-labs,然后放入phpstudy\www目录下

二、关卡通关:

1、pass-01(前端绕过):

本关我们需要上传一个webshell到服务器,首先我们先上传一个php文件尝试一下:

上传以后,我们发现此关不允许上传php相关类型的文件:

我们查看源码后:

 此关检验功能在于前端代码,JavaScript进行白名单验证,我们利用浏览器内置的功能禁止JavaScript的运行(我是用的是google浏览器)

随后上传文件:

可以看出来,上传成功。 

同时,我们查看后端源代码中的upload中也看到了web.php被上传进去了。

2、pass-02(对数据包的MIME进行绕过

第二关,我们继续使用第一关的同款方法,随后我们查看界面:

此关提醒文件类型不正确,让我们继续上传文件,所以我们由此猜测,此关的名单验证应该在后端代码中,我们查看源码进行:

分析代码,我们发现此关只允许我们上传代码有关的类型,所以我们使用Burpsuite完成下列关卡,将代理设置为8080端口:

随后我们上传我们的php文件进行抓包处理,

抓包处理后将其设置到repeter模块(以下为代码演示),我们将其类型设置为image/jpeg格式:

send过后我们查看burpsuit中的第二关:

已经上传成功,同时我们在vscode中查看upload文件夹,同样也被上传成功。

 3、pass-03(黑名单禁止):

第三关我们首先查看提示,发现禁止我们上传php,jsp等文件:

但通过查询资料我们可以了解,php的扩展名还有.php3和.php5以及.phtml的形式,我们上传web.php3后:

上传成功。

4、pass-04(.hataccess绕过):

首先查看提示,本关继续使用黑名单,禁止下列文件格式:

限制特别多,但是我们可以想到一种更奇特的方法(即.htaccss文件):

通过查询文件上传漏洞之.htaccess文件解析漏洞_.htaccess 漏洞-CSDN博客 的博主资料,我们找到了一句话:

Sethandler application/x-httpd-php

查看作用后,发现这句话的作用是将该目录所有文件均映射为php文件类型,所以我们先上传.htaccess文件,随后再上传我们的jpg文件(jpg文件要和.hataccess文件在同一个目录下),查看后我们发现uploads已经被传上去。

5、pass-05(大小写绕过)

首先查看提示,很明显绕过了上一关我们所用的.hataccess文件。

我们查看源码,发现尽管本关有许多限制,但他忘记绕过大小写:

 我们上传.PHP形式的代码:

 成功绕过。

6、pass-06(空格绕过):

第六关我们分析代码后,发现此关只有三处限制,相对于第五关来说, 没有限制空格

我们抓包进行处理,随后将web.php文件加空格:

此时,绕过成功。

7、pass-07(.绕过):

将第六关和第七关源码进行对比,我们看到第六关将.绕过,第七关并没有绕过,所以我们是否可以猜测,"."起的作用是否和第六关" "起的作用一样。

我们继续抓包进行尝试:

 8、Pass-08(::$DATA字符绕过)

继续对比,我们发现,相比于第六七关,此关没有进行data字符的绕过,所以我们继续抓包

 ​​​​​​​​​​​​​​​​​​​​​

成功。

9、pass-09:

这关我们结合五六七八关,几乎过滤了所以的条件绕过,所以我们考虑可以使用逻辑绕过,先绕过.再绕过空格。

web.php. .(文件格式) #先跳过".",再跳过" ",最后剩一个".",与第七关类似,绕过本关。 

 10、pass-10(双写绕过):

继续分析代码,我们可以看出,此关有一个替换代码,可以将php等关键字符用" " 替换。所以我们可以考虑使用之前在xss关卡中使用的双写方法:

修改文件类型为以下格式:

web.pphphp

随后,我们检查:

绕过成功。 

后续关卡会尽快补充。

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

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

相关文章

VMware ESXi 8.0U1d macOS Unlocker OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版)

VMware ESXi 8.0U1d macOS Unlocker & OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版) 发布 ESXi 8.0U1 集成驱动版,在个人电脑上运行企业级工作负载 请访问原文链接:https://sysin.org/blog/vmware-esxi-8-u1-sysin/,查看最新版。原…

openlayers 入门教程(二):map 篇

还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,ech…

Java学习笔记(14)

常用API Java已经写好的各种功能的java类 Math Final修饰,不能被继承 因为是静态static的,所以使用方法不用创建对象,使用里面的方法直接 math.方法名 就行 常用方法 Abs,ceil,floor,round,max,minm,pow,sqrt,cbrt,random Abs要注意参数的…

「SpringBrick快速入门指南」:一款基于Spring Boot的高级插件化开发框架

文章目录 关于 | About技术文档 | Document开源项目 | Project 案例 | Demo项目结构 | Structure主程序配置集成 | Settings引入框架依赖 | Framework在配置文件加入配置 | YamlSpringBoot启动类改引导类 | Change 插件配置集成 | Settings引入依赖 | XML定义插件引导类 | Clas…

【计算机网络】https的工作原理以及和http的区别

目录 前言 1. HTTP协议存在的问题 2. 什么是HTTPS协议? 3. HTTP和HTTPS有哪些区别? 4. HTTPS的工作原理 加密方式 前言 在日常的Web项目练习中,我们会发现老师会让我们在打开服务器之后使用 http://localhost/...进行项目效果测试和预览…

Tuxera NTFS 2023安装使用教程 Tuxera NTFS破解版 Tuxera NTFS for Mac优惠

对于必须在Windows电脑和Mac电脑之间来回切换的Mac朋友来说,跨平台不兼容一直是一个巨大的障碍,尤其是当我们需要使用NTFS格式的硬盘在Windows和macOS之间共享文件时。因为Mac默认不支持写入NTFS磁盘。 为了解决这一问题,很多朋友会选择很便捷…

QML 布局管理器之ColumnLayout

一.ColumnLayout讲解 QML中的ColumnLayout是一种布局元素,用于在垂直列中排列其子元素。它的主要使用下列附加属性: Layout.minimumWidth Layout.minimumHeight Layout.preferredWidth Layout.preferredHeight Layout.maximumWidth Layout.maximumHeight Layout.fil…

MIT线性代数-方程组的几何解释

文章目录 1. 二维空间1.1 行方向1.2 列方向 2. 三维空间2.1 行方向2.2 列方向 假设有一个方程组 A X B AXB AXB表示如下 2 x − y 0 (1) 2x-y0\tag{1} 2x−y0(1) − x 2 y 3 (2) -x2y3\tag{2} −x2y3(2) 矩阵表示如下: [ 2 − 1 − 1 2 ] [ x y ] [ 0 3 ] (3)…

Mr-Robot1靶场练习靶场推荐小白入门练习靶场渗透靶场bp爆破wordpress

下载链接: Mr-Robot: 1 ~ VulnHub 安装: 打开vxbox,菜单栏----管理----导入虚拟电脑 选择下载完的ova文件,并修改想要保存的位置(也可以保持默认位置) 导入完成后可以根据自己的情况去配置网络链接方式 完成…

HttpServer整合模块设计与实现(http模块五)

目录 类功能 类定义 类实现 编译测试 源码路标 类功能 类定义 // HttpServer模块功能设计 class HttpServer { private:using Handler std::function<void(const HttpRequest &, HttpResponse &)>;std::unordered_map<std::string, Handler> _get_r…

微信小程序开发学习笔记——3.11完成form评论案例的实现逻辑

>>跟着b站up主“咸虾米_”学习微信小程序开发中&#xff0c;把学习记录存到这方便后续查找。 课程连接&#xff1a;https://www.bilibili.com/video/BV19G4y1K74d?p25&vd_source9b149469177ab5fdc47515e14cf3cf74 一、javascript参考手册——splice https://www.…

2024年新算法:基于鹦鹉优化器PO的城市三维无人机路径规划(复杂地形三维航迹路径规划)

摘要&#xff1a;本文提出了一种利用鹦鹉优化器&#xff08;Parrot optimizer&#xff0c;PO&#xff09;来解决城市环境下无人机三维路径规划问题的方法。这种方法将复杂的无人机航迹规划任务转化为一个优化问题&#xff0c;然后运用鹦鹉优化器PO来解决这个优化问题。鹦鹉优化…