首先我们按照第一关的方法尝试
结果会发现,会出现以下结果
我们通过右键,然后选择‘检查’看一下什么情况
在这里我们看到显示并没有出现什么问题,那是什么原因呢?我们看一下源码
通过对源码的分析我们发现,keyword被赋予给了str变量,而在<h2>标签中的str被htmlspecialchars()这个函数给转化为了实体对象,因此我们想要将js代码在标签中被运行的想法GG了,但是通过对代码的分析我们还发现str变量在搜索框中有出现,因此我们转变思路,在js代码中写入这样的语句:
“><script>alert(1)</script>//
这样 “> 就会将前面的语句闭合掉,‘//’就会注释掉后面的语句,那我们的js代码不就可以执行了吗?我们试一下
ok