仲灏小栈 仲灏小栈
首页
大前端
后端&运维
其他技术
生活
关于我
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

仲灏

诚意, 正心, 格物, 致知
首页
大前端
后端&运维
其他技术
生活
关于我
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 《前端项目基础建设》
  • HTML&CSS

  • JavaScript&TypeScript

    • typescript 万金油
    • 缓缓滚动到顶部实现方式
    • js 精准和模糊获取dom
    • iframe 笔记
    • 文件上传安全问题
      • 攻击手段及原理
      • 客户端问题(非第三方工具 NC Fidder等上传工具)
      • 抵御方法
    • 时间处理
    • Web H5 接入海康录像机 (rtsp转flv)
    • 全局数据
    • 持久化数据
    • typescript 类型库
    • type
    • 前端开发这些年碰到不常见的api(不论新旧 持续更新)
    • js api常用详解
    • 搭建typescript环境刷LeetCode算法
    • typescript 类型联动
    • 前端避免一直try...catch...(ts装饰器)
    • 高效操作DOM
    • 用好DOM事件
    • 理解 AST 实现和编译原理
    • 常用正则
    • js面试技能拼图 this
    • for...in for...of 区别
    • js 获取元素大小
  • Node

  • 构建

  • Vue

  • React

  • 小程序

  • 跨端

  • Electron

  • WebGL&GIS

  • 浏览器

  • 面经

  • 其他

  • 大前端
  • JavaScript&TypeScript
仲灏
2022-01-13
目录

文件上传安全问题

@[toc] 漏洞只能减少, 无法根除, 本文只初步介绍常见的攻击手段及客户端的基本防御

# 攻击手段及原理

  • 上传文件是WebShell时,攻击者可通过这些网页后门执行命令并控制服务器;

  • 上传文件是其他恶意脚本时,攻击者可直接执行脚本进行攻击;

  • 上传文件是恶意图片时,图片中可能包含了脚本,加载或者点击这些图片时脚本会悄无声息的执行;

  • 上传文件是伪装成正常后缀的恶意脚本时,攻击者可借助本地文件包含漏洞(Local File Include)执行该文件。如将bad.php文件改名为bad.doc上传到服务器,再通过PHP的include,include_once,require,require_once等函数包含执行。

# 客户端问题(非第三方工具 NC Fidder等上传工具)

  • 文件上传检查不严, 没有进行文件格式检查
    • 例如: .php .Php .pHp等
  • 文件名没有检查
    • 例如: xxx.php%00.jpg, (%00为十六进制的0x00字符, 对于服务器来说,因为%00字符截断的关系,最终上传的文件变成了xxx.php)
  • 有修改文件名功能是带了后缀( 先传输.jpg后, 改文件名是把文件后缀更换为 .php)

# 抵御方法

  • 检查文件名后缀(注意大小写, 可先统一转换小写或是大写)
  • 重构文件名称(防止 xxx.php%00.jpg这种类型)
  • 若是图片, 使用resize函数, 压缩方式更改其大小, 这样就算是脚本, 里面的代码也会被破坏导致无法使用
  • 不可修改文件名后缀
上次更新: 2022/06/05, 20:31:36
iframe 笔记
时间处理

← iframe 笔记 时间处理→

最近更新
01
vim日常使用记录
04-02
02
滑动窗口最大值
04-02
03
有效的字母异位词
04-02
更多文章>
Theme by Vdoing | Copyright © 2021-2025 izhaong | github | 蜀ICP备2021031194号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式