路漫漫其修远兮,吾将上下而求索

0%

phpfuzz

php代码审计(含过滤)

  • 先理清楚正则过滤,寻找漏过

  • 再使用以下脚本fuzz过滤的php函数

    1
    <?php
    2
    $allPHPfunNum = count(get_defined_functions()[internal]);
    3
    echo "当前版本PHP的所有内置php函数数量为".$allPHPfunNum."<br>";
    4
    $a = array();
    5
    $b = 0;
    6
    7
    for($i=0; $i < $allPHPfunNum; $i++){
    8
    9
        $Fun = get_defined_functions()[internal][$i];
    10
    11
      if(!preg_match('/_|readfile|if|time|local|sqrt|et|na|nt|strlen|info|path|rand|dec|bin|hex|oct|pi|exp|log/i', $Fun)){
    12
            $a[$b]=$Fun;
    13
            $b++;
    14
        }
    15
    }
    16
    echo "满足过滤条件的函数数量为".count($a)."<br>";
    17
    print_r($a);
    18
    ?>

    php读取文件函数

    1
    file()      //把文件读入一个数组中。
    2
    fopen()    //打开一个文件或 URL。
    3
    fread()    //        读取打开的文件。
    4
    fgets()   //从打开的文件中返回一行。
    5
    fgetss()   //从打开的文件中读取一行并过滤掉 HTML 和 PHP 标记。
    6
    fgetc()  //从打开的文件中返回字符。
    7
    dirname() //返回路径中的目录名称部分。
    8
    readfile() //读取一个文件,并输出到输出缓冲。