文件上传绕过1——前端绕过+.htacces绕过

文件上传-前端验证

前端验证一般是在网页上写一段Js脚本,用Js去检测校验上传文件的后缀名,有白名单也有黑名单。

案例:upload—labs靶场——第一关---前端验证

上传php文件,不给上传

网页右键查看页面元素,发现使用了js来写过滤代码,在表单进行了调用

只需要就表单中将调用js验证语句的代码删除即可

再次点击上传,成功上传,右键打开图片——php成功执行

前端验证非常不可靠,传正常文件数据包更改后缀就可以绕过,甚至关闭JS都可以尝试绕过

 

后端验证——MIME验证——Content-Type方式绕过

MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的因特网标准。MIME消息能包含文本、图像、音频、视频以及其他应用程序专用的数据。常见的MIME类型如下:

文件扩展名  

Mime-Type

.js

application/x-javascript

.html

text/html

.jpg

image/jpeg

.png

image/png

.pdf

application/pdf

在HTTP协议中,使用Content-Type字段表示文件的MIME类型。

这种服务器检测和前端检测没什么太大区别,只是检查一下文件的上传格式,虽然无法通过删除浏览器事件来绕过,但是依旧可以使用BURP抓包,修改绕过。

案例:upload—labs——第二关—后端MIME验证

上传php,提示文件类型不正确

根据提示,可以判断是MIME验证,上传时目标服务器检测Content-Type字段,直接burpsuite抓包,更改Content-Type为支持上传的类型

显示的Content-Type为application/octet-stream,而服务器上会检测此字段是否为jpeg等符合标准的文件类型,所以我们可以直接修改Content-Type字段的值为image/jpeg

更改之后上传,成功上传

案例:upload--labs——第四关---.htacces文件绕过

打开第四关查看提示,发现没有过滤.htacces文件

那么我们就可以先上传一个内容为:

<FilesMatch "php.jpg">

SetHandler application/x-httpd-php

的.htacces文件,让服务器把指定的文件当做PHP文件来执行

 然后我们将一句话木马:<?php phpinfo();?>  写进php.jpg中

将.htaccess文件上传,再将php.jpg上传,打开图片地址,图片内容成功被当作php执行

其他绕过方法可见:文件上传绕过2_xiaoheizi安全的博客-CSDN博客

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaoheizi安全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值