为什么我不能在 Windows Server 2008 的记事本中拖放文件进行编辑?

Tri*_*nko 3 security windows-server-2008 uac user-permissions

当记事本运行时,我可以拖/放一个文件来打开它,但它无法保存文件。当我运行记事本提升保存文件时,我无法再拖/放来打开文件。

我了解将文件从非升级程序拖到升级程序存在安全风险;但是,当我也运行资源管理器提升时,我仍然无法拖放到提升的记事本。

为什么操作系统不允许两个提升的程序通过拖放来交换信息?我正在认真考虑重新使用 Windows Server 2003。

编辑:似乎两个提升的程序可以交换信息;探险家只是未能提升。提升资源管理器后,可以将文件从资源管理器拖动到提升的记事本。

Eva*_*son 7

无法从资源管理器“拖放”到升高的记事本窗口是用户界面权限隔离 ( UIPI ) 功能的表现。在操作系统中,它可以防止较低特权的应用程序向另一个较高特权的应用程序发送任意“消息”(在操作系统/应用程序间通信的意义上)。如果较高特权的应用程序不正确地处理消息,则较低特权的应用程序可能会导致较高特权的应用程序代表其执行任意代码(这些类型的攻击被称为粉碎攻击,因此命名为2002 年的论文,描述了当时 Windows 版本中的攻击方法)。

你可以把它想象成一个运行在较低“完整性级别”(非特权)和具有较高完整性级别(提升)的应用程序之间的“防火墙”。

如果您真的想要提升的 Windows 资源管理器,请执行以下操作:

  • 启动提升的命令提示符并将其保持打开状态。
  • 启动任务管理器并通过转到“进程”选项卡并单击“显示所有用户的进程”来提升它。
  • 使用任务管理器突出显示并终止 Explorer.Exe 的所有实例。
  • 从仍然打开的提升的命令提示符窗口中,输入“资源管理器”并按 <ENTER>。

资源管理器将重新打开提升。


Ada*_*and 6

如果您不想禁用 UAC,您可以尝试禁用 UIPI(用户界面特权隔离)。

打开 regedit 并转到: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

添加一个新DWORD (32-bit) Value调用EnableUIPI并将其设置为0.

重新启动机器,看看它是否如你所愿。

  • @Triynko:你倒退了。高优先级进程必须调用 ChangeWindowMessageFilter 以允许来自低优先级进程的某些消息通过。中级进程无法调用它并神奇地访问高级进程。 (3认同)