第一关
审查元素,定位输出内容位置,发现参数直接输出到页面中。
payload:<Script>alert(1)</Script>
第二关
审查元素,发现需要闭合value的 " 以及input >。
payload:"><Script>alert(666)</Script>
第三关
审查元素发现与第二相同,使用第二关的payload,发现不行。
没有把插入的<Script>alert(1)</Script>
当作HTML执行。看一下源码:
发现使用 htmlspecialchars函数将我们输入的内容进行HTML实体化。
就是将 < > 等符号只当作符号不会当作HTML标签。
发现我们输入的参数在input标签中,可以使用JS事件来过这一关,比如说使用onfocus、onclick、onerror等。
这里使用 onclick 点击事件来触发XSS。
onclick 鼠标左键点击(单)触发事件,之后调用后面的代码,如JS函数或者JavaScript:…
payload:' onclick ='javascript:alert(666)'
第四关
审查元素发现与第三关一样,只是必和符号由’ 变成 "
payload: " onclick =‘javascript:alert(666)’