0

我正在开发用于消除安全漏洞的 asp.net 应用程序。我要讨论的漏洞是“ X-XSS 保护”和“点击劫持”。我进行了搜索并点击了这个链接。我刚刚使用了“在 Web.Config 中使用<customHeaders>”标题下的解决方案

在此之后,当我运行应用程序时,我收到 500 internal server error: HTTP Error 500.19 - Internal Server Error。在标签detailed error informationConfig Error它说Unrecognized element 'add'

在此之后,我删除了结束标签</add>并留下了<add name="X-Frame-Options" value="DENY"/>,现在应用程序可以正常运行。

在以下几点上,我需要一些帮助:

  1. 为什么上面链接中给出的语法不起作用?
  2. 谁能解释以下几行的重要性:

<add name="X-Frame-Options" value="DENY"/> <add name="X-XSS-Protection" value="1; mode=block"/> <add name="X-Content-Type-Options" value="nosniff "/>

我知道这些是额外的安全标头。谢谢

4

1 回答 1

1

链接文章中的格式有几处问题,我在此处复制了这些内容...

<httpprotocol> 
 <customheaders> 
  <remove name="X-Powered-By"> 
  <add name="X-Frame-Options" value="DENY"> 
  <add name="X-XSS-Protection" value="1; mode=block"> 
  <add name="X-Content-Type-Options" value="nosniff "> 
 </add></add></add></remove></customheaders> 
</httpprotocol>
  • <httpprotocol>并且</httpprotocol>必须是<httpProtocol></httpProtocol>
  • <customheaders>并且</customheaders>必须是<customHeaders></customHeaders>
  • <add>并且<remove>必须是<customHeaders>...的直接子级,它们不能嵌套。
  • 虽然我不能说 100%,但我相信空间"nosiff "可能是一个问题(尽管它可能会被正确处理,但我建议将其删除以防浏览器忽略它)

使用<add></add>or<add/>元素没有区别,只要它们都是元素的直接子<customHeaders>元素

<httpProtocol> 
 <customHeaders> 
  <remove name="X-Powered-By" />
  <add name="X-Frame-Options" value="DENY" />
  <add name="X-XSS-Protection" value="1; mode=block" />
  <add name="X-Content-Type-Options" value="nosniff" />
 </customHeaders> 
</httpProtocol>

有关实际选项,请参阅...

于 2022-01-26T09:05:10.050 回答