upload-lab通关

news/2024/11/27 8:45:06/

1.pass-1 前端js检查,修改js或修改后缀绕过

查看源代码,可以发现是客户端的进行检查:

两种方法:

(1).禁用js或修改js代码

(2).抓包修改后缀

这里采用抓包修改后缀

先改成可以上传的后缀名,在抓包修改后缀名为php

1.php代码

<?php phpinfo();?>

把包发送,访问1.php

2.pass-2服务端(后端)MIME检查,修改content-type值绕过

MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型,通俗来说就是表示这个文件是什么类型的文件(是图片,还是音频,视频,代码)

Content-Type 标头告诉客户端实际返回的内容的内容类型

比如说Content-type:image/jpeg 这表示是一张图片

上传1.php文件,修改content-type的值为image/png即可

放包,访问1.php

源代码,这里检测了content-type的值

3.pass-3 黑名单,特殊后缀绕过

源码:这里给文件重新命名了

特殊后缀有php3,php4,php5 ,phtml等

因为apache把这些特殊后缀都解析成了php代码,所以就造成了文件上传后可以执行php

需要修改apache的配置文件httpd.conf

没有添加,有的就删除#号,重启apache

 AddType application/x-httpd-php .php .phtml .php3 .php4

注意这里php版本选择不带nts的,用nts的版本会出现解析不了,只能下载保存文件

上传1.php3,访问1.php3,注意这里文件名,查看图像或复制图像地址在进行访问

4.pass-4黑名单,.htaccess或.user.ini

这题在上传php3就失败了

查看提示

可以通过传配置文件进行绕过,配置文件分为.htaccess,

user.ini

.htaccess配置内容可以下方任意一个

第一个将此目录及子目录下的文件全部按照php代码去解析

第二个经特定的后缀名解析为php

第三个使用php5-script处理器解析匹配到和后缀名一致的文件

SetHandler application/x-httpd-php
AddType application/x-httpd-php .png
AddHandler php5-script .png

.user.ini可以是下面任意的一种

是当其他php文件执行时会自动包含1.png,如果1.png有代码会被执行

auto_append_file = 1.png
auto_prepend_file = 1.png

注意这里是访问1.php,而不是1.png,访问的是当前目录存在的php文件,而不是上传还有木马的图片

.user.ini内容的意思是当执行php代码时,会在php文件中自动包含1.png

使用htaccess前提:
AllowOverride All不为none
服务器是apache
php版本是不带nts的

使用.user.ini前提:

上传目录有php文件
服务器为fastcgi,php版本是带nts
apache和nginx服务器都可以使用

这题使用的.htaccess

<FilesMatch "1.png">
SetHandler application/x-httpd-php
</FilesMatch>

上传.htaccess

上传1.png

成功解析

5.pass-5黑名单,大小写绕过

.htacceess不可上传

查看源码

上传1.PHP,访问文件,注意这里被重命名了,所以.user.ini也不可用

参考文章:

(12条消息) Upload-labs 1-21关 靶场通关攻略(全网最全最完整)_upload靶场_晚安這個未知的世界的博客-CSDN博客

(12条消息) .htaccess文件上传解析漏洞_mmzkyl的博客-CSDN博客


http://www.ppmy.cn/news/35003.html

相关文章

特殊的LaTex数学符号

LaTeX符号说明\partial∂\partial∂\DeltaΔ\DeltaΔ\betaβ\betaβ\piπ\piπ\alphaα\alphaα\thetaθ\thetaθ\xiξ\xiξ\varphiφ\varphiφ\times\times乘\div\div除\dfrac{dz}{dx}dzdx\dfrac{dz}{dx}dxdz​分号\neq≠\neq不等于\approx≈\approx≈约等于\equiv≡\equiv≡…

【华为OD】几何平均值最大子数组_ [二分查找+前缀和]

目录 一. 🌟 题目描述二. 🌟 输入描述三. 🌟 输出描述3.13.2 用例四. 🌟 题目解析五. 🌟 Java玩法六. 🌟 JavaScript玩法一. 🌟 题目描述 从一个长度为 N 的正数数组 numbers 中找出长度至少为 L 且几何平均值最大子数组,并输出其位置和大小。(K 个数的几何平均…

【百面成神】spring基础12问,你能坚持到第几问

前 言 &#x1f349; 作者简介&#xff1a;半旧518&#xff0c;长跑型选手&#xff0c;立志坚持写10年博客&#xff0c;专注于java后端 ☕专栏简介&#xff1a;java面试宝典&#xff0c;特点&#xff1a;全、精、深、简&#xff0c;力求每个核心知识点1分钟回答好。 &#x1f3…

Python用湖南天气详情数据(可惜没雨),进行简单的可视化分析

前言 Echarts是一个开源的数据可视化JS库&#xff0c;pyecharts是一款将python与echarts结合的强大的数据可视化工具 开发环境 python 3.8pycharm 2022.3.2 完整源码看这里这里&#x1f448;&#x1f448;&#x1f448; 先来获取我们想要的天气数据 请求数据 因为是静态网…

数据仓库相关面试题

1.请介绍一下星型模型和雪花模型的区别及适用场景。 星型模型和雪花模型是数据仓库中常见的两种数据建模方式。 星型模型是由一个中心事实表和多个与之相关的维度表构成的&#xff0c;维度表通常只有一层&#xff0c;每个维度表只关联一个事实表。在星型模型中&#xff0c;事实…

Sketch for mac(专业矢量绘图设计软件)图文安装教程

Sketch是一款Mac上的矢量图形设计软件&#xff0c;专门用于UI/UX设计&#xff0c;它能够帮助设计师快速创建高质量的数字产品原型和界面设计方案。 Sketch具有简单易用的界面&#xff0c;支持多种插件和扩展&#xff0c;可以轻松地集成到设计工作流程中。Sketch内置了多种常用…

CentOS支持中文

一般 centos 默认支持语言 en_US.UTF-8&#xff0c;但是这样会有中文乱码的出现&#xff0c;我们需要设置成 zh_CN.UTF-8 才行。 1.查看系统是否安装有中文语言包 locale -a | grep “zh_CN” 命令含义&#xff1a;列出所有可用的公共语言环境的名称&#xff0c;包含有"z…

如何巧妙应用JMeter的Dummy Sampler

很少人知道Dummy Sampler这个采样器(扩展插件里带的),也不知道它的妙用。Dummy Sampler 可以比较方便地模拟测试场景,自定义Request Data和Response Data,在学习测试脚本编写的过程中非常有用。另外如果巧妙应用它,可以在开发人员出接口文档后(接口还没实现)就可以同步…