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() //读取一个文件,并输出到输出缓冲。