XSS挑战之旅Level 1~4
Level1、
通过源文件是可以看出后台处理对输入的数据没有经过任何处理的,所以直接一个最简单的弹出就能过掉

payload:name=<alert(1)</script>
Level2、
在源文件中能看到对输入的数据进行了htmlspecialchars()函数的处理,该函数的作用就是将预定义的字符'<'
和'>'转换为HTML实体,即使其不再以代码的形式写入
一种payload是把input里的引号闭合掉
payload:keyword="><script>alert(1)</script>
另一种就是用js的事件,但是还是要注意闭合payload:keyword="onmouseover=alert(1)>
Level3、
这里是在input里就进行了htmlspecialchars()函数的过滤,这样就不能使用<和>了,同时也是不能用>来闭合,所以可以用js事件并用//注释掉后面的内容

payload:keyword="onmouseover=alert(9)//
Level4、

这里是把<和>用空代替掉了,并且加上了htmlspecialchars()函数的过滤,所以还是用js事件就能解决
payload1:"onmouse=alert(1)//
payload2:" onfocus=alert(1) autofocus="这里解释一下:onfocus事件——定义的事件将在对象获得焦点是触发,这里指input标签获得焦点;autofocus属性是input标签的属性,当页面加载input标签时自动获得焦点;这里的焦点是指鼠标光标的位置,即当光标出现在input文本框里时onfocus事件就会被触发
payload3:"onclick=alerrt(1)//这里是指当鼠标点击input文本框时触发弹窗事件
浙公网安备 33010602011771号