码迷,mamicode.com
首页 > Web开发 > 详细

CTF的php内置函数bypass技巧

时间:2020-04-21 12:46:37      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:==   代码   color   turn   mic   就是   class   code   size   

in_array

in_array函数用来判断一个值是否在一组数组中

技术图片技术图片

 总共三个参数,如果最后一个type为true,则为严格类型校验 类似于===

如果没有type=true则为弱类型匹配,此时存在类型强制转换导致绕过校验的风险

比如:


        $whitelist = ["hit"];
        if (in_array($page, $whitelist)) {
            echo "yes";
            return true;

以上就是验证这个page是否满足这个hit,那么传入page=hit#即可进行绕过

经过测试,目前只发现#可以绕过这个字符串in_array校验的

下面是数字型的绕过

        $whitelist = [1,2,3];
        if (in_array($page, $whitelist)) {
            echo "yes";
            return true;

 可以传入page=1wff 1; 1,(前面是数字后面是字符串或者符号 进行绕过)审计代码时,留意可能存在注入点

include

include("index.php?../../../../../etc/passwd");

这样可以绕过文件包含限制,达到任意文件包含的目的

 

CTF的php内置函数bypass技巧

标签:==   代码   color   turn   mic   就是   class   code   size   

原文地址:https://www.cnblogs.com/Tkitn/p/12743601.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!