标签: windows-security

Microsoft Edge 中的 Windows 安全对话框

我使用的是最新版本的 Microsoft Edge(版本 81.0.416.68(官方版本)(64 位))。当我尝试登录特定站点(而不是所有站点)时,会弹出“Windows 安全”对话框,然后是“登录以访问此站点”,询问用户名和密码。使用 Chrom 我只是收到“登录”对话框,询问用户名和密码。

所以我的问题是,为什么 Microsoft Edge 有“Windows 安全”对话框,即使它没有像另一个对话框一样预先填写任何保存的用户名和密码,这也很烦人?

如何禁用此功能,获得一个带有预填充保存的用户名和密码的正常“登录”对话框,或者我需要在“Windows 安全”对话框中为预填充保存的用户名和密码进行一些设置?

windows-security microsoft-edge

6
推荐指数
2
解决办法
2万
查看次数

ASP.NET模拟问题(第2部分)

这是关于无法冒充当前登录的Windows用户的上一篇文章的后续内容.有很多好的建议,但之前的主题变得混乱,所以我正在重置这篇文章.希望在下面记录的当前状态下,问题显而易见.这是一条很好的路径,所以我不得不相信我所缺少的是一个小配置步骤.

问题:我需要让ASP.NET模拟当前登录的用户.当我在IIS 7.5下运行时,它不起作用.IIS Express工作正常,但我认为这是因为调试会话在我的用户ID下运行.

Environment.Username用来确定这个用户是谁.有人建议此属性始终返回登录的用户名,但在我的测试中,它会从IIS返回模拟用户.

例如,如果我的web.config有......

    <identity impersonate="true" />
Run Code Online (Sandbox Code Playgroud)

当我使用该设置在IIS 7.5下运行时,Environment.Username返回IUSR.我相信这是IIS匿名用户帐户.

如果我将web.config更改为...

    <identity impersonate="true" userName="domain\jlivermore" password="mypassword" />
Run Code Online (Sandbox Code Playgroud)

...然后Environment.Username返回jlivemore.但是,如果没有我在web.config中明确设置它,我需要它返回jlivermore.

这是我的IIS设置......

.NET授权规则 .NET授权规则

认证 认证

一个问题,如果我禁用匿名身份验证,那么系统会提示我登录该站点.我想如果您使用域上的Active Directory帐户登录,那么此挑战不会出现?即使我在此提示中输入我的用户名/密码,我仍然无法进行模拟.

在此输入图像描述

基本设置

基本设置

asp.net impersonation windows-security asp.net-mvc-3 asp.net-mvc-2

5
推荐指数
1
解决办法
8528
查看次数

如何正确调用LsaLogonUser进行交互式登录?

我正在尝试使用LsaLogonUser创建交互式登录会话,但它始终返回STATUS_INVALID_INFO_CLASS(0xc0000003).从我在网上搜索中发现,KERB_INTERACTIVE_LOGON结构的内存布局很棘手,但我很确定我已经做到了.

我也尝试使用MSV1.0而不是Kerberos,MSV1_0_INTERACTIVE_LOGON用于身份验证结构和MSV1_0_PACKAGE_NAME包名称,但是失败了STATUS_BAD_VALIDATION_CLASS(0xc00000a7).

谁能告诉我这里做错了什么?这是代码,大部分错误处理都被剥离了.显然,这不是生产质量; 我只想尝试一个工作样本.


// see below for definitions of these
size_t wcsByteLen( const wchar_t* str );
void InitUnicodeString( UNICODE_STRING& str, const wchar_t* value, BYTE* buffer, size_t& offset );

