【ctf】文件上传漏洞——服务端校验(二)

文件上传漏洞——服务端校验

白名单校验

白名单的概念与“黑名单”相对应。
白名单是设置能通过的用户,白名单以外的用户都不能通过。
黑名单是设置不能通过的用户,黑名单以外的用户都能通过。
所以一般情况下白名单比黑名单限制的用户要更多一些。
所以,一般白名单是比较难以绕过的,但是配合其他漏洞就可以做到绕过白名单。

例如:配合apache的解析缺陷
原理:apache对文件的解析是从最后一个后缀开始解析,按最后一个合法后缀名来对文件进行解析。

这里我们可以打开我们的apache配置文件查看能解析的文件后缀
在这里插入图片描述(文件很长就截取一部分了)

哪些后缀Apache认识,哪些不认识?
有一个名为mime.types的文件,其中记录着Apache认识的后缀。
在Ubuntu下,该文件位于etc/mime.types,在Windows下,该文件位于C:/apache/conf/mime.types(类似这样的,注意Apache的安装路径)。
该文件是一个一对多的映射表,定义了某一种文件类型,对应的几种后缀。除了该文件,在Apache的配置文件中,还可以用AddCharset语句添加映射

例如:当你上传一个文件为1.php.jpg文件时,apache默认从后往前读取后缀名,如果apache无法识别.jpg文件后缀,那么会将该文件当作php文件解析。

内容头校验
在这里插入图片描述
getmagesize()函数可以通过识别文件头来识别文件的格式

每个格式的文件例如jpg,png,都有对应的文件格式,如果可以通过文件内容头来进行文件格式的判断,那么我们是否可以进行文件头的伪造呢?

绕过方法:
在php内容前加入其他格式的文件头进行绕过
例如:GIF89a<?php phpinfo();?>
那么GIF89a是什么呢,我们转码为16进制看看:
在这里插入图片描述

可以看到,我们在php内容的前面加入了gif的文件头识别,可以让文件被当作gif文件识别,达到了绕过的目的。
在这里插入图片描述

竞争上传
一般是属于逻辑漏洞
原理:
在这里插入图片描述
而当服务器进行判断的时候会有时间间隔,就可以进行利用.

方法:
1.手点,要求手速够快;
2.爆破;

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值