返回介绍

4.6. 目录穿越

发布于 2024-02-07 20:47:54 字数 1580 浏览 0 评论 0 收藏 0

4.6. 目录穿越

4.6.1. 简介

目录穿越(也被称为目录遍历/directory traversal/path traversal)是通过使用 ../ 等目录控制序列或者文件的绝对路径来访问存储在文件系统上的任意文件和目录,特别是应用程序源代码、配置文件、重要的系统文件等。

4.6.2. 攻击载荷

4.6.2.1. URL参数

  • ../
  • ..\
  • ..;/

4.6.2.2. Nginx Off by Slash

  • https://vuln.site.com/files../

4.6.2.3. UNC Bypass

  • \\localhost\c$\windows\win.ini

4.6.3. 过滤绕过

  • 单次替换
    • ...//
  • URL编码
  • 16位Unicode编码
    • \u002e
  • 超长UTF-8编码
    • \%e0%40%ae

4.6.4. 防御

在进行文件操作相关的API前,应该对用户输入做过滤。较强的规则下可以使用白名单,仅允许纯字母或数字字符等。

若规则允许的字符较多,最好使用当前操作系统路径规范化函数规范化路径后,进行过滤,最后再进行相关调用。

4.6.5. 参考链接

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文