文件上传 07 上传攻击框架

本文记录文件上传学习过程,教程为 《Upload Attack Framework V1.0》

上传攻击框架

简介

之前的都是从服务端的角度在给上传情况分类

现在我们要从攻击者的角度来给上传情况分类

这是这套framework 的核心部分

知道了从攻击者的角度如何分类

就等于知道如何来综合分析一套源码

并从中知道是否有存在漏洞的可能性

绕过检测/过滤

  1. 轻量级检测绕过攻击

    [*] 绕过javascript 对扩展名的检测

    <用burp 之类的反向代理工具直接POST 数据包到服务端,绕过前端检测>

    [*] 绕过服务端对http request 包MIME 类型检测

    <用burp 之类的反向代理工具伪造POST 数据包到服务端,绕过MIME 检测>

  2. 路径/扩展名检测绕过攻击

    [*] 黑名单绕过

     文件名大小写			
     名单列表绕过			
     特殊文件名绕过		
     0x00 截断绕过		
     .htaccess 文件攻击
     本地包含漏洞
     Apache 解析漏洞
     IIS 解析漏洞
     Nginx 解析漏洞
    

    [*] 白名单绕过

     绕过0x00 截断绕过
     本地文件包含漏洞
     IIS 解析漏洞
     Nginx 解析漏洞
    
  3. 文件内容检测绕过攻击

    [*] 文件加载测试绕过

    <对文件进行代码注入再配合任意解析调用/漏洞>

  4. 上传攻击框架

    轻量级检测绕过攻击

     [*] 绕过javascript 对扩展名的检测				(代码层漏洞)
     [*] 绕过服务端对http request 包MIME 类型检测	(代码层漏洞)
    

    路径/扩展名检测绕过攻击

     [*] 黑名单绕过
    
     文件名大小写绕过		(代码层漏洞)
     名单列表绕过			(代码层漏洞)
     特殊文件名绕过			(代码层漏洞)
     0x00 截断绕过			(代码层漏洞)
     .htaccess 文件攻击		(代码层漏洞)
     php 文件包含漏洞		(代码层漏洞)
     Apache 解析漏洞			(应用层漏洞)
     IIS 解析漏洞			(应用层漏洞)
     Nginx 解析漏洞			(应用层漏洞)
    
    
     [*] 白名单绕过
    
     0x00 截断绕过			(代码层漏洞)
     php 文件包含漏洞		(代码层漏洞)
     IIS 解析漏洞			(应用层漏洞)
     Nginx 解析漏洞			(应用层漏洞)
    

    文件内容检测绕过攻击

     [*] 文件加载绕过		(代码层漏洞)
    

上传攻击流程图

在这里插入图片描述

代码层上传漏洞如下图(红色字体标记部分)

在这里插入图片描述

攻击要点:

要绕过轻量级检测

要绕过文件内容检测

A. 要绕过代码层对路径/扩展名检测(直接解析)

B. 找到代码层的解析调用(间接解析)

应用层上传漏洞如下图(红色字体标记部分)

在这里插入图片描述

攻击要点:

要绕过轻量级检测

要绕过文件内容检测

A. 找到应用层的解析漏洞(间接解析)

攻击手法与环节的对应图

在这里插入图片描述

上传攻击框架的核心之一

要注意下,在这里如果在路径/扩展名检测处检测未通过,流程到解析攻击时

白名单检测绕过技术里并不完全能利用所有解析攻击方式

在路径/扩展名检测绕过攻击里已经给出了具体细节

攻击手法与环节图

在这里插入图片描述

上传攻击分析框架

检测框架图

在这里插入图片描述

上传攻击框架的核心之二

大家可以像上面分析fckeditor 的方式,在分析一份源码或一个目标环境时

先把上面的上传攻击分析框架列表放好

然后去依次对比

哪些检测环节存在/不存在

哪些环节是安全/还是有漏洞

哪些环节如果被利用是代码层漏洞/还是Web 应用程序解析漏洞

对应在该项后面进行填写

最后把Vule 的部分选出来,再来分析如何进行组合,以及利用它们需要什么样的条件

通过这个分析框架进行白盒/黑盒分析并罗列出所有情况

攻击者便能更系统地分析出源码/目标环境可能存在的漏洞

整个上传攻击的核心最后被分析和总结成了上面两张重要的图

攻击手法与环节图和检测框架图

这两张图就是这篇 paper 最有价值的总结了

上传攻击的防御图

上传攻击的防御图

在这里插入图片描述

图中红点便是防御的重要环节

需要注意的:

  1. 轻量级检测必然能绕过
  2. 检测的重点放在文件内容检测 - 可以用检测脚本语言特征码的机制
  3. 路径/扩展名检测一定要用白名单 - 并且注意路径的0x00 截断攻击(把php 更新至最新版本即可,已经修补了这个漏洞了)
  4. 不能有本地文件包含漏洞
  5. 随时注意更新web 应用软件 - 避免被解析漏洞攻击
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值