一、RCE漏洞概述
RCE又称远程代码执行漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。
产生的原因:服务器没有对执行命令的函数做严格的过滤,最终导致命令被执行。
二、命令执行函数
1.PHP代码执行函数:
2. PHP命令执行函数:
三、绕过过滤的方法
(一)过滤关键字,如过滤 cat,flag等关键字
1. 代替法
2. 使用转义符号
3.拼接法
4. 使用空变量$*和$@,$x,${x}绕过
5. 反引号绕过
6.编码绕过-Base64 
7.正则表达式绕过
8. 利用未初始化变量$u让绕过
(二)过滤命令执行函数,如过滤system()
1.url编码绕过
2.内敛执行绕过
(三)过滤一些文件读取的命令
1.绕过方法
2.find -- 列出当前目录下的文件以及子目录所有文件
(四)过滤空格
(五)过滤目录分割符
1.采用多管道命令绕过
127.0.0.1||cd flag_is_here;cat flag_262431433226364.php
(六)过滤分割符——| & ;
用?>代替;
在php中可以用?>来代替最后的一个;,因为php遇到定界符关闭标签会自动在末尾加上一个分号。
(七)过滤括号-使用不需要括号的函数进行绕过
• echo
echo `cat flag`
(八)输入字符串长度限制