WeChall htmlspecialchars (Exploit, PHP, XSS)
问题
由于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。