🔐 文件权限错误漏洞(File Permission Misconfiguration Vulnerability)
✨ 漏洞简介
文件权限错误漏洞 是指系统或应用中文件和目录的访问权限设置不当,导致未授权用户可以读取、修改、删除或执行敏感文件,从而引发信息泄露、数据篡改、服务拒绝甚至远程代码执行等安全风险。
该漏洞广泛存在于操作系统文件权限配置、Web 应用文件权限控制、日志文件管理等多种场景。
📦 基础概念
✅ 文件权限
操作系统中用于控制用户和进程对文件或目录的访问权限,常见权限包括读取(r)、写入(w)、执行(x)。
✅ 权限错误
文件或目录权限设置过宽,导致无关用户获得访问权,例如:
- 敏感配置文件对所有用户可读
- 关键目录权限开放写入
- 执行权限滥用导致任意代码执行
🛠 漏洞原理
- 权限设置不当
例如,敏感文件权限设置为 777(所有用户读写执行),导致任意用户可访问和修改。
- 缺少最小权限原则
文件和目录权限未根据业务需求限制访问,仅依赖默认配置。
- 特殊文件暴露
配置文件、备份文件、日志文件等被公开读取。
- 被攻击者利用
利用读取的敏感数据发起进一步攻击,或篡改文件造成服务异常。
🔍 攻击流程
- 信息收集
- 权限验证
- 读取或修改目标文件
- 上传恶意代码(如 Webshell)
- 权限利用
- 读取配置文件、数据库密码
- 替换或篡改文件
- 执行恶意代码实现远程控制
- 后续攻击
💣 漏洞实例
Linux 文件权限过宽
-rwxrwxrwx 1 root root /etc/passwd
攻击者可直接读取或修改该关键系统文件。
Web 应用配置文件可读
http://target.com/config.php
配置文件暴露,泄露数据库连接信息。
备份文件未删除
可直接访问,泄露源码或敏感逻辑。
🔗 常见利用场景
- 操作系统关键文件(
/etc/passwd、/etc/shadow)
- Web 应用配置文件(
.env、config.php)
- 日志文件和临时文件目录
- 备份文件和历史版本文件
- 脚本文件和可执行文件权限滥用
🛡 防御措施
✅ 合理设置文件权限
- 遵循最小权限原则(如 600、640 权限)
- 仅授权必要用户和组访问
✅ 保护敏感文件
- 配置 Web 服务器禁止访问配置文件
- 及时清理备份和临时文件
✅ 使用访问控制机制
- Linux 使用 SELinux、AppArmor 进行细粒度控制
- Windows 使用 ACL 进行权限管理
✅ 定期审计权限
🧪 检测方法
手动检测
- 使用
ls -l 查看文件权限
- 尝试访问敏感文件路径
自动化检测
- 权限扫描工具(Lynis、Tripwire)
- Web 漏洞扫描器检测敏感文件暴露
📊 总结
| 项目 |
内容 |
| 漏洞名称 |
文件权限错误漏洞(File Permission Misconfiguration Vulnerability) |
| 危害等级 |
高危(可能导致信息泄露、远程控制) |
| 攻击方式 |
利用权限过宽访问敏感文件、上传恶意代码 |
| 影响范围 |
操作系统文件、Web 配置文件、备份文件等 |
| 防御手段 |
合理权限设置、禁止敏感文件访问、定期审计 |