web漏洞“小迪安全课堂笔记”文件操作安全,文件上传

文件上传小迪安全笔记

  • 思维导图
  • 利用思路
    • 什么是文件上传漏洞?
    • 文件上传漏洞有哪些危害?
    • 文件上传漏洞如何查找及判断?
    • 文件上传漏洞有哪些需要注意的地方?
    • 关于文件上传漏洞在实际应用中的说明?
  • 案例
  • 前端验证
  • 后端
    • 后缀名:黑名单
      • .htaccess文件上传漏洞
      • 空格绕过
      • 点绕过
      • ::$DATA
      • 源码过滤
    • 后缀名:白名单(比黑名单安全)
      • %00截断
      • 0x00
    • 文件类型——MIME
    • 文件包含漏洞
    • 内容及其他
      • 文件头
      • 逻辑安全:二次渲染
      • 逻辑安全:条件竞争
      • 数组接受+重命名
  • CVE——搭建平台中间件
    • 解析漏洞
      • iis6.0
      • apache
        • 低版本2.x解析漏洞——黑名单
        • 配置文件 解析漏洞
        • apache换行解析漏洞——黑名单——vulhub
      • nginx
        • nginx文件解析漏洞——vulhub
        • nginx文件名逻辑漏洞——vulhub
  • 编辑器安全
    • Fckeditor exp利用
    • ueditor 漏洞利用
  • CMS文件上传
    • 通达OA系统漏洞
  • 信息收集_中间件,cms,编辑器
  • WAF绕过
    • 上传参数名解析: 明确哪些东西能修改?
    • 常见绕过方法
      • 数据溢出——防匹配(xxx...)
      • 符号变异——防匹配(' " ;)
      • 数据截断——防匹配(%00 ; 换行)
      • 重复数据——防匹配(参数多次)
    • FUZZ字典
  • 文件上传安全修复方案
  • 注释

思维导图

web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第1张图片

利用思路

web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第2张图片

什么是文件上传漏洞?

指程序对文件的上传未作全面的限制,导致用户可以上传一些超越用户权限的一些文件,可以是木马,shell脚本,病毒等。

文件上传漏洞有哪些危害?

可以通过文件上传漏洞上传webshell后门。

文件上传漏洞如何查找及判断?

黑盒: 使用扫描工具扫描打开网站。
黑盒:测试会员中心,测试后台。
白盒:直接撸源代码。

文件上传漏洞有哪些需要注意的地方?

拿到漏洞后要对漏洞类型进行区分,编辑器、第三方应用、常规等。区分漏洞类型。

关于文件上传漏洞在实际应用中的说明?

上传后门脚本获取网站权限

案例

1、常规文件上传地址的获取说明:上传的文件要执行的话,要按照对应代码执行。
2、不同格式下的文件类型后门测试
3、配合*解析漏洞(php1.x)*下的文件类型后门测试本地文件:上传+解析漏洞=高危漏洞。
4、上传漏洞靶场环境搭建,测试某CMS及CVE编号文件上传漏洞测试:这种第三方插件的漏洞测试和常规漏洞测试是不一样的。

前端验证

前端验证浏览器可直接禁用或删除,后端是安全的
1、将前端下载到本地。
2、删除过滤代码。
3、增添或修改action,修改为上传的源文件。
web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第3张图片

后端

后缀名:黑名单

明确禁止上传的格式:asp,php,jsp,aspx,cgi,war。
若黑名单中没有定义或管理员配置文件问题,php5,Phtml可通过这两种格式绕过。

.htaccess文件上传漏洞

.htaccess文件上传漏洞原理及实例

空格绕过

windows系统在命名时末尾加空格,会默认去掉。可通过改包加空格绕过。

点绕过

windows系统在命名时末尾加点,会默认去掉。可通过改包加点绕过。

::$DATA

【文件上传绕过】八、::$DATA上传绕过

源码过滤

简单过滤,
循环过滤,递归过滤更安全

后缀名:白名单(比黑名单安全)

明确可以上传的格式:jpg,png,zip,rar,gif…

%00截断

地址get
web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第4张图片
%00相当于把后面的截断掉了,get会自动解码为截断符号,无需编码
postweb漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第5张图片
修改,并url编码,post不会自动解码所以需要url编码为截断符号
此url编码不是文本文件%00的url编码

0x00

文件类型——MIME

报文中Content-Type,可截包修改实行欺骗

文件包含漏洞

内容及其他

文件头

可抓包修改
在这里插入图片描述

逻辑安全:二次渲染

情景:例如上传图片到服务器后,有二次操作,对图片删除修改和保存。
——简单来说就是在上传时,代码中分为两步。
先上传服务器,在验证文件格式。——不安全
先验证文件格式,在上传服务器。——安全

逻辑安全:条件竞争

例:一个文件正在使用时,无法修改或删除。
在二次渲染中,先上传服务器,在进行验证(改名)。可通过工具不断刷新此文件,进行条件竞争。

数组接受+重命名

CVE——搭建平台中间件

解析漏洞

解析漏洞
web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第6张图片

iis6.0

web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第7张图片

apache

低版本2.x解析漏洞——黑名单

Apache默认一个文件可以有多个以点分割的后缀,当最右边的后缀无法识别(不在 默 mime.types文件内),则继续向左识别,直到识别到合法后缀才进行解析。
可以上传一个不识别的文件后缀,利用漏洞规则成功解析文件,其中后门代码被触发,例:x.php.yyy

配置文件 解析漏洞

apache换行解析漏洞——黑名单——vulhub

nginx

nginx文件解析漏洞——vulhub

nginx文件名逻辑漏洞——vulhub

编辑器安全

在扫描到网站编辑器目录信息时,可利用编辑器漏洞。——在线提交脚本。

Fckeditor exp利用

ueditor 漏洞利用

web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第8张图片

CMS文件上传

通达OA系统漏洞

web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第9张图片

信息收集_中间件,cms,编辑器

字典爆破
会员中心

WAF绕过

上传参数名解析: 明确哪些东西能修改?

Content-Disposition:一般可更改
name:表单参数值,不能更改
==filename:文件名,可以更改 ==
Content-Type:文件MIME,视情况更改

常见绕过方法

原始包:upload pass02 安全狗
web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第10张图片

数据溢出——防匹配(xxx…)

符号变异——防匹配(’ "

猜测waf匹配规则,尝试绕过
web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第11张图片
web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第12张图片
web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第13张图片
web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第14张图片
web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第15张图片
web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第16张图片
web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第17张图片
web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第18张图片

数据截断——防匹配(%00 ; 换行)

web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第19张图片
web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第20张图片

重复数据——防匹配(参数多次)

web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第21张图片
web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第22张图片
web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第23张图片
web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第24张图片
web漏洞“小迪安全课堂笔记”文件操作安全,文件上传_第25张图片

FUZZ字典

burp fuzz模糊测试
https://github.com/fuzzdb-project/fuzzdb
https://github.com/TheKingOfDuck/fuzzDicts

文件上传安全修复方案

后端验证:采用服务端验证模式后缀检测:
后缀检测:基于黑名单,白名单过滤M工ME检测:
MIME检测:基于上传自带类型检测
内容检测:文件头,完整性检测

自带函数过滤:参考uploadlabs函数——get_image_pointer1
自定义函数过滤:function check_file(){ }
WAF防护产品:宝塔,云盾,安全公司产品等

注释

有waf上传漏洞无法判定,
1、先绕过waf
2、进行漏洞判定

你可能感兴趣的:(网络安全,网络安全)