从url地址来看,依然是get方式传递参数,所以猜测考察的还是反射型XSS。只不过这一关将参数名换成了keyword。页面中央出现了一个输入框和一个“搜索”按钮。
先看看网页源代码
可以看出当我们点击搜索后输入框里的内容会以get的方式提交给level2.php,知道大致流程就可以用我们的代码进行测试了,先用第一关的代码试一下
并没有弹窗,这时我们查看页面源代码
发现我们的代码被编码了,<>都被编码成html的字符实体,接着往下看可以看到插入到value参数值中的恶意代码并没有被编码而是直接原样返回的。但是问题是这里的js代码在标签属性值中,浏览器是无法执行的
先">合上input标签,插入我们的js代码//注释掉后面的">
我们的恶意代码成功被执行