int main( int argc, char * argv[] )
{
    // connect to the LSA
    HANDLE lsa;
    LsaConnectUntrusted( &lsa );

    const wchar_t* domain = L"mydomain";
    const wchar_t* user = L"someuser";
    const wchar_t* password = L"scaryplaintextpassword";

    // prepare the authentication info
    ULONG authInfoSize …
Run Code Online (Sandbox Code Playgroud)

windows windows-security local-security-authority

5
推荐指数
1
解决办法
4807
查看次数

使用 CreateRestrictedToken(LUA_TOKEN) 从提升的进程创建低/中进程

我正在尝试从提升的进程创建中或低完整性进程。我知道还有其他类似的问题,但它们主要关注使用资源管理器或任务计划程序等解决方法,我想坚持使用CreateRestrictedToken()+ CreateProcessAsUser()

我认为一定可以以某种方式执行此操作,因为我相信 UAC 在您登录时会执行此操作,但我无法使令牌中的所有内容看起来像正常的 UAC Medium IL 令牌。

通过创建令牌CreateRestrictedToken(hThisProcessToken, LUA_TOKEN, ...),然后设置TokenOwnerTokenDefaultDacl然后TokenIntegrityLevel调用 之前,您可以获得 80% 的收益CreateProcessAsUser()

剩下的问题是TokenVirtualizationAllowedTokenVirtualizationEnabledTokenElevationTokenElevationTypeTokenMandatoryPolicy其中SetTokenInformation()失败并出现 ERROR_PRIVILEGE_NOT_HELD 或 ERROR_INVALID_PARAMETER。

如果我以 SYSTEM @ SECURITY_MANDATORY_SYSTEM_RID 身份运行并启用所有权限,而不是以管理员 @ SECURITY_MANDATORY_HIGH_RID 身份运行,那么我可以进行设置TokenMandatoryPolicyTokenVirtualization*但设置TokenElevation*仍然失败!(目前仅在 Windows 8 上进行了测试)

TokenElevation*令牌中没有正确的值是一个大问题,因为 Internet Explorer 无法在保护模式下启动,因为它认为令牌已提升。

的文档没有SetTokenInformation()说明TOKEN_INFORMATION_CLASS可以设置哪些项目以及需要哪些权限(如果有),我不明白为什么不允许您将这些设置为与实际完整性级别()匹配的较低安全TokenIntegrityLevel值令牌。

使用Safer API创建SAFER_LEVELID_NORMALUSER令牌并不能解决任何这些问题,而且还会创建比普通 …

windows security winapi uac windows-security

5
推荐指数
1
解决办法
1984
查看次数

在 Alfresco 中使用“在 Microsoft Office 中编辑”功能时删除 Windows 安全身份验证屏幕

我使用的是 Alfresco-5.1、MS-Office 2013 和 Windows-7。我已经在我的系统中完成了 Alfresco 设置并上传了一些文件。要编辑文档,我想使用“在 Microsoft Office 中编辑”功能,但是当我点击它时,我得到了如下所示的 Windows 安全弹出窗口屏幕,它再次要求输入用户名和密码。我想删除这个弹出窗口。我怎样才能删除它?

Windows 安全弹出窗口

alfresco ms-office windows-security windows-7 alfresco-share

5
推荐指数
1
解决办法
1066
查看次数

Windows防火墙已阻止IntelliJ IDEA的某些功能

我安装了IntelliJ IDEA 2016.3社区版,我创建了一个简单的Java类,其中包含一个main只打印消息的方法.当我运行该"程序"时,会出现以下窗口:

Windows安全警报

Windows防火墙已阻止此程序的某些功能

Window Firewall已在所有公共和专用网络上阻止了IntelliJ IDEA的某些功能.

如果我去文件 > 设置... > Appeareance与行为 > 系统设置 > 使用情况统计 > 允许将使用统计资料,以JetBrains的SRO选中.

不允许向JetBrains发送使用情况统计信息

如果我去C:\Users\myusername\.IdeaIC2016.3\system\log:

  • build-log\build.log - 似乎没什么可疑的
  • idea.log - 唯一有趣的线是:

    • 在第一次运行时,当出现Windows安全警报窗口时,有5个块看起来像这样(不相同):

      2016-12-01 09:42:53,814 [ 662361]   INFO - il.indexing.FileBasedIndexImpl - Rebuild requested for index org.jetbrains.kotlin.idea.versions.KotlinMetadataVersionIndex 
      java.lang.Throwable
          at com.intellij.util.indexing.FileBasedIndex.requestRebuild(FileBasedIndex.java:72)
          at org.jetbrains.kotlin.idea.versions.KotlinUpdatePluginComponent.initComponent(KotlinUpdatePluginComponent.kt:62)
          at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentConfigComponentAdapter.getComponentInstance(ComponentManagerImpl.java:501)
          at com.intellij.openapi.components.impl.ComponentManagerImpl.createComponents(ComponentManagerImpl.java:125)
          at com.intellij.openapi.application.impl.ApplicationImpl.lambda$createComponents$8(ApplicationImpl.java:441)
          at com.intellij.openapi.progress.impl.CoreProgressManager$3.run(CoreProgressManager.java:179)
          at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:568)
          at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:519)
          at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
          at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:164)
          at com.intellij.openapi.application.impl.ApplicationImpl.createComponents(ApplicationImpl.java:448)
          at com.intellij.openapi.components.impl.ComponentManagerImpl.init(ComponentManagerImpl.java:109)
          at com.intellij.openapi.application.impl.ApplicationImpl.load(ApplicationImpl.java:400)
          at com.intellij.openapi.application.impl.ApplicationImpl.load(ApplicationImpl.java:386)
          at com.intellij.idea.IdeaApplication.run(IdeaApplication.java:190) …
      Run Code Online (Sandbox Code Playgroud)

