前言
我们先要明白什么是RCE,它是远程命令执行(remote command execute)或远程代码执行的缩写(remote code execute).顾名思义,就是调用可以执行系统命令的函数来侵入服务器,或者是可以将字符串作转成代码执行的函数来侵入服务器,如 PHP中的eval()函数.
正文
我们拿到题后,先来看看题目给出的信息.
首先,看到代码主体,它让我们知道我们要传入一个不带"flag"字样的文件;
接着往下看,它给我们提供了一个"shell.txt"文件,还有一个"shell"入口信息, 那我们就点开"shell"来看看里面写了什么?
点开了后发现是个一句话木马,各位看官是不是有想法了呢?
结合本题给出的 文件入口 / 文件 / shell入口 三个关键信息,我们就可以入侵服务器了.
接下来,我们通过get传参.在地址栏尾部输入:?file=shell.txt&ctfhub=system("ls");
通过执行文件远程连接服务器之后,我们找到2个文件,但没有flag字样的文件,那我们直接从服务器的根目录开始找.在地址栏尾部输入:?file=shell.txt&ctfhub=system("ls /");
O ? 找到了,我们打开这个文件看是否有惊喜 ?!!
在地址栏尾部输入:?file=shell.txt&ctfhub=system("cat /flag");
Oh ye 给自己鼓个掌.. 赶紧复制flag区领奖吧!!