《Web安全基础》04. 文件操作安全

web


本系列侧重方法论,各工具只是实现目标的载体。

命令与工具只做简单介绍,其使用另见《安全工具录》。
靶场参考:upload-labs,pikachu。

1:文件操作安全

文件操作,包含以下四个方面:

  • 文件上传
  • 文件包含
  • 文件下载
  • 文件读取

文件被解析,则是文件包含漏洞。

显示源代码,则是文件读取漏洞。

提示文件下载,则是文件下载漏洞。

2:文件上传漏洞

2.1:简介

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

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

文件上传漏洞查找及判断

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

上传参数名解析

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

漏洞分类

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

安全修复方案

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

2.2:防护与绕过

文件上传常见检测

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

常见检测绕过

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

2.3:WAF 绕过

WAF 常见绕过方法

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

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

2.3.1:数据溢出

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

2.3.2:符号变异

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

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

符号变异,文件名混淆:

符号变异,文件名混淆:

2.3.3:数据截断

数据截断,文件名换行。

2.3.4:重复数据

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

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

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

3:文件包含漏洞

文件包含允许程序在执行过程中动态引入其他文件的内容,可提高代码的可维护性、可复用性和组织性。

文件包含漏洞,如果不正确处理文件包含,攻击者可能会利用它来包含恶意文件并执行恶意代码。

文件包含漏洞成因

  • 可控变量
  • 文件包含函数

分类

  • 本地文件包含(Local File Inclusion,LFI)
  • 远程文件包含(Remote File Inclusion,RFI)

参考资料:

4:文件下载漏洞

文件下载漏洞允许攻击者下载未经授权的文件。

凡是存在文件下载的地方都可能存在文件下载漏洞。

敏感文件下载

  • 配置文件
  • 接口、密匙信息文件

5:文件读取漏洞

文件读取漏洞允许攻击者访问或读取未经授权的文件或数据。

参考资料:


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

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

相关推荐
ynm1118 小时前
2026.7.19(3)【栅栏密码】传统知识+古典密码
安全·网络安全·buuctf
zhao3266857519 小时前
静态IP代理固定IP与动态IP的根本差异,账号操作安全性如何体现
网络·网络协议·tcp/ip
王维同学10 小时前
进程模块枚举、映像身份与线程启动地址关联
c++·windows·安全
吴声子夜歌12 小时前
网络安全——概述(一)
安全·web安全
云水一下13 小时前
零基础玩转bWAPP靶场(五十九):Insecure DOR (Change Secret)
web安全·bwapp·idor·change secret
airobotcn14 小时前
空地一体化巡检机器人系统落地实战指南
安全·机器人·无人机·智慧园区·巡逻
愚公搬代码15 小时前
【愚公系列】《Web应用安全》003-测试环境的搭建
前端·安全
淼澄研学15 小时前
Kimi API黑产倒卖技术解析与Python合规接入指南
开发语言·网络·python
大模型搬砖师15 小时前
高校科研管理上 AI:科研处、课题组、信息中心的三方分歧怎么调和
人工智能·安全
无锡耐特森16 小时前
Profinet转ModbusTCP协议网关:数字化工厂跨协议互联
网络