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=""
点击输入框就行了。