【笔记】RCE远程代码执行漏洞

前言

远程代码执行(Remote Code Execution)漏洞
也被称为远程命令执行(Remote Command Execution)漏洞

漏洞原理

  • 后端代码中出现了可以执行Shell命令的代码

利用前提

  • Shell命令是变量,可以通过请求参数传递给后端

漏洞利用

PHP

  • 在PHP代码中如果出现了eval()函数或system()函数时,可以尝试漏洞利用

eval()

1
eval($_REQUEST['x']);
request
1
GET http://127.0.0.1:80/?x=system('whoami')

system()

1
system($_REQUEST['x']);
request
1
GET http://127.0.0.1:80/?x=whoami

代码审计

  • 排查是否出现了可以执行Shell命令的代码,且Shell命令可以通过请求参数传递

完成

参考文献

哔哩哔哩——xiaodisec