1.RCE是一种攻击方式,它允许攻击者在远程系统上执行任意代码。这种攻击方式通常涉及到系统或应用程序的安全漏洞,使得攻击者能够注入或上传恶意代码,并在受害者的系统上执行这些代码。RCE攻击的成功执行可能导致系统被完全控制,包括数据泄露、系统破坏或更严重的后果
函数
-
system() 函数:执行外部程序,并且显示输出
-
exec() 函数:是 PHP 中用来执行系统命令的另一个函数,它与
system()
函数类似,但exec()
函数不会捕获命令的输出,而是直接在服务器上执行命令,并且将命令的输出作为数组返回。 -
popen() 函数:是 PHP 中用于与外部程序进行交云的一个非常有用的函数。它的作用是打开一个流到外部程序,这个流可以是程序的标准输入或标准输出。
popen()
函数通常用于双向交互,即可以从 PHP 向外部程序发送数据(通过标准输入流),同时也可以从外部程序接收数据(通过标准输出流)。 -
shell_exec() 函数:通过shell环境执行命令,并将其完整的输出
-
passthru() 函数:是 PHP 中另一个用于执行系统命令的函数,它的作用是将命令的输出直接传递给调用者,而不是将输出作为 PHP 字符串返回。这意味着
passthru()
函数执行的命令的输出将直接显示在调用它的脚本的输出中;passthru()
函数通常用于那些需要将命令的输出直接显示给用户的情况,而不是将其作为 PHP 变量。这与system()
函数不同,后者将输出作为 PHP 字符串返回,可以用于进一步处理。 -
proc_open() 函数:创建一个进程,然后可以使用 PHP 流与该进程进行交互。这意味着可以使用 PHP 的文件指针操作来读取和写入进程的输入和输出。
逻辑运算符
逻辑与(AND)运算符:&&
逻辑或(OR)运算符:||
逻辑非(NOT)运算符:!
&&逻辑与
前一条命令执行成功时,才能执行后一条命令
在linux中“;”代表一个命令的结束
“>”覆写符和 “>>”追加符
绕过方法:
空格过滤
< <>
$IFS
%09
$IFS$9
{}
通配符
*匹配任意长度任意字符
cat f*a*
cat *g
(cat flag)
?匹配任意单个字符
cat ????
cat f???
cat ??ag
[]匹配指定范围内的任意单个字符
{}匹配集合内的字符串
cat f[0-z]ag
cat f[0-z]a[0-z]
cat f{l,m}{a,b}g
反斜杠\绕过
c\a\t f\l\a\g
c\at flag
引号连接符绕过
c""at flag
c''at f''lag
命令提示符绕过
c$9at flag
base64编码绕过
echo cat | base64
`echo base64密文 |base64 -d` flag
变量拼接
a=g;cat flag
s=flag;cat $s