【发布时间】:2017-03-25 13:00:25
【问题描述】:
场景
我目前正在查看我的应用程序安装程序的安全问题。尽管完整的上下文可能与我的问题无关,但我正在尝试做的是:https://skanthak.homepage.t-online.de/!execute.html
问题
我确实有一个具有提升权限的 CMD,并且我使用 Sysinternals 套件中的 PsExec 模拟为 SYSTEM(请参阅 this)。
当前文件夹是我的用户文件夹中的一个新的空文件夹。
当我执行时
mklink /h version.dll C:\Windows\System32\version.dll
我得到“拒绝访问”。
我已向我的用户、系统和管理员授予“创建符号链接”权限,如答案 here 中所述。
我已经使用提升的资源管理器尽可能从 windows 文件夹及其所有子文件夹中删除了写保护(特别是 version.dll 没有写保护)
我在 HyperV 中托管的虚拟机中完成所有这些工作。虚拟操作系统是 Windows 7 Professional SP1。
问题
为什么命令失败并显示 ACCESS DENIED?
【问题讨论】:
-
链接的位置(不是目标)?你在那里有足够的访问权限吗?
-
当前文件夹是我的用户文件夹中的一个新的空文件夹。因此,如果我没记错的话,只是说明“version.dll”应该解析为
\version.dll,对吗?如果是这样:我仔细检查了 SYSTEM、我的用户和管理员是否拥有完全访问权限 -
是的,没错!
-
注意:我已经尝试过使用其他文件(即 netvscres.dll)并且有效,因此链接的访问权限应该不是问题...
-
请注意,这里的“创建符号链接”权限无关紧要,因为您正在尝试创建硬链接。也许 version.dll 正在使用中?我在这里看不到您的问题与您提供的链接之间有任何联系。顺便说一句,MSI 文件可以运行任意代码,因此使用基于 MSI 的安装程序与运行可执行文件一样危险。