pikachu靶场之htmlspecialchars

htmlspecialchars函数

这个函数是用来转换特殊字符,防止将html标签直接输出,防止漏洞的产生,但它并不能真正防止漏洞的出现,

我们可以通过使用一些方法来绕过这个函数,首先需要弄清楚这个函数到底对那些特殊字符进行先转换,这是绕过的

第一步,也是关键的一步。

PHP里面把预定义的字符转换为HTML实体的函数

预定义的字符是

        & 成为 &amp
        " 成为 &quot
        ' 成为 &#039
        < 成为 &lt
        > 成为 &gt

因为这样所以类似<script>的代码,被插入后无法执行,因此我们需要新的插入指令,

结合pikachu 靶场上的htmlspecialchars漏洞

 

 发现单引号没有被过滤掉 (htmlspecialchars函数默认是不过滤单引号的)

所以利用单引 号写代码进行插入

hack' onfocus='alert(1)  // 单引号闭合+事件标签
 
javascript:alert(1)  // JavaScript伪协议

插入后,点击插入内容,代码被执行,成功

 

posted @ 2020-08-04 15:55  ccddddddddd  阅读(248)  评论(0编辑  收藏  举报