gpt4 book ai didi

windows - 在 Windows/NTFS 上可以将符号链接(symbolic link)移动到另一台计算机吗?

转载 作者:可可西里 更新时间:2023-11-01 11:16:33 28 4
gpt4 key购买 nike

出于涉及 Windows 服务器的安全测试的目的,我想尝试将符号链接(symbolic link)上传到 Windows 网络应用程序。然而,根据官方提供的信息,尚不清楚 Windows 硬链接(hard link)(我认为它与 NTFS 连接相同)是否作为可以从硬盘复制的文件存在,就像在 Linux 上一样。它含糊不清,但我觉得 NTFS 联结是不同于“常规”文件的其他类型的文件系统工件 - 我找不到文档来确认或否认这一点。 I.E NTFS 我想知道 NTFS 是否支持直接操作符号链接(symbolic link)记录,以便我可以将符号链接(symbolic link)移动到另一台计算机。

我知道 Windows 软链接(soft link)文件 (.lnk) 不受此限制,但它们不适合测试目的。

我的目标是从虚拟机复制符号链接(symbolic link),然后将其上传到我正在测试的服务器。

这可能吗? (我的印象是它不是。)据我所见,Windows 上的每个程序绝对会将硬链接(hard link)视为目标文件。有没有办法解决这个问题,也许是使用特殊的编辑器暂时损坏文件?如果符号链接(symbolic link)作为文件系统上的普通文件存在,是否可以更改符号链接(symbolic link)以便将其移动到非 Windows 操作系统以供进一步使用?

让我知道这是否是服务器故障的更好问题。由于这与安全性没有直接关系,更多的是安全练习服务中的普通技术问题,我认为它不适合 Stack Exchange 安全性。

最佳答案

很难提供非常直接的答案。我从事备份/修复/镜像项目,我通过 Web 服务将整个磁盘镜像复制到服务器 - 因此,可以做你想做的事,但有很多需要考虑的因素。

硬链接(hard link)

通常假设硬链接(hard link)无法相互区分,但是,链接文件与其“原始”文件之间存在细微差别。不同之处在于,对 $MFT 的查询(在 winapi 函数 DeviceIOControl 上使用与 USN 相关的参数)将仅返回其中一个文件。这可能被视为原始 文件。然后,您可以调用 winapi 函数 NtQueryInformationFile 来枚举硬链接(hard link)。

符号链接(symbolic link)和联结是不同的动物...

通过从中获取属性,您可以知道文件夹 是连接点还是符号链接(symbolic link)。如果它是联结或符号链接(symbolic link),则属性中有一个 ReparsePoint 标志。顺便说一句 - 联结和符号链接(symbolic link)之间的区别在于联结是重定向到同一卷上的另一个位置,而符号链接(symbolic link)是重定向到非卷位置。无论哪种方式,重定向目标始终是另一个文件夹。

有趣的是,符号链接(symbolic link)和联结看起来和操作都像文件夹,而它们实际上是包含重定向信息的文件。当您打开它们时,NTFS 通常会查看重定向,并打开重定向目标。 NTFS 检查重定向目标的权限,因此作为攻击,这可能不是一个可靠的策略。

打开联结/符号链接(symbolic link)时,您可以添加标志 FILE_FLAG_OPEN_REPARSE_POINT。执行此操作时,NTFS 不会执行重定向,但会打开内容,这实际上是重定向信息,假设您知道该信息的格式,则可以在以下位置重建联结/符号链接(symbolic link)服务器。请注意,重定向可能指向一个可能不存在的位置,或者可能只是暂时存在的。这是预期的,因为某些网络资源可能并不总是可用。

因此,简而言之,复制联结或符号链接(symbolic link)是可能的……而复制硬链接(hard link)名义上意味着复制文件……考虑到上述微妙之处。只要目标文件存在,您也可以手动创建硬链接(hard link)。

对于硬链接(hard link),NTFS 安全图片中有一个有趣的问题。如果用户有权访问文件,并且您在用户无权访问的文件夹中创建了指向该文件的硬链接(hard link),则用户仍然可以使用硬链接(hard link)的路径打开该文件。这是因为链接和原始文件都指向磁盘上的同一个文件(和安全信息)。在任何链接上更改的权限会影响所有链接。如果不知道这一点,您可能会无意中对文件系统造成严重破坏:-)

我知道这有点乱七八糟,所以让我这样总结一下:

NTFS 目录条目可以是文件夹或文件。硬链接(hard link)是所有指向一个文件的目录条目。符号链接(symbolic link)和联结实际上是文件,在大多数实际用途中表现得像文件夹(直到您知道如何获取如上所述的重定向信息)。

关于windows - 在 Windows/NTFS 上可以将符号链接(symbolic link)移动到另一台计算机吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39735814/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com