iwebsec 文件上传篇(已完结)

文章详细介绍了多种文件上传过滤绕过的方法,包括前端JS过滤、文件名过滤、Content-Type过滤、文件头过滤、.htaccess文件上传、文件截断上传和条件竞争文件上传。这些技术常用于Web安全测试和防护,揭示了代码审查和安全设置的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

01. 前端JS过滤绕过

意思很简单,就是在前端对文件后缀进行了检查过滤。

在这里插入图片描述

可以看到只能上传jpg、jpeg、png等图片。但是我们可以使用bp进行重放达到成功上传任意文件的目的。

在这里插入图片描述

可以看到上传成功,我们可以访问uploads/b.php验证一下。

在这里插入图片描述

可以看到php代码已经执行了。同时可以看一下uploads目录

在这里插入图片描述

02. 文件名过滤绕过

后端对文件名进行了过滤。

在这里插入图片描述

可以看到后端只是过滤了php,我们可以使用大小写,php4等绕过

在这里插入图片描述

在这里插入图片描述

:大家刚开始可能找上传路径的时候会有点迷,如果使用bp可以在响应框里面仔细看一下,一般就是在最后,或者在浏览器按F12后,上传正常文件查看路径,看下图,可以很简单的就拿到上传的路径信息。(在Network)部分查看,截图截少了。

在这里插入图片描述

03. Content-Type过滤绕过

简单来说就是文件类型过滤,我们可以通过抓包修改文件的Content-Type达到成功上传任意文件的目的。

在这里插入图片描述

在这里插入图片描述

我们可以看一下源码,发现确实就单纯过滤了Content-Type

在这里插入图片描述

04. 文件头过滤绕过

什么是文件头呢?每个不同类型的文件都有不同的文件头,大家可以使用010或者其他软件打开查看一下

在这里插入图片描述

我们常加的是gif的文件头,因为比较好记。GIF89a

在这里插入图片描述

在这里插入图片描述

可以看到源码里面使用exif_imagetype函数来判断。

在这里插入图片描述

05. .htaccess文件上传

.htaccess文件上传是利用.htaccess文件可以对Web服务器进行配置的功能,实现将扩展名.jpg、.png等的文件当作PHP文件解析的过程。同时该文件起作用的有效时间我记得是限制的,好像是五分钟(不确定)。噢,对了,大家要先上传.htaccess文件后再上传.jpg文件

在这里插入图片描述

在这里插入图片描述

06. 文件截断上传

文件截断上传原理是,上传路径可控。后端又对上传的文件名进行截取然后拼接后缀名存储。

在这里插入图片描述

可以看到,就算我们上传a.php的话,最终也是随机数+jpg的格式存储到up目录下。

在这里插入图片描述

但是由于上传路径可控,这就可以使用%00来进行截断了。这里有个技巧就是在路径后面随便添加一些字符,以便修改为00

在这里插入图片描述

在这里插入图片描述

最后访问test.php即可

在这里插入图片描述

07. 条件竞争文件上传

条件竞争的原理很简单,就是上传文件的时候,会先把该文件存储在该目录下,然后检测文件是否合理。两者间就会有一段空闲的时间,所以在这个时间段我们就可以访问这个文件,但是这个间隔很小,需要使用bp的重复功能进行爆破。大家可以看一下源码

在这里插入图片描述

所以说,条件竞争产生的原因就是代码写的不够严谨

在这里插入图片描述

先使用bp,拦截上传页面以及访问a.php的页面

在这里插入图片描述

然后使用暴力破解模块进行攻击

在这里插入图片描述

最终可以发现有一些访问到了的请求。

注意:这个只是演示存在条件竞争,我们真正利用在实际中,是写一个可以创建另外一个php文件的脚本达到上传木马的目的。毕竟就算访问成功,文件还是会被删除的,所以我们要在文件删除前创建一个新的木马。

如:

<?php fputs(fopen("shell.php","w"),"<?php @eval($_POST[123]);?>");?>