security windows-firewall intellij-idea windows-security intellij-idea-2016

5
推荐指数
0
解决办法
2637
查看次数

以编程方式解锁 Windows 10

我正在构建一个应用程序,以根据与移动应用程序的接近程度自动解锁/锁定工作站。该解决方案类似于此处描述的 Microsoft 应用程序,因此我很确定这是可能的。

我可以使用什么 API 以编程方式解锁 Windows 10 工作站? 我在这里看到了一个类似的问题,但它已经有六年历史了,我不知道它描述的技术是否对 Windows 10 甚至有效。

因为这个应用程序将依赖蓝牙 LE,它需要 Windows 10+,所以我不需要支持旧操作系统版本的解决方案。

我是一名经验丰富的程序员,但 10 年来没有做过任何 Windows 编程,所以我不知道去哪里找。任何帮助表示赞赏。

c# winapi windows-security windows-10

5
推荐指数
0
解决办法
1384
查看次数

附加数据库时 SQL Server 错误 5123

我有两个数据库。两者都在同一个文件夹中。据我所知,两者拥有完全相同的所有权和权限。我可以附加一个,但不能附加另一个 - 我收到错误 5123。

对于这两个文件...

  • 所有者是 MSSQLSERVER

权限条目:

  • MSSQLSERVER - 完全控制

  • 所有者权利 - 完全控制

  • 管理员 - 完全控制

我查看了下面引用的其他问题,但鉴于上面列出的限制,无法得到任何可行的建议。我在下面发布了最终有效的内容。

sql-server windows-security

5
推荐指数
1
解决办法
2万
查看次数

Windows 安全弹出窗口出现在主应用程序窗口后面

我在 WPF 应用程序中使用 Windows 10 API“Passport”和“Window Hello”。

bool keyCredentialAvailable = await KeyCredentialManager.IsSupportedAsync();
if (keyCredentialAvailable)
{
      KeyCredentialRetrievalResult keyCreationResult = await KeyCredentialManager.RequestCreateAsync("Hi", KeyCredentialCreationOption.ReplaceExisting);

}
Run Code Online (Sandbox Code Playgroud)

RequestCreateAsync方法打开弹出窗口,要求输入生物识别信息或密码。这在主窗口后面的屏幕截图中可见。

我没有任何关于这个弹出窗口的参考,我可以把它放在前面。另外,我在 MainWindow 的方法上调用此方法Loaded,以便可以确认主窗口已完全加载。

弹出窗口定位问题 立即发出

预期定位 预期的

c# windows wpf windows-security

5
推荐指数
1
解决办法
1208
查看次数

SendInput 在 UAC 提示时失败

我们正在编写一个仅运行的远程桌面应用程序,它使用 SendInput 进行键盘(和鼠标)交互。但是它无法与 UAC 提示交互。

我们的应用程序为此需要什么权限/权利?

背景信息:该应用程序是由复制 winlogon.exe 的访问令牌的另一个进程生成的。这使得可以在具有系统完整性级别的 SYSTEM 帐户下运行,附加到物理控制台会话,并具有与 winlogon.exe 相同的 SE 权限(https://learn.microsoft.com/en-us/windows/desktop/secauthz/特权常量),尽管并非所有这些都已启用。

struct MY_TOKEN_PRIVILEGES {
  DWORD PrivilegeCount;
  LUID_AND_ATTRIBUTES Privileges[2];
};

int RunUnderWinLogon(LPCWSTR executableWithSendInput)
{
  DWORD physicalConsoleSessionId = WTSGetActiveConsoleSessionId();

  auto winlogonPid = GetWinLogonPid(); // external function

  if (!winlogonPid)
  {
    std::cout << "ERROR getting winlogon pid" << std::endl;
    return 0;
  }

  HANDLE hWinlogonToken, hProcess;
  hProcess = OpenProcess(MAXIMUM_ALLOWED, FALSE, winlogonPid);

  if (!::OpenProcessToken(hProcess, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY
    | TOKEN_DUPLICATE | TOKEN_ASSIGN_PRIMARY | TOKEN_ADJUST_SESSIONID
    | TOKEN_READ | TOKEN_WRITE, &hWinlogonToken))
  { …
Run Code Online (Sandbox Code Playgroud)

winapi uac windows-security uipi sendinput

4
推荐指数
1
解决办法
1234
查看次数