【发布时间】:2021-08-30 11:40:31
【问题描述】:
如何抑制或删除 HTTP 响应标头“服务器:Microsoft-HTTPAPI/2.0”? 渗透测试表明,泄露服务器平台是一个安全漏洞。
我有一个在 Windows Server 2019 上运行的自托管 asp.net 核心 Web 应用程序,并且我使用 Http.Sys 而不是 Kestrel,因为我需要 NTML 身份验证。
根据微软的说法,响应头可以通过注册表关闭,但它对我不起作用。我已在注册表中将 DisableServerHeader 设置为 2 HTTP.SYS registry settings 并重新启动服务器。
- 如果我不添加响应头,它将自动添加。 服务器:Microsoft-HTTPAPI/2.0
- 如果我添加响应标头,该值将自动添加。 服务器:我的虚拟值 Microsoft-HTTPAPI/2.0
更新,我发现了问题! 我没有正确输入参数名称,导出密钥时显示了一个空格。删除空间并重新启动服务器后,它按预期工作。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters]
"DisableServerHeader "=dword:00000002
【问题讨论】:
-
似乎没有代码解决方案可以从主机上的服务器中删除 HTTP 标头,唯一的解决方案是编辑 Windows 注册表。不清楚你失败的原因,你能提供更多细节吗?
-
@Chaodeng 谢谢,我在尝试为您提供更多详细信息时发现了这个问题。
-
哇!我的问题完全一样!我也有一个尾随空格!
标签: asp.net-core http.sys self-host-webapi