完结,写的比较仓促,可能有一些会没有注意到。大家如果对文件上传路径迷惑的话,可以看一下第二关结尾的部分。因为前面忘记有一些人可能会找不到上传路径的问题。

内容概要:本文档详细介绍了在三台CentOS 7服务器(IP地址分别为192.168.0.157、192.168.0.158和192.168.0.159)上安装和配置Hadoop、Flink及其他大数据组件(如Hive、MySQL、Sqoop、Kafka、Zookeeper、HBase、Spark、Scala)的具体步骤。首先,文档说明了环境准备,包括配置主机名映射、SSH免密登录、JDK安装等。接着,详细描述了Hadoop集群的安装配置,包括SSH免密登录、JDK配置、Hadoop环境变量设置、HDFS和YARN配置文件修改、集群启动与测试。随后,依次介绍了MySQL、Hive、Sqoop、Kafka、Zookeeper、HBase、Spark、Scala和Flink的安装配置过程,包括解压、环境变量配置、配置文件修改、服务启动等关键步骤。最后,文档提供了每个组件的基本测试方法,确保安装成功。 适合人群:具备一定Linux基础和大数据组件基础知识的运维人员、大数据开发工程师以及系统管理员。 使用场景及目标:①为大数据平台建提供详细的安装指南,确保各组件能够顺利安装和配置;②帮助技术人员快速掌握Hadoop、Flink等大数据组件的安装与配置,提升工作效率;③适用于企业级大数据平台的建与维护,确保集群稳定运行。 其他说明:本文档不仅提供了详细的安装步骤,还涵盖了常见的配置项解释和故障排查建议。建议读者在安装过程中仔细阅读每一步骤,并根据实际情况调整配置参数。此外,文档中的命令和配置文件路径均为示例,实际操作时需根据具体环境进行适当修改。
在无线通信领域,天线阵列设计对于信号传播方向和覆盖范围的优化至关重要。本题要求设计一个广播电台的天线布局,形成特定的水平面波瓣图,即在东北方向实现最大辐射强度,在正东到正北的90°范围内辐射衰减最小且无零点;而在其余270°范围内允许出现零点,且正西和西南方向必须为零。为此,设计了一个由4个铅垂铁塔组成的阵列,各铁塔上的电流幅度相等,相位关系可自由调整,几何布置和间距不受限制。设计过程如下: 第一步:构建初级波瓣图 选取南北方向上的两个点源,间距为0.2λ(λ为电磁波波长),形成一个端射阵。通过调整相位差,使正南方向的辐射为零,计算得到初始相位差δ=252°。为了满足西南方向零辐射的要求,整体相位再偏移45°,得到初级波瓣图的表达式为E1=cos(36°cos(φ+45°)+126°)。 第二步:构建次级波瓣图 再选取一个点源位于正北方向,另一个点源位于西南方向,间距为0.4λ。调整相位差使西南方向的辐射为零,计算得到相位差δ=280°。同样整体偏移45°,得到次级波瓣图的表达式为E2=cos(72°cos(φ+45°)+140°)。 最终组合: 将初级波瓣图E1和次级波瓣图E2相乘,得到总阵的波瓣图E=E1×E2=cos(36°cos(φ+45°)+126°)×cos(72°cos(φ+45°)+140°)。通过编程实现计算并绘制波瓣图,可以看到三个阶段的波瓣图分别对应初级波瓣、次级波瓣和总波瓣,最终得到满足广播电台需求的总波瓣图。实验代码使用MATLAB编写,利用polar函数在极坐标下绘制波瓣图,并通过subplot分块显示不同阶段的波瓣图。这种设计方法体现了天线阵列设计的基本原理,即通过调整天线间的相对位置和相位关系,控制电磁波的辐射方向和强度,以满足特定的覆盖需求。这种设计在雷达、卫星通信和移动通信基站等无线通信系统中得到了广泛应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值