这一关我们先查看源代码吧
然后我们可以看得出来 输入点test存在三处输出点
依次是h2标签之间、value属性值处以及h3标签之间的长度
我们可以先尝试一下上一关输入的payload(<script>alert("xss")</script>)
界面回显如下所示
去看看源代码吧
第一处输出点被通过htmlspecialchars()函数转义了 这个函数转移的对象为<、>、"、&
第三处输出点没有利用价值
而第二处输出点由于<script>js代码<script>位于属性值处不会被执行 所以得让他逃出属性值处的双引号
为了逃逸属性值处的双引号 我们可以做出如下构造
">是为了闭合input的<和value的"而存在的
//是为了注释掉本来有的">
"><script>alert("xss")</script>//
构造并输入之后得到如下页面回显
我们可以去看一下后台服务器代码
首先第一个输出点他做了转义操作 第二个输出点他获取请求参数的值 然后将其直接放到value属性值中即可