【刷题日记】青少年CTF-Misc(三)A1-Misc部分完结!撒花!

2024-01-09 18:12

本文主要是介绍【刷题日记】青少年CTF-Misc(三)A1-Misc部分完结!撒花!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

StegoTXT

题目难度:★
题目编号:QSNCTF-2023-T-MISC-20230228003

题目描述:今天维护网站的时候出了一道这样的题目,上传上来看看大家怎么解,flag格式为:qsnctf{xxx}。

下载解压文件,得到一个txt文本。

打开查看内容,除了几段文字,并没有什么其他有价值的信息。

联系题目,想到是隐写。将文件拖进kali中,使用vim查看,有很多奇怪的字符。上网查询。知道了是 0宽度字符隐写。

这里再提供一个文章供大家参考:零宽度字符隐写 | Lazzaro (lazzzaro.github.io)

使用在线工具解题:0宽隐写在线解密

在这里插入图片描述

flag

qsnctf{n1ha0,th1s is zerowidth}

未知的加密

题目难度:★★★
题目描述:这是一个未知的文件加密,请你获得FLAG吧!flag格式为:flag{xxx}。

下载解压文件,发现需要密码。使用010打开压缩包,再最后面发现提示。

在这里插入图片描述

这里告诉我们密码是 SiertingXXXX这个形式的,而XXXX代表的是数字。知道了这些,我们使用爆破工具对压缩包进行爆破。

这里我们打开工具ARCHPR,够选 所有数字一栏,因为我们已经知道一部分提示,只有后面数字不知道,所以我们在掩码一栏中输入Sierting????。其中 ? 代表着是需要爆破的

压缩包密码

Sierting2023

在这里插入图片描述

解压文件后,我们得到一个Virtual的文件。没有后缀,不知道这是什么文件。

没关系,我们拖到kali中,使用 file命令对文件进行查看,得到Virtual: VMware4 disk image这段提示,根据机器翻译,得到 虚拟:VMware4磁盘映像。 这应该是一个 虚拟硬盘文件。

我们使用DiskGenius工具打开该文件。

左上角点击 磁盘->打开虚拟磁盘文件,将刚刚的文件导入进去,然后下载该文件。

在这里插入图片描述

得到enc文件,使用010查看,没有有用信息,根据题意,这个文件应该是被加密过。

这里放一篇文章供大家了解一下:个人磁盘加密软件,使用VeraCrypt进行整盘加密介绍 - 知乎 (zhihu.com)

我们使用工具VeraCrypt工具对此进行解密

第一步,我们选择enc文件,点击左下角加载文件,这里要输入密码,我们这题从头到尾就只有一个密码Sierting2023,得到文件,在该目录下看到两个文件,使用记事本打开就能看到flag

在这里插入图片描述

在这里插入图片描述

flag

