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

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

当我们上传php文件或其他的木马文件时,不止会出现前端的js检测,还会有服务端的校验

content-type字段校验

MIME(Multipurpose Internet Mail Extensions)多用途网络邮件扩展类型,可被称为Media typeContent type,它设定某种类型的文件当被浏览器打开的时候需要用什么样的应用程序,多用于HTTP通信和设定文档类型例如HTML。

常用类型
在这里插入图片描述
上传场景:在这里插入图片描述
而在进行文件上传时,后端往往会对content-type进行过滤

绕过方法:
1.抓包改content-type字段;
2.改文件名后再上传抓包改回文件名;
3.上传正常文件改文件内容;

针对第二个方法,为什么我们改文件名后再上传抓包改回文件名就可以绕过content-type字段呢?
因为content-type字段是根据你上传的**文件名的格式(后缀)**来进行判断的。

假如我们想上传一个php文件,但是该上传点只允许上传jgp格式的文件,并对content-type字段进行检测,那么我们可以将php文件后缀改成.jpg,这样content-type字段通过检测,再进行抓包将文件后缀改成.php,这样就可以上传成功并实现该文件的功能。

黑名单校验

判断后缀名:在这里插入图片描述
可以看到,黑名单校验的本质就是判断后缀名,将可疑或可能存在危险的文件直接进行过滤。

绕过方法:
1.大小写绕过,例如Php、PhP;
2.利用黑名单里面没有的,但又可以被解析的后缀名,例如:php、php3、php4、php5、php7、pht、phtml、phps;
在这里插入图片描述

配合apache的.htaccess文件上传解析:
在这里插入图片描述
具体就是在.htaccess文件中可以针对目录改变配置,将你设定的目录或文件以其他的方式解析。
例如:
在这里插入图片描述
然后就可以将该目录下的php7.jpg文件作为php格式文件进行解析

还有两种方法,基于版本问题已经很难遇到了,这里也提及一下:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值