文件上传小迪安全笔记

  • 思维导图
  • 利用思路
    • 什么是文件上传漏洞?
    • 文件上传漏洞有哪些危害?
    • 文件上传漏洞如何查找及判断?
    • 文件上传漏洞有哪些需要注意的地方?
    • 关于文件上传漏洞在实际应用中的说明?
  • 案例
  • 前端验证
  • 后端
    • 后缀名:黑名单
      • .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字典
  • 文件上传安全修复方案
  • 注释

思维导图

利用思路

什么是文件上传漏洞?

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

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

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

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

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

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

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

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

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

案例

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

前端验证

前端验证浏览器可直接禁用或删除,后端是安全的
1、将前端下载到本地。
2、删除过滤代码。
3、增添或修改action,修改为上传的源文件。

后端

后缀名:黑名单

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

.htaccess文件上传漏洞

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

空格绕过

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

点绕过

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

::$DATA

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

源码过滤

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

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

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

%00截断

地址get

%00相当于把后面的截断掉了,get会自动解码为截断符号,无需编码
post
修改,并url编码,post不会自动解码所以需要url编码为截断符号
此url编码不是文本文件%00的url编码

0x00

文件类型——MIME

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

文件包含漏洞

内容及其他

文件头

可抓包修改

逻辑安全:二次渲染

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

逻辑安全:条件竞争

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

数组接受+重命名

CVE——搭建平台中间件

解析漏洞

解析漏洞

iis6.0

apache

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

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

配置文件 解析漏洞

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

nginx

nginx文件解析漏洞——vulhub

nginx文件名逻辑漏洞——vulhub

编辑器安全

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

Fckeditor exp利用

ueditor 漏洞利用

CMS文件上传

通达OA系统漏洞

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

字典爆破
会员中心

WAF绕过

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

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

常见绕过方法

原始包:upload pass02 安全狗

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

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

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

  1. web漏洞“小迪安全课堂笔记”文件操作安全,文件包含

    小迪安全课堂笔记文件包含 思维导图 原理 白盒 黑盒 看参数及功能点 本地包含 无限制,跨目录../../www.txt 有限制,增加了后缀html %00截断绕过 长度截断绕过 远程包含 无限制 有 ...

  2. web漏洞“小迪安全课堂笔记”SQL注入

    文章目录 前言 SQL注入是什么? 注入原理 数据库结构 mysql数据库 参数类型 请求方法 如何判断注入点? 判断注入 1.信息收集 2.数据注入 3.高权限注入 魔术引号开关 跨库注入 获取所有 ...

  3. web漏洞“小迪安全课堂笔记”反序列化PHPJAVA

    小迪安全课堂笔记反序列化 PHP思维导图 php反序列化 PHP反序列化热身题-无类问题-本地 CTF反序列化小真题-无类执行-实例 CTF反序列化练习题-有类魔术方法触发-本地 网鼎杯2020青龙大 ...

  4. 文件操作之文件包含漏洞

    目录 本文仅供参考.交流.学习,如有违法行为后果自负 文件包含类型 原理方面 文件包含漏洞原理案例: 必要条件 那么如何去检测漏洞是否存在该漏洞? 白盒 黑盒 类型 本地文件包含 无限制 有限制 远程 ...

  5. C++ 学习笔记之——文件操作和文件流

    1. 文件的概念 对于用户来说,常用到的文件有两大类:程序文件和数据文件.而根据文件中数据的组织方式,则可以将文件分为 ASCII 文件和二进制文件. ASCII 文件,又称字符文件或者文本文件,它的 ...

  6. 今天的码农女孩做了关于文件操作和文件拖拽的笔记 2022/1/21

    文件操作和文件拖拽 文件操作: js有两种机制:一个是事件机制,一个是io机制 文件操作对象: Blob通过二进制数据读取 file读取单个文件对象 fileList读取多个文件对象 fileRead ...

  7. CTF学习笔记22:iwebsec-文件上传漏洞-07-条件竞争文件上传

    一.正常上传php文件被删除 你这么暴力,刚上传就删除,解决思路就是不停地上传,你要接收文件.判断文件.删除文件总要时间吧: 那我见缝插针,不停地调用上传的文件,一旦成功就写入另一ma,也就是ma中m ...

  8. 在Windows上使用终端模拟程序连接操作Linux以及上传下载文件

    在Windows上使用终端模拟程序连接操作Linux以及上传下载文件 [很简单,就是一个工具的使用而已,放这里是做个笔记.] 刚买的云主机,或者是虚拟机里安装的Linux系统,可能会涉及到在windo ...

  9. node将当前文件上传到服务器,以编程方式将文件从node.js上传到另一个Web服务器...

    我需要将文件从node.js应用程序推送到其他地方运行的Web服务器,该服务器通过典型的上载机制接受文件.例如,假设接收服务器有一个网页,这样的形式:以编程方式将文件从node.js上传到另一个Web ...

最新文章

  1. python write和writelines的区别_简单了解Python write writelines区别
  2. 数据挖掘导论读书笔记11异常检测
  3. 基于VC++的GDI常用坐标系统及应用
  4. CAD格式数据转ArcGIS数据方法总结
  5. Leetcode 565. Array Nesting
  6. php api查询开发,PHP开发API接口(注册、登录、查询用户信息)的实例代码
  7. classmethod 继承_让人眼花缭乱的类继承
  8. springcloud config服务端配置(二)
  9. golang关键字和程序语句
  10. linux--exec函数族浅析
  11. 格式要求_课题论文的格式要求
  12. 使用 Gatsby.js 搭建静态博客 2 实现分页
  13. php开发面试题---面试常用英语(你能介绍你自己吗?)
  14. java web 编程技术 答案_《javaweb编程技术》课后习题答案.docx
  15. 第三阶段:Web前端:01Web(HTML、CSS、JavaScript)
  16. 49个终身受用的世界顶级思维(收藏)
  17. 屏蔽ip段访问 html,限制某IP段对网页的访问(ASP)
  18. 小新air 13 pro更换固态硬盘
  19. 架构师修炼系列【SOA架构】
  20. oracle一步一步学习(二)

热门文章

  1. 质检乌龙?巴西溃坝事故发酵,德国工程师被捕
  2. Java岗面试:Java调用下载接口进行文件下载
  3. 修改mysql初始密码时报错:ERROR 1064 (42000): You have an error in your SQL syntax
  4. 智慧园区建设助力智慧城市信息化建设
  5. java 合并和拆分单元格_如何轻松合并和拆分电子书
  6. hdu4044 依赖背包变形 好题!
  7. 基于BP神经网络的手写数字识别
  8. 服务器怎么拷贝文件夹下,Syncovery(数据备份工具)如何在windows下远程访问服务器批量拷贝文件?Syncovery图文教...
  9. 青莲云董方:物联网世界到底是一种什么样的黑
  10. FlurryAnalytics for ios