【Web攻防】文件与目录安全漏洞详解:下载/删除/遍历/穿越实操指南

本文内容仅用于授权安全测试与学习,严禁未经许可对目标系统进行测试。

一、核心功能点与漏洞本质

前后台常见高危功能:

  • 文件下载、文件读取
  • 文件删除
  • 目录遍历
  • 目录穿越

这类漏洞本质:用户可控路径 + 服务端校验缺失/不严 = 越权读写删文件


二、文件安全:下载 & 删除 实操原理

1. 文件下载漏洞

原理

文件下载 = 服务端读取文件并返回。

当下载功能通过参数指定文件名/路径,且未做白名单/路径限制时,可直接读取任意敏感文件。

常规安全URL(无直接风险)
复制代码
http://xxx.com/upload/123.pdf
风险URL(可控参数)
复制代码
http://xxx.com/down.php?file=123.pdf
典型利用

修改 file 参数读取系统/配置文件:

复制代码
?file=/etc/passwd
?file=../../etc/my.cnf
?file=../../config/config.php

可直接拿到:数据库账号密码、密钥、源码配置、系统信息。


2. 文件删除漏洞

原理

删除功能未校验:

  • 权限
  • 文件名/路径合法性
  • 操作范围

攻击者可构造路径删除任意文件,导致服务崩溃、程序异常、数据丢失。

常见触发点

后台文件管理、附件删除、图片删除、日志清理等。

典型利用
复制代码
del.php?filename=1.jpg
→ 改:
del.php?filename=../../config.inc.php
del.php?filename=../../index.php

可直接删配置、删入口、删库备份,造成业务瘫痪。


三、目录安全:遍历 & 穿越 实操原理

1. 目录遍历漏洞

原理

服务端允许列出目录内容,且未限制目录范围。

攻击者可直接获取目录结构、文件名、备份、日志、上传文件清单等信息。

利用价值
  • 发现备份文件 *.sql*.zip
  • 发现上传目录、后台路径、配置文件
  • 为文件读取/删除/上传做信息铺垫

2. 目录穿越漏洞(路径穿越)

原理

通过 ../..\%2e%2e/ 等字符,跳出程序设定的业务目录,访问上级乃至根目录。

核心利用字符
复制代码
../
../../
../../../../
典型场景

后台文件管理、模板读取、头像查看、文件预览等功能。

利用示例
复制代码
path=upload/
→ 穿越:
path=upload/../../etc/

实现跨目录读取、跨目录删除、跨目录写入文件。


四、黑盒实战:快速定位漏洞

1. 重点功能点

  • 文件上传/下载/预览
  • 文件删除/编辑
  • 后台文件管理器
  • 图片/附件/模板加载

2. URL 特征识别

敏感关键词(URL中出现即重点测试)
  • 下载:downloaddownfilereadfileread
  • 删除:deldeleteremove
  • 目录:dirpathfolder
  • 其他:srclangdataurlrealpath
高危参数名
复制代码
file
path
filepath
realpath
data
url

只要参数可控,优先测试:

  • 绝对路径 /etc/passwd
  • 相对穿越 ../../etc/passwd

五、白盒审计:直接锁死漏洞代码

审计时直接搜索以下函数,几乎必出文件/目录漏洞。

PHP 高危函数(最常见)

  • 文件读取/下载:
    • file_get_contents()
    • readfile()
    • fopen()
  • 文件删除:
    • unlink()
  • 目录遍历:
    • opendir()
    • readdir()
  • 文件上传:
    • move_uploaded_file()

其他语言通用逻辑

  • Python:send_file()open()
  • Java:FileInputStreamFilegetPath()

只要用户输入直接拼接到路径,无白名单、无过滤、无路径限制,即为漏洞。


六、实战测试思路

  1. 找到文件下载/读取/删除/目录功能
  2. 抓包修改文件名/路径参数
  3. 尝试:
    • 绝对路径 /etc/passwd
    • 穿越路径 ../../../../etc/passwd
  4. 观察是否返回内容、是否删除成功、是否列出目录
  5. 进一步读取配置、数据库信息、系统文件
相关推荐
不好听6133 小时前
从一行 JSX 到屏幕像素:前端开发者必须懂的浏览器渲染管线
前端
恒拓高科WorkPlus3 小时前
企业级内网即时通讯建设模型:BeeWorks内网IM四层架构
前端
前端小李子4 小时前
前端环境变量裸奔?我用 EnvShield 给它穿了件防弹衣
前端
youtootech4 小时前
HarmonyOS《柚兔学伴》项目实战25-我的页面、Web 嵌入与项目总结
前端·华为·harmonyos
小林ixn5 小时前
从零到一理解 React 父子组件通信:手写一个 Todo 应用带你彻底搞懂单向数据流
前端·javascript·react.js
醇氧6 小时前
CountDownLatch / CyclicBarrier / Semaphore 面试高频问答清单
前端·面试·职场和发展
qetfw8 小时前
MXU:Tauri 2 + React 的 MaaFramework 跨平台 GUI 源码
前端·python·react.js·前端框架·开源项目·效率工具
甲维斯8 小时前
我要开始吹牛逼了!Kimi K3 “宇宙无敌”!
前端·人工智能
a1117768 小时前
微光小屋-前端养成小游戏 开源项目
前端