RCE
RCE英文全称:remote command/code execute(远程命令/代码执行漏洞)
分为远程命令执行ping和远程代码执行evel。
漏洞出现的原因:没有在输入口做输入处理
- 一般会给用户提供一个ping操作的web界面,用户从web界面输入目标IP
- 提交后,后台会对该IP地址进行一次ping测试,并返回测试结果
- 其实这就是一个接口,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统,这就是RCE漏洞
eval直接执行
题目没有任何过滤时,直接传参执行即可
查看根目录
/?code=system(“ls”);查看上级目录
/?code=system(“ls /”);查看文件
/?code=system(“cat FILENAME”);
文件包含
strpos()
作用:主要是用来查找字符在字符串中首次出现的位置。 int strpos(string $haystack , mixed $needle [, int $offset = 0 ])
php://input
php:// 访问输入/输出流
php://input 可以访问请求的原始数据的只读流
- 可以接收post请求作为输入流的输入,将请求作为PHP代码的输入传递给目标变量,以达到以post 的形式进行输入的目的。
CTFHUB
- 查看phpinfo,又以下字段,证明是可以使用php://input的。
GET传
/?file=php://input
POST传
<?php system(‘…’)?>