问题

由于htmlspecialchars默认不对单引号做转义,导致了xss漏洞。

比如可以在input box中输入'onmousemove='alert(1)后点击Exploit It,然后鼠标放在Click me的链接上,就会显示一个弹框。

注意:不要在新版浏览器测试,是没有效果的。

Solution:将有漏洞的代码修改一下,就是solution。

解决

添加参数ENT_QUOTES即可修复。

在solution编辑框中输入

echo "<a href='http://".htmlspecialchars(Common::getPost('input'),ENT_QUOTES)."'>Exploit Me</a>";

最后submit。