[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 :

相关推荐
黑客-秋凌16 分钟前
网络安全基础与应用习题 网络安全基础答案
网络·安全·web安全
dreadp1 小时前
使用 OpenSSL 和 Python 实现 AES-256-CBC 加密与解密(安全密钥管理)
python·安全·网络安全·密码学·openssl
william0820121 小时前
微信小程序使用的SSL证书在哪里申请?
服务器·网络安全·微信小程序·小程序·https·ssl
Albert XUU1 小时前
nettrace rtt分析器
linux·运维·网络·网络协议·网络安全·腾讯云·运维开发
xiyuping241 小时前
在VMware上创建虚拟机Ubuntu20.04(适合学习版,包含gparted vim git的下载)
git·学习·ubuntu·vim
故事与他6452 小时前
CTFHub-上传文件
android·ide·windows·web安全·网络安全·android studio·xss
小度爱学习2 小时前
BGP 规划问题、路由黑洞与环路
网络·网络协议·网络安全·智能路由器·bgp
Hacker_Oldv3 小时前
CTF网络安全题库 CTF网络安全大赛答案
安全·web安全
网络安全-老纪4 小时前
jumpserver 网络安全 网络安全 authenticity
安全·web安全
网络安全(king)4 小时前
基于java社交网络安全的知识图谱的构建与实现
开发语言·网络·深度学习·安全·web安全·php