当前位置: 首页 > news >正文

《Web安全基础》04. 文件上传漏洞

web

  • 1:文件上传漏洞
  • 2:WAF 绕过
    • 2.1:数据溢出
    • 2.2:符号变异
    • 2.3:数据截断
    • 2.4:重复数据


本系列侧重方法论,各工具只是实现目标的载体。
命令与工具只做简单介绍,其使用另见《安全工具录》。

靶场参考:upload-labs。

1:文件上传漏洞

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

在这里插入图片描述

文件上传漏洞查找及判断

  • 黑盒测试:使用工具扫描网站,测试会员中心、后台等。
  • 白盒测试:直接分析源代码。

文件上传常见检测

  • 检测后缀名,MIME 信息,文件头内容等
  • 黑名单
  • 白名单

常见检测绕过

  • 文件头伪造
  • 图片马
  • 二次渲染绕过
  • 条件竞争
  • 文件使用目录命名方式(但操作系统实际保存时仍为文件)
  • 系统漏洞
  • 数组接受(传递数据时,一次性写入多个相同的参数,但参数内容不同)
  • 截断绕过
  • 大小写绕过
  • 空格绕过

上传参数名解析

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

上传文件和文件执行是两个东西

漏洞分类

  • 解析漏洞
  • CMS 漏洞
  • 编辑器漏洞
  • CVE 漏洞

安全修复方案

  • 后端验证:采用服务端验证模式
  • 后缀检测:基于黑名单,白名单过滤
  • MIME 检测
  • 内容检测:文件头,完整性检测
  • 自定义函数过滤
  • WAF 防护产品

2:WAF 绕过

WAF 常见绕过方法

  • 数据溢出
  • 符号变异
  • 数据截断
  • 重复数据

以下是一些 WAF 绕过的例子:

2.1:数据溢出

数据溢出,添加垃圾数据以致防火墙数据溢出:

在这里插入图片描述

2.2:符号变异

符号变异,破坏数据包原本符号对:

在这里插入图片描述

符号变异,破坏数据包原本符号对:

在这里插入图片描述

符号变异,文件名混淆:

在这里插入图片描述

符号变异,文件名混淆:

在这里插入图片描述

2.3:数据截断

数据截断,文件名换行。

在这里插入图片描述

2.4:重复数据

重复数据,传递多个同名数据:

在这里插入图片描述

重复数据,将一个 HTTP 头重复写入文件名:

在这里插入图片描述

重复数据,将一个 HTTP 头重复写入文件名:

在这里插入图片描述


半世浮萍随逝水,一宵冷雨葬名花。

——《山花子》(清)纳兰性德

http://www.lryc.cn/news/147077.html

相关文章:

  • 文本匹配实战系列
  • 【Kafka】Kafka Stream简单使用
  • 在Linux服务器上,查看系统最近的重启记录
  • Vue2023 面试归纳及复习
  • Android动态可编辑长度列表
  • 合并对象在 Typescript 中的实现与应用
  • antd upload组件beforeUpload返回promise之后,获取的文件不是file类型导致上传失败
  • 创建ffmpeg vs2019工程
  • 无涯教程-机器学习 - Jupyter Notebook函数
  • ubuntu安装单机的Consul
  • 聊聊mybatis-plus的sql加载顺序
  • 基于jeecg-boot的flowable流程审批时增加下一个审批人设置
  • HTML 与 CSS 有什么区别?
  • 服务器数据恢复-vmware ESXI虚拟机数据恢复案例
  • Rabbitmq的Shovel
  • 华为手机实用功能介绍
  • 算法题打卡day50-动态规划 | 123.买卖股票的最佳时机III、188.买卖股票的最佳时机IV
  • jvm与锁
  • 零基础安装pycuda
  • Streamlit 讲解专栏(十一):数据可视化-图表绘制详解(中)
  • d3dx9_35.dll丢失怎么解决
  • Ansible自动化运维工具(二)
  • uniapp中使用原生canvas标签绘制视频帧来模拟拍照,拍照后将图绘制在另外一个canvas上编辑画图,这样反复操作
  • 机器视觉工程师们,学习是工作以外的事情
  • 数据驱动的生活:探索未来七天生活指数API的应用
  • 【数据分享】2006-2021年我国城市级别的集中供热相关指标(免费获取\20多项指标)
  • 2022年研究生数学建模竞赛优秀论文汇总
  • 阿里云申请免费SSL证书的两种验证方式及配置服务器Tomcat升级HTTPS协议
  • SQL Server 和 MySql 语法和关键字的区别
  • 2023_Spark_实验三:基于IDEA开发Scala例子