网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

防止目录遍历漏洞

更新时间:2026年03月27日   作者:spoto   标签(Tag):

“目录遍历漏洞”是一种安全漏洞,攻击者可以通过该漏洞访问位于Web服务器根目录之外或用户主目录之外的文件。根目录中有一些内部文件,这些文件是用户无法访问的。这种漏洞可能存在于Web服务器或Web应用程序代码中。这种攻击方式也被称为“路径遍历攻击”。

可以通过测试网站中接受用户输入的所有部分来发现目录遍历漏洞。这些部分包括HTTP请求、表单以及Cookie等。攻击者会利用“cd..”命令来切换到上级目录。通过在URL中的文件路径中添加“../”,就可以尝试进入更高级别的目录,从而查看系统文件。

攻击者可以访问的一些系统文件:

对于基于Unix的操作系统:

  • /etc/passwd 文件:包含有关用户所有账户的信息。
  • /etc/group 文件:包含用户所属的组。
  • /etc/profile 文件:包含用于用户的默认变量。
  • /proc/self/environ 文件:包含某些环境变量
  • /etc/issue 文件:包含需要在登录之前显示的消息。
  • /proc/version 文件:包含当前使用的Linux内核版本。
  • /proc/cpuinfo 文件:包含有关处理器的信息。

适用于Windows操作系统:

  • C:\Windows\repair\system
  • C:\Windows\repair\SAM
  • C:\Windows\win.ini
  • C:\boot.ini
  • C:\Windows\system32\config\AppEvent.Evt

目录遍历攻击的示例:
一个典型的脆弱的PHP代码示例如下:

PHP
<?php    $file = $_GET[“页面”]; //我们想要显示的页面?>

下面是一个包含GET方法请求的URL。

http://192.168.29.23/dvwa/vulnerabilities/fi/?page=include.php

通过目录遍历攻击,攻击者可以在URL中的文件路径末尾添加“/../”这一字符串。

http://192.168.29.23/dvwa/vulnerabilities/fi/?page=../../../../../../etc/passwd

防止目录遍历攻击:

  • 为了防止在您的Web服务器上出现目录遍历漏洞,请务必保持您的Web服务器和操作系统处于最新状态。
  • 该网站在处理用户输入之前,应该先对其进行验证,以防止目录遍历攻击的发生。
  • 对于非超级用户来说,他们所拥有的权限应该仅限于读取那些他们需要运行的文件的权限。非超级用户不应该被允许对任何文件进行写入或修改操作。
  • 当对某个目录或文件进行URL请求时,需要将所有字符转换为标准格式。例如,所有的“%20”都应该被转换为空格。
  • 请始终从与系统磁盘不同的磁盘上运行您的Web服务器。因为系统磁盘上存储着一些敏感信息。
  • 如果您需要从用户那里获取文件名,请确保该文件名包含有效的字符。
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料