第一关
只要触发alert()函数就能跳转到下一关,其他关卡也是一样的
先找输入点2、再找输出点
那么,我们应该如何输出呢?来分析一波源码
输出在标签之间,那么直接构造:<script>alert(/xss/)</script>
第二关
查看源代码
我们可以看到<h2>标签内的payload被编码转义了,浏览器无法执行(这里就不管是为什么了);还有一处和我们相关,就是<input name="keyword" value="<script>alert(xss)</script>">,这儿我们的payload是没变的。
既然<h2>标签中暂时无法入手,那就从<input>中入手,但是是属性值,浏览器无法执行。那我们就拼接语句闭合引号和括号,<input name="keyword" value="这个是前半部分,后面这个">就直接注释掉即可//.
那我们的payload就可以写入来了:"><script>alert('xss')</script>//