flag{d89421ac9cf847b0173ee08a7flag{d89421ac9cf847b0173ee08a74cfd48b}

MC大挑战01

MC,我的世界,这题大家自己去做做,看了下网上好像也有wp。

欢迎来到商丘师范学院

题目难度:★★
题目描述:题目来源于2023商丘师范学院第三届网络安全及信息对抗大赛线下赛,flag格式为:SQNU{xxx}。

下载解压文件,得到一张图片,拖到kali中分析一下,发现无法显示。

这里长款有问题的图片是无法再kali中显示的,md中也是一样。算是一个小细节,大家可以注意下。

那倒这里,我们需要进行长宽爆破。

import binascii
import structcrcbp = open("sq.png","rb").read()
for i in range(2000):for j in range(2000):data = crcbp[12:16] + \struct.pack('>i',i)+struct.pack('>i',j)+crcbp[24:29]crc32 = binascii.crc32(data) & 0xffffffffif(crc32 == 0x60838BCD ):print(i,j)print('hex:',hex(i),hex(j))

这里我们需要了解png的头文件等信息:CRC爆破png图片宽度和高度原理以及python代码_根据crc得出正确高度-CSDN博客。

这里大家还是有必要去了解一下,下一题也会用到。
在这里插入图片描述

爆破得到原本的长宽,使用010对图片进行编辑。得到二维码。

在这里插入图片描述

使用工具QR Research扫描二维码,得到一串base64

U1FOVXtXZWxjb21lX3RvX1NRTlUhfQ==

在这里插入图片描述

import base64
s = 'U1FOVXtXZWxjb21lX3RvX1NRTlUhfQ=='
sw = bytes(s,'utf-8')
st = base64.b64decode(sw)
print(st)

flag

SQNU{Welcome_to_SQNU!}

应急食品

题目难度:★
题目描述:这是什么,好吃吗?flag格式为:flag{xxx}。

下载解压文件,根据题意,题意?应急食品?我超 ○!

下载解压文件,我们得到一个txt文件,打开文件查看,base64编码。拖到kali中进行解码。

 base64 -d food.txt > ouput

使用010打开查看文件,发现在最后有 hint 提示 :GNP 反过来是PNG形式。我们返回查看文件头,其实就是奇偶位互换。这里我们有两个解法

一、

我们将’food.txt’的文件进行Base64解码,然后将解码后的数据重新编码为PNG格式并保存为’ys_food.png’。

二、

我们把十六进制值复制下来写一个脚本对奇偶位进行互换,然后修改一下文件后缀就可以得到

这里我们用第一个方法解决。

import base64file = open('food.txt','rb').read()
data = base64.b64decode(file)
file1 = open('ys_food.png','ab')
for i in range(len(data)):l = data[i] <<4 & 255h = data[i] >> 4data1 = (l + h).to_bytes(1,'little')file1.write(data1)
file1.close()

得到一张派蒙的图片,我们使用Stegosolve工具对文件进行分析,得到flag

也可以使用kali中的zsteg直接分析文件,就可以看到flag。

在这里插入图片描述

flag

flag{3m3rg3nc9_F00d}

🆗的啊,到这里,我们除了第一排的问卷调查反馈签到再签到一次以及MC大挑战没有wp之外
A1-Misc部分已经全部被我们解决啦!

呜呼呼!给自己👍一下!

在这里插入图片描述
作为CTF的新手,我非常渴望在这里向各位师傅请教,并期待得到您的宝贵指导。如果我有任何错误或需要改进的地方,请不吝赐教,我会虚心接受并努力改正。

这篇关于【刷题日记】青少年CTF-Misc(三)A1-Misc部分完结!撒花!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/587998

相关文章

poj 2976 分数规划二分贪心(部分对总体的贡献度) poj 3111

poj 2976: 题意: 在n场考试中,每场考试共有b题,答对的题目有a题。 允许去掉k场考试,求能达到的最高正确率是多少。 解析: 假设已知准确率为x,则每场考试对于准确率的贡献值为: a - b * x,将贡献值大的排序排在前面舍弃掉后k个。 然后二分x就行了。 代码: #include <iostream>#include <cstdio>#incl

笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel

kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head .text的段。         内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kern

【每日刷题】Day113

【每日刷题】Day113 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 91. 解码方法 - 力扣(LeetCode) 2. LCR 098. 不同路径 - 力扣(LeetCode) 3. 63. 不同路径 II - 力扣(LeetCode) 1. 91. 解码方法 - 力扣(LeetCode) //思路:动态规划。 cl

项目实战系列三: 家居购项目 第四部分

购物车 🌳购物车🍆显示购物车🍆更改商品数量🍆清空购物车&&删除商品 🌳生成订单 🌳购物车 需求分析 1.会员登陆后, 可以添加家居到购物车 2.完成购物车的设计和实现 3.每添加一个家居,购物车的数量+1, 并显示 程序框架图 1.新建src/com/zzw/furns/entity/CartItem.java, CartItem-家居项模型 /***

码蹄集部分题目(2024OJ赛9.4-9.8;线段树+树状数组)

1🐋🐋配对最小值(王者;树状数组) 时间限制:1秒 占用内存:64M 🐟题目思路 MT3065 配对最小值_哔哩哔哩_bilibili 🐟代码 #include<bits/stdc++.h> using namespace std;const int N=1e5+7;int a[N],b[N],c[N],n,q;struct QUERY{int l,r,id;}que

如何导入sun.misc.BASE64Encoder和sum.misc.BASE64Decoder

右击项目名--->Build Path--->Configure Build Path...--->java Build Path--->Access rules:1 rule defined,added to all librar...   --->Edit --->Add...

【CTF Web】BUUCTF Upload-Labs-Linux Pass-13 Writeup(文件上传+PHP+文件包含漏洞+PNG图片马)

Upload-Labs-Linux 1 点击部署靶机。 简介 upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。 注意 1.每一关没有固定的通关方法,大家不要自限思维! 2.本项目提供的writeup只是起一个参考作用,希望大家可以分享出自己的通关思路

关于断言的部分用法

1、带变量的断言  systemVerilog assertion 中variable delay的使用,##[variable],带变量的延时(可变延时)_assertion中的延时-CSDN博客 2、until 的使用 systemVerilog assertion 中until的使用_verilog until-CSDN博客 3、throughout的使用   常用于断言和假设中的

hot100刷题第1-9题,三个专题哈希,双指针,滑动窗口

求满足条件的子数组,一般是前缀和、滑动窗口,经常结合哈希表; 区间操作元素,一般是前缀和、差分数组 数组有序,更大概率会用到二分搜索 目前已经掌握一些基本套路,重零刷起leetcode hot 100, 套路题按套路来,非套路题适当参考gpt解法。 一、梦开始的地方, 两数之和 class Solution:#注意要返回的是数组下标def twoSum(self, nums: Lis

牛客小白月赛100部分题解

比赛地址:牛客小白月赛100_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A.ACM中的A题 #include<bits/stdc++.h>using namespace std;#define ll long long#define ull = unsigned long longvoid solve() {ll a,b,c;cin>>a>>b>