目录穿越漏洞
简介
目录穿越(也被称为目录遍历)是通过使用../
等目录控制序列或者文件的绝对路径来访问存储在文件系统上的任意文件和目录,特别是应用程序源代码、配置文件、重要的系统文件等。
路径穿越是网站被恶意人员利用,来得到其无权限访问的内容。
通常是由于代码没有判断拼接路径的真实路径是否合法,最终导致文件读取。
一般来讲用户在网站进行浏览,所能见到的网页都是位于网站根目录下的文件,根目录以外的文件是不允许被未授权访问的。但是安全方面做得不严谨的web程序可能会出现目录穿越漏洞,恶意人员可以利用这个漏洞来读取根目录以外的文件夹。一旦成功,本不应该暴露的敏感信息就可能被泄漏给恶意人员。
攻击payload
1.URL参数
··/
..\
..;/
2.Nginx off by slash
https://vuln.site.com/files../
3. UNC Bypass
https://localhost/c$/windows/win.ini
4.过滤绕过
- 单次替换,如
..//
- URL编码
- 16位Unicode编码
- 超长UTF-8编码
防御
方案一:过滤恶意字符,如..
、./
、.\
等
缺点:黑名单过滤不全的话,很容易被绕过。
方案二:采用白名单方式,只允许读取特定文件,若不是特定文件直接拦截。也可以仅允许纯字母或数字字符等。
方案三:按照.
分割,读文件名参数和文件格式参数,如果文件名参数中有..
,则拦截
附录:UNC路径
- UNC(Universal Naming Convention)
- 为了迎合网络化的趋势,windows的地址风格(
C:\ABC\def\文件
、\\计算机名\dir\file
)向网络地址风格做了一次兼容变换。 - 整体形式如:
file://机器的IP地址/目录/文件
file
表示协议类型://
后面是机器的网络地址/
后面是目录和文件名
- 我们访问网上邻居所采用的命令行访问法,实际上应该称作UNC路径访问法。
作者:AmyZYX
出处:http://www.cnblogs.com/amyzhu/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://www.cnblogs.com/amyzhu/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2018-06-30 Web服务架构风格之REST