XSS是开发阶段留下的漏洞。
在XSS-challenge-tour中,只要触发了alert事件就算通关。
level1


level2

发现有一个输入框,每次输入的值都会被h2标签包裹,所以我们盯上了keyword,尝试用">闭合标签


level3
再输入">发现已经没用了,应该是被过滤了。

level4
发现单引号不通了,就换成了双引号。

level5
一开始想老样子试试,发现好像on被过滤了,">没被过滤。

好吧,把个别字母换大小写都没用。

使用伪链接方式假造一个超链接尝试:
"> <a href="javascript:alert('test')">link</a>

点击link执行脚本通关。
level6
虽然">没被过滤,但

emmmmm......

然后我就,
111"><SCRIPT>alert(1)</SCRIPT>
level7
发现


script 和on被过滤了,双写on试试

双写script也是可以的,scscriptript。注:那个是onclick别忘了单击一下输入框,否则事件无法触发。
level8
发现输入框的值被a标签包裹。


用Unicode,javascript:alert(1)
javascript:alert(1)

level9
跟第八题一样,只不过在Unicode后面加上//http://

level10
发现没有输入框了。

在url框中进行传参?t_link=1&t_history=2&t_sort=3

t_sort传进去了,所以,?t_sort=" onclick="alert(1)" type=""

点击输入框就行了。