【笔记】RCE远程代码执行漏洞
前言
远程代码执行(Remote Code Execution)漏洞
也被称为远程命令执行(Remote Command Execution)漏洞
漏洞原理
- 后端代码中出现了可以执行Shell命令的代码
利用前提
- Shell命令是变量,可以通过请求参数传递给后端
漏洞利用
PHP
- 在PHP代码中如果出现了
eval()函数或system()函数时,可以尝试漏洞利用
eval()
1 | eval($_REQUEST['x']); |
1 | GET http://127.0.0.1:80/?x=system('whoami') |
system()
1 | system($_REQUEST['x']); |
1 | GET http://127.0.0.1:80/?x=whoami |
代码审计
- 排查是否出现了可以执行Shell命令的代码,且Shell命令可以通过请求参数传递