文件上传--Upload-labs--Pass02--Content-Type绕过

简介: 文件上传--Upload-labs--Pass02--Content-Type绕过

一、什么是 Content-Type

我们在上传文件时利用 Burpsuite 进行抓包,如下图所示:

上传文件后台的源代码可能会对 Content-Type 进行规定,设置白名单 或 黑名单,这时就要利用Content-Type绕过上传含有恶意代码的 php文件。


二、代码审计

分析源代码,代码中设置了 Content-Type 白名单,只有符合代码规定的三种 Content-Type 的文件才可以上传。

现在逐字逐句分析这行 白名单 代码:

['upload_file']:代表上传文件的字段名。

['type'] :代表获取上传文件的类型(MIME类型)。常见的上传文件的类型如:jpeg/png/gif。  

Content和Type两者用 / 来分隔。

 

三、通关思路

1、通过源代码已知题目对 Content-Type 设置了白名单,那我们通过抓包修改文件的 Content-Type即可。首先上传php文件,对其进行抓包。

2、修改 Content-Type,将其修改为 image/jpeg 或其他符合白名单的类型。

3、发包,成功上传文件。

4、在新标签页中打开图片,执行php代码。

---通关。

相关文章
|
6月前
|
存储 安全 Apache
文件上传--Upload-labs--Pass03--特殊后缀与::$DATA绕过
文件上传--Upload-labs--Pass03--特殊后缀与::$DATA绕过
文件上传--Upload-labs--Pass03--特殊后缀与::$DATA绕过
|
6月前
|
安全 PHP Windows
文件上传--Upload-labs--Pass07--点绕过
文件上传--Upload-labs--Pass07--点绕过
|
6月前
文件上传--Upload-labs--Pass12--(POST)00绕过
文件上传--Upload-labs--Pass12--(POST)00绕过
|
6月前
|
安全 PHP
文件上传--Upload-labs--Pass20--数组绕过
文件上传--Upload-labs--Pass20--数组绕过
|
6月前
|
安全 PHP
文件上传--Upload-labs--Pass11--(GET)00绕过
文件上传--Upload-labs--Pass11--(GET)00绕过
|
6月前
|
前端开发 安全 JavaScript
文件上传--Upload-labs--Pass01--前端绕过
文件上传--Upload-labs--Pass01--前端绕过
|
6月前
|
安全 PHP
文件上传--Upload-labs--Pass13&&14&&15--图片马
文件上传--Upload-labs--Pass13&&14&&15--图片马
|
6月前
|
安全 PHP
文件上传--Upload-labs--Pass05--大小写绕过
文件上传--Upload-labs--Pass05--大小写绕过
|
6月前
|
安全 PHP Windows
文件上传--Upload-labs--Pass06--空格绕过
文件上传--Upload-labs--Pass06--空格绕过
|
6月前
|
安全 PHP
文件上传--Upload-labs--Pass19--move_upload_file()函数特性
文件上传--Upload-labs--Pass19--move_upload_file()函数特性