归纳php中执行命令、读文件的函数

这部分主要设置及代码审计,要先了解一些php函数
PHP中常见的敏感函数列表
PHP-代码执行函数-命令执行函数

执行命令的函数

php 执行命令函数
常用的PHP命令执行函数及利用方式

命令执行函数

system()

执行系统命令,输出执行结果

exec()

执行系统命令,不输出结果,echo只返回最后一行

exec()函数可以执行系统命令, 但它不会直接输出结果, 而是将执行的结果保存到数组中在这里插入图片描述

passthru()

执行系统命令,输出执行结果,它支持二进制的数据,更多的用于文件, 图片等操作

shell_exec()

执行系统命令,不输出结果,echo返回所有

反引号 ``

和shell_exec等价
执行系统命令,不输出结果,echo返回所有

popen()/proc_open()

该函数也可以将字符串当作OS命令来执行,但是该函数返回的是文件指针而非命令执行结果。该函数有两个参数。

plaintext
1
2
3
$ cmd = $ _POST['cmd'].">> 1.txt";
//此时的$ cmd=ipconfig >> 1.txt
popen("$ cmd",'r'); //实际上就是 popen("ipconfig >> 1.txt", "r"),把执行结果放入1.txt文件,通过访问1.txt文件查看

pcntl_exec()

读文件的小tips

如果使用的命令没有回显,可以使用重定向
例如exec("ls >> 1.txt");
>是覆盖,>>是追加

读文件的函数

php常用的文件读取函数总结

file_get_contents()

读一个文件,没有回显,echo以流的形式在源代码中

highlight_file()

读一个文件高亮显示,直接回显,不用echo

show_source()

读文件,直接回显

readfile()

以流的形式回显,在源代码中