文章总结: 本文系统阐述了Web安全中的文件操作漏洞,涵盖文件下载、读取、删除及目录遍历等核心类型,指出其本质在于用户可控服务器文件路径。文章详细解析了黑盒挖掘的功能点与参数特征,以及白盒审计中的PHP危险函数,构建了从发现接口到获取权限的完整攻击链。最后提出路径白名单验证、权限最小化及关闭目录索引等防御措施,对渗透测试与安全开发具有较高参考价值。 综合评分: 85 文章分类: WEB安全,渗透测试,漏洞分析,实战经验,安全建设
攻击场景
1、删除配置文件
例如删除:
config.php
.env
导致系统崩溃。
2、删除安装锁
很多程序安装后会生成:
install.lock
攻击者删除后可以重新进入安装程序:
http://example.com/install/
重新初始化数据库,直接接管系统。
这种攻击在 CMS 系统中非常常见。
四、目录安全问题
目录相关漏洞主要有两种:
1️⃣ 目录索引
2️⃣ 目录遍历
五、目录索引漏洞(Directory Index)
当 Web 服务器未关闭目录浏览功能时,访问目录会直接列出文件。
例如:
http://example.com/upload/
如果出现:
Index of /upload
-----------------------
file1.jpg
file2.zip
backup.sql
config.bak
攻击者可以直接下载敏感文件。
常见敏感文件
backup.sql
www.zip
db_backup.tar
config.bak
很多真实渗透测试中,数据库备份文件就是这样拿到的。
六、目录遍历漏洞(Directory Traversal)
目录遍历也叫:
路径穿越漏洞(Path Traversal)
核心利用符号:
../
表示:
返回上一级目录
示例
假设服务器代码:
/download?file=report.pdf
攻击者修改为:
/download?file=../../../../etc/passwd
服务器可能返回:
root:x:0:0:root:/root:/bin/bash
说明攻击成功。
常见攻击路径
Linux:
/etc/passwd
/etc/shadow
/root/.ssh/id_rsa
Windows:
C:\Windows\win.ini
C:\boot.ini
七、黑盒漏洞挖掘方法
黑盒测试主要从:
功能点与 URL 特征
进行分析。
1、重点功能点
重点关注:
-
文件上传
-
文件下载
-
文件删除
-
文件管理器
-
日志查看
-
图片查看
-
模板加载
这些功能几乎必然涉及文件操作。
2、URL关键字特征
常见路径:
download
down
readfile
read
del
delete
dir
path
src
lang
示例:
/download?file=test.pdf
/read?file=1.txt
/delete?file=test.jpg
3、参数特征
常见参数名:
file
path
filepath
readfile
data
url
realpath
dir
例如:
/api/download?file=123.pdf
/api/read?path=log.txt
这些参数通常高度可疑。
八、白盒代码审计方法
白盒分析重点是寻找:
文件操作函数
PHP危险函数
文件读取
readfile()
file_get_contents()
fopen()
文件下载
readfile()
fpassthru()
文件删除
unlink()
目录操作
opendir()
readdir()
scandir()
如果这些函数直接使用用户输入参数,例如:
$_GET['file']
就极有可能存在漏洞。
九、真实攻击链示例
一个典型攻击流程:
第一步:发现下载接口
/download.php?file=1.pdf
第二步:尝试路径遍历
/download.php?file=../../config.php
第三步:获取数据库配置
DB_USER=root
DB_PASS=123456
第四步:连接数据库
直接登录数据库获取:
-
用户信息
-
管理员账号
-
token
第五步:获取后台权限
最终实现:
完全控制系统
十、安全防御方案
开发者应采取以下措施:
1、禁止用户直接控制路径
不要直接拼接路径:
错误代码:
readfile($_GET['file']);
正确方式:
使用白名单:
$allow_files = ['a.pdf','b.pdf'];
2、路径规范化
使用:
realpath()
限制访问目录。
3、限制访问目录
例如:
/var/www/download/
禁止访问系统目录。
4、关闭目录索引
Nginx:
autoindex off;
Apache:
Options -Indexes
5、严格权限控制
避免 Web 进程拥有:
-
删除系统文件
-
访问系统配置
十一、总结
文件操作类漏洞在 Web 渗透测试中非常常见。
核心问题通常来自:
用户输入 → 直接控制文件路径
常见攻击方式包括:
-
文件下载漏洞
-
文件读取漏洞
-
文件删除漏洞
-
目录索引漏洞
-
目录遍历漏洞
攻击者通过这些漏洞可以:
-
获取数据库配置
-
下载服务器备份
-
删除关键文件
-
遍历系统目录
在实际渗透测试中,这类漏洞往往是突破系统的第一步。
参考案例复盘
https://mp.weixin.qq.com/s/Kiec7FhvpAmPf7zTWvJa3g
https://mp.weixin.qq.com/s/QqXxpTwXSjCNN622fSsZAQ
https://mp.weixin.qq.com/s/A2FvZMuPpHiewGrL5UDlHw
https://mp.weixin.qq.com/s/w2PH7EI6Z2R9diV_tBA1Zw
这些案例展示了:
-
下载漏洞利用
-
目录遍历攻击
-
文件删除漏洞
-
敏感信息泄露
值得深入复盘分析。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:AlphaNet 萧瑶 萧瑶《第70天-Web攻防实战:文件下载、读取与删除漏洞 & 目录遍历与穿越》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论