从响应头服务器(自托管Http.Sys)中删除microsoft - httpi /2.0



如何抑制或删除HTTP响应头'Server:microsoft - httpi/2.0"?渗透测试显示,这是一个泄露服务器平台的安全漏洞。

我有一个自托管的asp.net核心web应用程序在Windows Server 2019上运行,我使用Http。Sys而不是Kestrel,因为我需要NTML身份验证。

根据微软,响应头可以通过注册表关闭,但它不适合我。我在注册表中设置了DisableServerHeader为2HTTP。SYS注册表设置并重启服务器。

  1. 如果我没有添加响应头,它将被自动添加。服务器:Microsoft-HTTPAPI/2.0
  2. 如果我添加一个响应头,该值将自动添加。Server: my-dumy-valuemicrosoft - httpi/2.0

更新,我发现了问题!我没有正确输入参数名,导出密钥时显示了一个跟踪空格。在删除空间并重新启动服务器后,它可以正常工作。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesHTTPParameters]
"DisableServerHeader "=dword:00000002

似乎没有代码解决方案从主机上的服务器上删除HTTP头。一个解决方案是编辑Windows注册表。

你可以添加一个注册表值,所以HTTP。Sys不包含头文件

1。打开注册表编辑器

2。导航到:ComputerHKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesHTTPParameters

3。如果DisableServerHeader不存在,创建它(DWORD 32bit)并给它一个值2。如果不存在,且值不是2,则设置为2。

4。重新启动服务器或通过调用"net stop HTTP"重新启动HTTP服务。然后"net start http">

参考:https://learn.microsoft.com/ru-ru/archive/blogs/dsnotes/wswcf-remove-server-header

我通过在注册表中输入正确的参数名称解决了这个问题。这是一个复制粘贴错误,密钥名后面有一个空格。

键不再以空格结尾,一切正常。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesHTTPParameters]
"DisableServerHeader"=dword:00000002

您是否尝试在IIS中配置requestFilterremoveServerHeader?

参考:RequestFilter

默认设置为false,您可以设置为true参考更多

相关内容

最新更新