前言
这篇文件用于记录做ctf中获取到的零碎的知识点(碰到就记录,不断更。。),主要还是学习没有完整的过一遍,导致好多知识点没有接触过。
一、php相关
1、<?= $cmd ?>
等于 <?php echo($cmd) ?>
在php中, ?>称为短标签,称为长标签。修改PHP.ini文件配置 short_open_tag = On 才可使用短标签。php5.4.0以后, <?= 总是可代替 <? echo。
2、反引号``
在php中反引号的作用是命令替换,将其中的字符串当成shell命令执行,返回命令的执行结果。反引号包括的字符串必须是能执行的shell命令,否则会出错。例:
3、点 .
点命令等于source命令,用来执行文件。source /home/user/bash
等同于 . /home/user/bash
4、通配符
问号?
代表一个任意字符,通配符/??p/p?p??????
匹配/tmp/phpxxxxxx
5、.user.ini
PHP 会在每个目录下搜寻的文件名;如果设定为空字符串则 PHP 不会搜寻。也就是在.user.ini中如果设置了文件名,那么任意一个页面都会将该文件中的内容包含进去。我们在.user.ini中输入auto_prepend_file =a.txt,这样在该目录下的所有文件都会包含a.txt的内容。