cURL文件协议漏洞:通过file://实现任意文件读取
通过cURL的file://协议实现任意文件读取
漏洞描述
cURL默认启用的file://协议处理程序允许访问系统本地文件。攻击者通过执行特定cURL命令,可利用文件路径指定或目录遍历技术读取主机上的任意文件。
复现步骤
- 使用默认配置编译cURL(例如执行
./configure --with-ssl && make
) - 执行
./src/curl "file:///etc/passwd"
读取passwd文件内容 - 执行
./src/curl "file:///tmp/../../etc/passwd"
演示通过路径遍历访问相同文件 - 执行
./src/curl -s "file:///etc/shadow" | head -c20
读取shadow文件的部分敏感数据
影响范围
能执行cURL命令的攻击者可读取运行用户权限范围内的所有本地文件,包括:
- 窃取密码哈希和凭证
- 通过破解哈希实现权限提升
- 通过横向移动或进一步利用导致系统完全沦陷
- 暴露机密配置或密钥文件
该漏洞将危及系统保密性,最终可能导致受影响主机的完全控制。
官方回应
- curl开发团队确认此为预期行为
- 被标记为"非安全问题"
- 根据项目透明度政策,报告仍被公开披露
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码