根据网络安全公司PortSwigger的安全研究员Gareth Heyes的说法,Microsoft Edge浏览器附带的安全功能似乎已停止运行。
有问题的安全功能名为“XSS Filter”,是Microsoft开发的安全机制,可以防止浏览器内部的基本跨站点脚本(XSS)攻击。
微软于2008年开发并推出了XSS Filter ,当时它首次包含在Internet Explorer 8中,但该功能已经扩展到Edge,并被其他浏览器采用,如谷歌浏览器和Safari。
此安全功能也称为“X-XSS-Protection”。这个名称是众所周知的,因为网站所有者可以为提供其网站的服务器配置名为“X-XSS-Protection”的HTTP标头。
当浏览器从这些站点加载页面并检测到此标头时,它们将根据该标头的值运行XSS过滤器保护,该标头可以是以下三个值之一:
X-XSS-Protection: 0
X-XSS-Protection: 1
X-XSS-Protection: 1; mode=block
当浏览器看到标题为“ X-XSS-Protection:0 ”时,它将禁用XSS过滤器保护。
当浏览器看到标题为“ X-XSS-Protection:1 ”时,它将清理页面的代码并删除特定于XSS攻击的模式。
当浏览器看到“ X-XSS-Protection:1; mode = block ”时,如果它检测到特定于XSS攻击的模式,它将阻止对页面上任何内容的呈现(显示)。
在过去的三年中,自Edge发布以来,Edge已将第二个值用作默认设置,这意味着Edge将尝试清理其加载的任何页面的代码,无论它是否配置了X-XSS-Protection标头或不。
但是本周,Heyes 发现 Edge在尊重XSS Filter设置方面没有表现得如此。
“默认情况下,XSS过滤器应该打开,”Heyes说。“但是,它现在默认关闭,即使您尝试使用X-XSS-Protection打开它:1它仍然关闭。”
默认情况下,所有站点都禁用XSS Filter的原因尚不清楚,因为微软或Edge团队没有任何官方声明。
但这似乎不是微软有意重新配置的。相反,这似乎是一个错误。
这是因为该功能在Microsoft的其他浏览器Internet Explorer中按预期工作,默认情况下仍处于打开状态。如果微软想要删除这个功能,它将从它的两个浏览器中完成。
此外,仍然可以在Edge中启用XSS Filter,但是当网站专门使用其第三高的安全级别设置时 - 大多数网站所有者都会避免使用它,因为它会阻止Edge完全显示网站。
“现在实际打开它的唯一方法是当你有标题X-XSS-Protection:1; mode = block,”Heyes指出。
微软发言人尚未回复Bleeping Computer的评论请求。微软在本周早些时候公司发表评论时表示,“我们无法与PortSwigger分享”。
但PortSwigger的研究人员还建立了一个案例,如果微软真的走了这条路,那么删除XSS Filter也可能是一个好主意,以及为什么许多安全研究人员不会为此过多地哭泣。
对于初学者来说,许多研究人员绕过此功能或滥用它来进行下面的浏览器上的其他攻击[ 1,2,3 ]。
其次,Mozilla 从未表示支持该功能,并且阻碍了该功能成为跨浏览器支持的反XSS机制的机会。
第三,根据MDN门户网站,关于网络功能的官方文档网站,XSS过滤器功能并不像以前那样重要:
第四,该功能经常被网站所有者误解和配置错误,因此它很少充分发挥其潜力。
因此,即使它是一个错误,或者微软已经故意禁用它,看起来该功能开始时并没有那么多粉丝。
领取专属 10元无门槛券
私享最新 技术干货