从响应 header 服务器 (Self-hosted Http.Sys) 中删除 Microsoft-HTTPAPI/2.0
Remove Microsoft-HTTPAPI/2.0 from the response header Server (Self-hosted Http.Sys)
如何抑制或删除 HTTP 响应 header 'Server: Microsoft-HTTPAPI/2.0'?
渗透测试发现,泄露服务器平台是一个安全漏洞。
我在 Windows Server 2019 上有一个 self-hosted asp.net 核心 Web 应用程序 运行,我使用 Http.Sys 而不是 Kestrel,因为我需要 NTML 身份验证.
根据 Microsoft 的说法,可以通过注册表关闭响应 header,但它对我不起作用。我已经在注册表中将 DisableServerHeader 设置为 2
HTTP.SYS registry settings 并重新启动了服务器。
- 如果我没有添加回复header,它会自动添加。 服务器:Microsoft-HTTPAPI/2.0
- 如果我添加响应 header,该值将自动添加。 服务器:my-dumy-valueMicrosoft-HTTPAPI/2.0
更新,我发现问题了!
我没有正确输入参数名称,导出密钥时出现拖尾space。删除 space 并重新启动服务器后,它按预期工作。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters]
"DisableServerHeader "=dword:00000002
您是否尝试过在 IIS
中使用 removeServerHeader
配置 requestFilter
默认设置为 false ,您可以设置为 true refer for more
似乎没有从主机上的服务器中删除 HTTP header 的代码解决方案。一种解决方案是编辑 Windows 注册表。
您可以添加一个注册表值,这样 HTTP.sys 就不会包含 header。
1.Open 注册表
2.Navigate 至:Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
3.If DisableServerHeader 不存在,创建它(DWORD 32 位)并给它一个值 2。如果它确实存在,并且值不是 2,则将它设置为 2。
4.Reboot 服务器或通过调用“net stop http”然后“net start http”重新启动 HTTP 服务
参考:https://docs.microsoft.com/ru-ru/archive/blogs/dsnotes/wswcf-remove-server-header
我通过在注册表中输入正确的参数名称解决了这个问题。这是一个复制粘贴错误,键名有尾随 space.
密钥不再以 space 结尾,一切正常。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters]
"DisableServerHeader"=dword:00000002
如何抑制或删除 HTTP 响应 header 'Server: Microsoft-HTTPAPI/2.0'? 渗透测试发现,泄露服务器平台是一个安全漏洞。
我在 Windows Server 2019 上有一个 self-hosted asp.net 核心 Web 应用程序 运行,我使用 Http.Sys 而不是 Kestrel,因为我需要 NTML 身份验证.
根据 Microsoft 的说法,可以通过注册表关闭响应 header,但它对我不起作用。我已经在注册表中将 DisableServerHeader 设置为 2 HTTP.SYS registry settings 并重新启动了服务器。
- 如果我没有添加回复header,它会自动添加。 服务器:Microsoft-HTTPAPI/2.0
- 如果我添加响应 header,该值将自动添加。 服务器:my-dumy-valueMicrosoft-HTTPAPI/2.0
更新,我发现问题了! 我没有正确输入参数名称,导出密钥时出现拖尾space。删除 space 并重新启动服务器后,它按预期工作。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters]
"DisableServerHeader "=dword:00000002
您是否尝试过在 IIS
中使用removeServerHeader
配置 requestFilter
默认设置为 false ,您可以设置为 true refer for more
似乎没有从主机上的服务器中删除 HTTP header 的代码解决方案。一种解决方案是编辑 Windows 注册表。
您可以添加一个注册表值,这样 HTTP.sys 就不会包含 header。
1.Open 注册表
2.Navigate 至:Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
3.If DisableServerHeader 不存在,创建它(DWORD 32 位)并给它一个值 2。如果它确实存在,并且值不是 2,则将它设置为 2。
4.Reboot 服务器或通过调用“net stop http”然后“net start http”重新启动 HTTP 服务
参考:https://docs.microsoft.com/ru-ru/archive/blogs/dsnotes/wswcf-remove-server-header
我通过在注册表中输入正确的参数名称解决了这个问题。这是一个复制粘贴错误,键名有尾随 space.
密钥不再以 space 结尾,一切正常。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters]
"DisableServerHeader"=dword:00000002