RCE
RCE(remote code execute / remote command execute)
可能存在隐患的函数
PHP
代码执行函数:eval()、assert()、preg_replace()、create_function()、array_map()、call_user_func()、call_user_func_array()、array_filter()、uasort()等;
命令执行函数:system()、exec()、shell_exec()、pcntl_exec()、popen()、proc_popen()、passthru()等;
Python
eval、exec、subprocess、os.system、commands等;
Java
Java 中没有类似 php 中 eval 函数这总可以将字符串转化为代码执行的函数,但有反射机制,并且有各种基于反射机制的表达式引擎,如:OGNL、SpEL、MVEL 等。
可能得功能点
在线编程、 系统面板等;或可能通过其他漏洞所引发:注入、文件包含、文件上传(eg:功能是将上传的文件移动到指定文件夹中,这样通过拼接命令可导致命令执行)、反序列化等;
命令执行的绕过技巧
查看文件
eg:cat命令被过滤
1 | ca""t |
空格被过滤
尝试以下符号绕过
1 | < 、<>、$IFS$9、${IFS}、$IFS、$IFS[*]、$IFS[@]等 |
文件名被过滤
eg:/etc/passwd
1 | /e?c/?asswd |
绕过输入内容执行命令
1 | 1. cmd1;cmd2:cmd1执行完再执行cmd2,windows下无法用(;) |








