UAC白名单有没有用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UAC白名单有没有用?相关的知识,希望对你有一定的参考价值。

参考技术A [PConline 应用]我们知道,微软从Windows Vista开始,就在系统中引入了UAC防护机制,这在很大程度上避免了系统关键组件被更改的风险,大大提高了安全性。但UAC的副作用在于,它会产生额外的弹窗!尽管从Win7开始,微软一直对UAC的逻辑进行优化,弹窗已经大大减少,但在某些情况下,UAC还是会比较烦。
Win10中的UAC设置,完全关闭又不安全
例如很多DIY爱好者,都会使用各种硬件检测软件如CPU-Z、AIDA64等,但这类软件由于需要读取系统关键信息,所以每次打开都会触发UAC,非常的烦。但UAC又不宜关掉,毕竟这是系统非常关键的安全防线。对于这类确保是安全的软件,有没有什么方法避免UAC的困扰?我们可以借助这款第三方工具,为UAC建立一个白名单。
每次启动AIDA64之类的软件,都会触发UAC,有没有更好的解决方法?
UAC白名单小工具:https://www.lanzous.com/b073m0dne
这是一款来自国内开发者的小工具,它的体积很小,仅有十多K,作用却非常大。UAC白名单小工具就如其名字一样,最大的功用,是让UAC支持白名单机制。只要把特定软件,通过这款小工具放置到UAC白名单中,以后开启这款软件,就再也不会弹出UAC窗口了。
UAC白名单小工具界面
UAC白名单小工具的使用非常简单。这是一款绿色软件,解压后直接运行即可。注意,这款UAC白名单小工具自身也是会触发UAC弹窗的,不过这问题可以通过它本身来处理。
开启软件后,将想要添加到UAC白名单的软件添加进入,然后这个小工具就会为这个软件生成一个快捷方式。从这里可以看到,UAC白名单小工具并不会直接修改系统或者软件,还是比较安全的。此后,通过这个快捷方式来启动软件,就不会弹出UAC提示了,非常方便!
把你想要运行时不弹出UAC的软件添加进去
生成一个快捷方式,通过这个快捷方式开启软件,就不会弹UAC了
那么这款UAC白名单小工具的原理是什么呢?通过查看它生成的快捷方式的指向,发现它是利用Windows计划任务来启动程序的,如此一来就不会触发UAC了,可谓是非常巧妙的设定。而从软件界面中也可以看到,如果想要将某个软件从白名单移除,则需要打开Win10的计划任务管理,从原理上来说它还是很靠谱的。
原理是使用计划任务启动程序
Win10计划任务中的确显示相应程序在运行
总的来说,这是一款功能简单、体积小巧但却又非常实用的软件。如果你也想要减少UAC带来的困扰,不妨尝试一下!

如何动态更改Cordova白名单?

我们有一个应用程序,为客户端提供多个白标解决方案 - 这意味着它们在自己的域下托管。

我们有一个Cordova应用程序,我们希望用户可以使用此应用程序访问所有这些网站,但我不想在每次签署新客户端时重新部署。

  • 有没有办法通过网址或其他东西加载白名单?这意味着我们可以通过我们的数据库动态添加域名。
  • 当您将所有网址列入白名单时,是否存在巨大的安全风险?

https://cordova.apache.org/docs/en/latest/guide/appdev/whitelist/

为了澄清,我希望有一个类似URL的东西,你可以指向它在启动时每次加载的白名单设置。

http://myexampledomain.com/whitelist.config

  <allow-navigation href="*.myexampledomain.com/*" />
  <allow-navigation href="*.subdomain.someclientdomain.com/*" />
  <allow-navigation href="*.subdomain.someclientdomainb.com/" />
  <allow-navigation href="*.subdomain.someclientdomainc.com/" />

...此文件将在启动时自动加载。

创建一个基于JS的插件

如果没有当前的解决方案,是否可以通过创建(基于JavaScript)Cordova插件来实现这一目标?就像我们尝试加载的URL在白名单之外时手动重定向一样?

这意味着我们将Cordova列入白名单并使用我们自己的插件来阻止我们自己的白名单之外的所有内容。

(我知道当我们的数据库被泄露时这不安全,但在这种情况下,我们一般会遇到更大的问题。我们的应用程序是为了好玩而不依赖于关键功能)

答案

一旦构建,就没有动态更新应用程序白名单的机制。这在很大程度上会破坏首先提供白名单的安全性。

将所有内容列入白名单的安全风险非常高,特别是如果您要加载您不拥有的网站。将这些网站加载到您应用的主框架中,可以访问您的应用可以访问的同一个Cordova网桥 - 这意味着这些网页可以使用您应用中安装的相同插件。 (注意:在In App Browser中打开这些链接或在外部不会共享相同的风险,因为这不提供对Cordova网桥的访问。)

旁注:即使您使用自己拥有的网站,风险也很高:如果MITM攻击成功执行,或者您的后端攻击恶意内容可以提供给最终用户。

如果不了解您的服务如何运作,很难提供更多帮助,但我建议为每个客户构建一个单独的应用程序。您可以创建自动(几乎)所有内容的脚本,以便向客户端发布更新并不繁琐。

另一答案

根据我的经验,这里有几个选项:

  1. 使用InAppBrowser插件和“_system”目标打开URL。这应该在本机浏览器中打开URL,并在完整视图中显示URL。这似乎是允许的,没有白名单调整。 window.open(url, '_system', 'location=yes,enableViewportScale=yes');
  2. 如果您需要留在您的应用程序中(而不是打开本机浏览器),您可以在加载您控制和信任的页面时执行hacky解决方法,并将其传递给动态URL。在那个页面上你可以有一个iframe,它的源根据传入的参数动态改变。应用程序可以通过查询字符串传递所需的URL,然后只需从那里更改iframe。 显然,将您允许的URL限制为您控制的列表是很好的。

以上是关于UAC白名单有没有用?的主要内容,如果未能解决你的问题,请参考以下文章

Win8如何给UAC添加白名单使其信任某个程序?

如何设置UAC白名单

使用UAC白名单让指定的程序不受UAC限制,很实用的哦

windows提权-绕过UAC提权

公众号白名单怎么设置

白名单是啥意思?