mid*_*111 185 xss http http-headers
所以我现在一直在玩telnet来获取有趣的telnet(即只需键入telnet google.com 80并输入随机GET和带有不同标题的POST等)但我遇到了google.com在其标题中传输的内容不知道.
我一直在浏览http://www.w3.org/Protocols/rfc2616/rfc2616.html,并且没有找到谷歌似乎正在喷出的特定http-header的定义:
GET / HTTP/1.1
HTTP/1.1 200 OK
Date: Wed, 01 Feb 2012 03:42:24 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: PREF=ID=6ddbc0a0342e7e63:FF=0:TM=1328067744:LM=1328067744:S=4d4farvCGl5Ww0C3; expires=Fri, 31-Jan-2014 03:42:24 GMT; path=/; domain=.google.com
Set-Cookie: NID=56=PgRwCKa8EltKnHS5clbFuhwyWsd3cPXiV1-iXzgyKsiy5RKXEKbg89gWWpjzYZjLPWTKrCWhOUhdInOlYU56LOb2W7XpC7uBnKAjMbxQSBw1UIprzw2BFK5dnaY7PRji; expires=Thu, 02-Aug-2012 03:42:24 GMT; path=/; domain=.google.com; HttpOnly
P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."
Server: gws
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Transfer-Encoding: chunked
1000
Run Code Online (Sandbox Code Playgroud)
谁知道是什么X-XSS-Protection?
Luc*_*zzi 103
X-XSS-Protection是Internet Explorer 8(以及更新版本)可以理解的HTTP标头.此标头允许域打开和关闭IE8的"XSS过滤器",这可以防止某些类别的XSS攻击.IE8默认情况下已激活过滤器,但服务器可以通过设置关闭
X-XSS-Protection: 0
Run Code Online (Sandbox Code Playgroud)
Fab*_* Sa 58
X-XSS-Protection: 1 :强制XSS保护(如果用户禁用了XSS保护,则非常有用)
X-XSS-Protection: 0 :禁用XSS保护
mode=block如果检测到潜在的XSS反射(=非持久性)攻击,则令牌将阻止浏览器(IE8 +和Webkit浏览器)呈现页面(而不是清理).
/!\ Warning,mode=block在IE8中创建漏洞(更多信息).
更多信息:http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-iv-the-xss-filter.aspx和http://blog.veracode.com/2014/03 /准则换设定安全-页眉/
Luc*_*cky 46
此响应标头可用于配置用户代理的内置反射XSS保护.目前,只有微软的Internet Explorer,谷歌Chrome和Safari(WebKit)支持这个标题.
Internet Explorer 8包含一项新功能,可帮助防止反映的跨站点脚本攻击,称为XSS筛选器.此筛选器默认在Internet,受信任和受限制的安全区域中运行.本地Intranet区域页面可以使用相同的标头选择加入保护.
关于您在问题中发布的标题,
标头X-XSS-Protection: 1; mode=block启用XSS过滤器.检测到XSS攻击时,浏览器将阻止呈现页面,而不是清理页面.
2010年3月,我们在X-XSS-Protection标头mode = block中添加了IE8对新令牌的支持.
X-XSS-Protection: 1; mode=block
Run Code Online (Sandbox Code Playgroud)
如果存在此令牌,如果检测到潜在的XSS Reflection攻击,Internet Explorer将阻止呈现该页面.IE不会尝试清理页面以手术删除XSS攻击,而只会呈现"#".
Internet Explorer识别可能的跨站点脚本攻击.它记录事件并向用户显示适当的消息.MSDN文章描述了此标头的工作原理.
这个过滤器在IE中如何工作,
有关这篇文章的更多信息,请访问https://blogs.msdn.microsoft.com/ie/2008/07/02/ie8-security-part-iv-the-xss-filter/
XSS Filter作为IE8组件运行,可以查看流经浏览器的所有请求/响应.当过滤器在跨站点请求中发现可能的XSS时,如果在服务器的响应中重放该过滤器,则它会识别并发生攻击.用户不会收到他们无法回答的问题 - IE只是阻止恶意脚本执行.
使用新的XSS Filter,遇到Type-1 XSS攻击的IE8 Beta 2用户将看到如下通知:
IE8 XSS攻击通知
页面已被修改,XSS攻击被阻止.
在这种情况下,XSS筛选器已在URL中识别出跨站点脚本攻击.当已识别的脚本重放回响应页面时,它已将此攻击归为绝.通过这种方式,过滤器无需修改对服务器的初始请求或阻止整个响应即可生效.
当Windows Internet Explorer 8检测并缓解跨站点脚本(XSS)攻击时,将记录跨站点脚本过滤器事件.当一个网站(通常是恶意网站)将JavaScript代码注入(添加)到另一个网站的合法请求时,就会发生跨站点脚本攻击.原始请求通常是无辜的,例如到另一页面的链接或提供公共服务(例如留言簿)的公共网关接口(CGI)脚本.注入的脚本通常尝试访问第二个网站不打算允许的特权信息或服务.响应或请求通常会将结果反映回恶意网站.XSS Filter是Internet Explorer 8的新增功能,可检测URL和HTTP POST请求中的JavaScript.如果检测到JavaScript,则XSS过滤器会搜索反射的证据,如果攻击请求未经更改提交,则会返回到攻击网站的信息.如果检测到反射,则XSS筛选器会清理原始请求,以便无法执行其他JavaScript.然后,XSS筛选器将该操作记录为跨站点脚本筛选器事件.下图显示了为防止跨站点脚本攻击而修改的站点示例.
来源:https://msdn.microsoft.com/en-us/library/dd565647(v = vs.85).aspx
Web开发人员可能希望禁用其内容的过滤器.他们可以通过设置HTTP标头来实现:
X-XSS-Protection: 0
Run Code Online (Sandbox Code Playgroud)
有关安全标头的更多信息,
Mik*_*nen 23
TL;DR:所有写得好的网站 (/apps) 都必须发出标头 X-XSS-Protection: 0,只需忘记此功能。如果您想获得更好的用户代理可以提供的额外安全性,请使用严格的Content-Security-Policy标头。
长答案:
HTTP 标头X-XSS-Protection是 Microsoft 在 Internet Explorer 8.0 (MSIE 8) 中引入的内容之一,旨在提高错误编写的网站的安全性。
这个想法是应用某种启发式方法来尝试检测反射 XSS 攻击并自动中和攻击。
有问题的部分是“启发式”和“绝育”。启发式方法会导致误报,并且无法安全地进行绝育,因为它会导致副作用,可用于在完全安全的网站上实施XSS 攻击和旁道数据攻击。
不好的部分是,如果网站不发出标头,X-XSS-Protection那么浏览器的行为就好像标头X-XSS-Protection: 1已经发出一样。最糟糕的是,这个值是这个头的所有可能值中最不安全的值!
对于给定的安全网站(即该网站没有反映 XSS 漏洞),此“XSS 保护”功能允许以下攻击:
X-XSS-Protection: 1允许攻击者有选择地阻止部分 JavaScript 并保持其余脚本运行。这是可能的,因为此功能的启发式只是“如果在页面源的脚本部分找到任何 GET 参数的值,脚本将自动以依赖于用户代理的方式修改”。在实践中,攻击者可以例如添加查询参数?disablexss=<script%20src="framebuster.js",浏览器会自动<script src="framebuster.js"从实际页面源中删除该字符串。请注意,页面的其余部分继续执行 JavaScript,攻击者只是有选择地删除了这部分页面安全性。在实践中,页面源中的任何 JS 都可以修改。在某些情况下,可以使用具有反射内容的没有 XSS 漏洞的页面在页面上运行选定的 JavaScript。错误地将纯文本数据转换为可执行的 JavaScript 代码。(即,将普通DOM文本节点内的文本数据转化为<script>标签内容并执行!)
X-XSS-Protection: 1; mode=block允许攻击者通过将页面的行为用作侧信道来从页面源泄漏数据。例如,如果页面包含沿行的 JavaScript 代码var csrf_secret="521231347843",攻击者只需添加一个额外的参数,例如leak=var%20csrf_secret="3,如果页面未被阻止,3则第一个数字不正确。攻击者再次尝试,这一次leak=var%20csrf_secret="5页面加载将被中止。这允许攻击者知道秘密的第一个数字是5。然后攻击者继续猜测下一个数字。这允许一次一个数字或<script>源中的任何其他秘密值轻松地暴力破解 CSRF 秘密。
最后,如果你的站点充满了XSS反射攻击,使用默认值1会稍微减少攻击面。但是,如果您的站点是安全的并且您没有发出X-XSS-Protection: 0,那么您的站点将容易受到任何支持此功能的浏览器的攻击。如果您希望浏览器对站点上未知的 XSS 漏洞进行深度防御,请使用严格的Content-Security-Policy标头并继续发送0此错误功能。这不会使您的网站面临任何已知漏洞。
目前该功能在 MSIE、Safari 和 Google Chrome 中默认启用。这曾经在 Edge 中启用,但微软已经从 Edge 中删除了这个错误功能。Mozilla Firefox 从未实现过这一点。
也可以看看:
https://homakov.blogspot.com/2013/02/hacking-facebook-with-oauth2-and-chrome.html https://blog.innerht.ml/the-misunderstood-x-xss-protection/ http:// /p42.us/ie8xss/Abusing_IE8s_XSS_Filters.pdf https://www.slideshare.net/masatokinugawa/xxn-en https://bugs.chromium.org/p/chromium/issues/detail?id=396544 https:// bugs.chromium.org/p/chromium/issues/detail?id=498982
| 归档时间: |
|
| 查看次数: |
241969 次 |
| 最近记录: |