本文介绍了[Security Vulurability]通过Process.Start()直接调用regedit的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我偶然发现了绕过UAC的可能方法,这似乎很麻烦。



通常在程序上将值插入注册表的某些部分需要UAC Elevation在目标计算机上具有管理权限的用户。对吗?



话虽如此,我能做到吗?以下代码适用于Windows 8 AS-IS上的.NET 4.5。



I've stumbled accross a possible way to bypass UAC which seems kind of troublesome.

Normally inserting values into certain portions of the registry programmaticly requires UAC Elevation to a user with administrative priveledges on the target machine. Right?

That being said, should I be able to do this? The following code works under NET 4.5 on Windows 8 AS-IS.

<br />
 <pre lang="cs">public void DisableTaskManager()<br />
        {<br />
            try<br />
            {<br />
                if (File.Exists("DisableTaskManager.reg"))<br />
                {<br />
                    File.Delete("DisableTaskManager.reg");<br />
                }<br />
                using (FileStream registryFileStream = File.Create("DisableTaskManager.reg"))<br />
                {<br />
                    Byte[] registryFileContents = new UTF8Encoding(true).GetBytes(Properties.Resources.DisableTaskManager);<br />
                    registryFileStream.Write(registryFileContents, 0, registryFileContents.Length);<br />
                    registryFileStream.Close();<br />
                }<br />
            }<br />
            catch (Exception Ex)<br />
            {<br />
                MessageBox.Show(Ex.ToString());<br />
            }<br />
            try<br />
            {<br />
                ProcessStartInfo startInfo = new ProcessStartInfo();<br />
                startInfo.FileName = "regedit";<br />
                startInfo.Arguments = "/s DisableTaskManager.reg";<br />
                Process.Start(startInfo);<br />
            }<br />
            catch (Exception Ex)<br />
            {<br />
                MessageBox.Show(Ex.ToString());<br />
            }<br />
        }</pre><br />
<br />
Is this something I'm missing, or is this another gross example of Microsoft security negligence?

推荐答案



  1. 总是在......时通知我。
  2. 默认 - 仅在程序尝试更改计算机时通知我

    当我更改Windows设置时,请勿通知我。
  3. [与上面相同添加不要使我的桌面变暗]
  4. 从不通知我...





我尝试了#1和#2(默认)。在这两种情况下,UAC对话都要求我。通常,我个人使用选项#1始终通知...。



您确定在Windows 8上使用相同或同等级别的UAC通知吗?



-SA


这篇关于[Security Vulurability]通过Process.Start()直接调用regedit的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-03 11:35