Phprce
Php命令执行:
常见能够执行操作系统的命令函数:
要知道这几种函数是 怎么运行 运行条件 参数 能否回显
system:
第一个参数为我们要执行的命令 第二个参数为将运行结果的状态返回到变量中
可以直接执行系统命令 并且有直接的回显
exec:
exec会将command的结果每一行以数组的形式写入第二个参数上,如果没有设置第二个参数 那么我们打印结果就只会有最后一行的结果
可以直接执行系统命令 但是如果没有第二个参数就只会回显最后一行
有第二个参数时需要借用打印函数 (print_r()),就可以回显全部
passthru:
跟system函数很像 可以直接回显
shell_exec:
没有回显 需要借用打印函数 跟反引号命令执行类似
popen:
proc_open
前三个是必要的参数
这个也是不能直接回显的 需要搭配 stream_get_contents来进行输出
stream_get_contents
是 PHP 中用于从一个流(stream)中读取所有数据的函数。它的作用是将一个流的内容全部读取到一个字符串中,并返回这个字符串。
pcntl_exec
LD_PRELOAD绕过:
我们通过资料可以知道
当我们调用mail函数时 会调用geteuid这个系统文件,然后我们可以使用LD_PRELOAD函数来进行自己先写一个名字一样的假文件,因为在我们使用LD_PRELOAD函数时,会优先调用我们写的这个,所以可以让我们在自己编辑的文件中写入危险函数
这样就会在执行mail函数的时候 先来执行我们自己定义的demo.so文件
空格过滤绕过:
文件名绕过:
反斜杠可以剥夺字符的功能,使他成为一个真正意义上的字符
特殊变量$1没有什么具体意义,相当于一个用来分隔被过滤字符的作用
内联执行:
利用环境变量:
相当于在环境变量这一组字符串中取我们需要的字符
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Bloyet!