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

文件读取漏洞路径与防御总结

文件读取漏洞路径与防御总结

文件读取漏洞允许攻击者通过路径遍历等手段访问未授权的文件。以下是Linux和Windows系统中常见敏感路径的归纳及防御建议:


Linux 系统常见敏感路径

  1. 系统关键文件

    • /etc/passwd:用户账户信息(可被用来枚举用户)。
    • /etc/shadow:用户密码哈希(需root权限)。
    • /etc/group:用户组信息。
    • /etc/hosts:网络主机配置。
    • /etc/sudoers:sudo权限配置。
  2. 敏感配置文件

    • Web应用配置:/etc/apache2/apache2.conf/etc/nginx/nginx.conf
    • 数据库配置:/etc/mysql/my.cnf/var/lib/mysql(数据文件)。
    • SSH密钥:~/.ssh/id_rsa(私钥)、~/.ssh/known_hosts
    • 环境变量文件:~/.bashrc~/.profile/proc/self/environ(进程环境变量)。
  3. 日志文件

    • 系统日志:/var/log/auth.log(认证日志)、/var/log/syslog
    • Web日志:/var/log/apache2/access.log/var/log/nginx/access.log
  4. 进程与内存

    • /proc/self/cmdline:当前进程的命令行参数。
    • /proc/self/maps:进程内存映射。
    • /proc/self/fd/:进程打开的文件描述符。
  5. 用户数据与历史

    • Shell历史:~/.bash_history~/.zsh_history
    • 临时文件:/tmp目录下的敏感临时文件。
  6. 特殊设备与虚拟文件

    • /dev/null/dev/zero(通常无害,但可能用于测试)。
    • /sys/class/net/(网络接口信息)。

Windows 系统常见敏感路径

  1. 系统关键文件

    • C:\Windows\System32\drivers\etc\hosts:网络主机配置。
    • C:\Windows\win.iniC:\Windows\system.ini:遗留系统配置。
    • SAM数据库(需卷影副本):C:\Windows\System32\config\SAM(通常被锁定)。
    • 注册表文件:C:\Windows\System32\config\SYSTEMSOFTWARESECURITY
  2. 用户数据与配置文件

    • 用户目录:C:\Users\<用户名>\DocumentsDesktopDownloads
    • Web应用配置:C:\inetpub\wwwroot\web.config(IIS)、appsettings.json
    • SSH密钥:C:\Users\<用户名>\.ssh\id_rsa
  3. 日志文件

    • IIS日志:C:\inetpub\logs\LogFiles\W3SVC1
    • 系统事件日志:C:\Windows\System32\winevt\Logs\Security.evtx
  4. 服务与数据库文件

    • SQL Server数据文件:C:\Program Files\Microsoft SQL Server\MSSQL\DATA\*.mdf
    • 第三方应用配置:如C:\xampp\php\php.ini
  5. 特殊路径与UNC路径

    • 短文件名:利用C:\Progra~1\绕过路径过滤。
    • 长路径语法:\\?\C:\Windows\...
    • 网络共享:\\127.0.0.1\C$\Windows\...(需权限)。
  6. 备份与临时文件

    • 备份文件:*.bak*.old*.tmp
    • 页面文件:C:\pagefile.sys(需系统权限)。

常见利用手法

  • 路径遍历:使用../(Linux)或..\(Windows)跳出限制目录。
  • 编码绕过:URL编码(如%2e%2e%2f)、UTF-8编码、双写(....//)。
  • 绝对路径读取:直接指定完整路径(如C:\Windows\system32\cmd.exe)。

防御建议

  1. 输入过滤

    • 规范化路径后检查是否在允许范围内。
    • 过滤../..\、空字节(%00)等字符。
  2. 最小权限原则

    • 应用程序以低权限用户运行(如Linux的www-data,Windows的IUSR)。
    • 使用沙盒或容器隔离敏感操作。
  3. 安全API

    • 使用语言内置的安全路径解析函数(如Python的os.path.realpath)。
  4. 文件系统权限

    • 限制敏感文件的读权限(如chmod 600 /etc/shadow)。
  5. 日志监控

    • 监控异常文件访问行为(如频繁读取/etc/passwd)。

通过理解这些路径和攻击方式,开发者可以更有效地加固系统,避免敏感信息泄露。

http://www.xdnf.cn/news/7055.html

相关文章:

  • AI日报 - 2024年5月17日
  • PyTorch实现三元组损失Triplet Loss
  • 风控域——风控决策引擎系统设计
  • 考研数学微分学(第三,四,五,六,七讲)
  • 【前端基础】HTML元素隐藏的四个方法(display设置为none、visibikity设置为hidden、rgba设置颜色、opacity设置透明度)
  • 软件设计师教程—— 第二章 程序设计语言基础知识(上)
  • Spatial Transformer Layer
  • Vue3学习(组合式API——ref模版引用与defineExpose编译宏函数)
  • 信贷域——互联网金融业务
  • 低空经济发展现状与前景
  • 聚集索引 vs. 非聚集索引
  • 恒大歌舞团全集
  • Android 14 解决打开app出现不兼容弹窗的问题
  • 参考工具/网站
  • scss additionalData Can‘t find stylesheet to import
  • 强化学习入门:马尔科夫奖励过程二
  • 什么是API接口?API接口的核心价值
  • 网关GateWay——连接不同网络的关键设备
  • STM32IIC实战-OLED模板
  • TC3xx学习笔记-UCB BMHD使用详解(二)
  • 使用NVM管理node版本
  • GO语言学习(二)
  • CSS 浮动与定位以及定位中z-index的堆叠问题
  • 设计练习 - Movie Review Aggregator System
  • 探秘Transformer系列之(33)--- DeepSeek MTP
  • 【爬虫】DrissionPage-6
  • MapReduce 原理深度剖析:从任务执行到参数配置
  • AI编码代理的崛起 - AlphaEvolve与Codex的对比分析引言
  • 61. 旋转链表
  • 理解 plank 自动生成的 copyWithBlock: 方法