文件上传绕过-前端绕过+.htacces绕过

admin 2024年2月21日23:48:31评论12 views字数 1087阅读3分37秒阅读模式

文件上传-前端验证

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

案例:uploadlabs靶场

第一关---前端验证

上传php文件,不给上传

文件上传绕过-前端绕过+.htacces绕过

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

文件上传绕过-前端绕过+.htacces绕过

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

文件上传绕过-前端绕过+.htacces绕过

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

文件上传绕过-前端绕过+.htacces绕过

文件上传绕过-前端绕过+.htacces绕过

前端验证非常不可靠,上传正常文件,数据包更改后缀就可以绕过,甚至关闭浏览器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抓包,修改绕过。

案例:uploadlabs

第二关—后端MIME验证

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

文件上传绕过-前端绕过+.htacces绕过

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

文件上传绕过-前端绕过+.htacces绕过

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

更改之后上传,成功上传

文件上传绕过-前端绕过+.htacces绕过

案例:upload--labs

第四关--- .htacces文件绕过

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

文件上传绕过-前端绕过+.htacces绕过

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

<FilesMatch "php.jpg">

SetHandler application/x-httpd-php

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

文件上传绕过-前端绕过+.htacces绕过

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

文件上传绕过-前端绕过+.htacces绕过

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

文件上传绕过-前端绕过+.htacces绕过

原文始发于微信公众号(小黑子安全):文件上传绕过-前端绕过+.htacces绕过

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月21日23:48:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   文件上传绕过-前端绕过+.htacces绕过http://cn-sec.com/archives/2507605.html

发表评论

匿名网友 填写信息