BUUCTF Misc wp大合集(2)

作者分享了CTF杂项题的解题经验,总结了4月25号到五一假期刷的五页题考点。详细给出多道题的题解,如通过追踪TCP流、文件格式修改、隐写分析、密码爆破等方法获取flag,还提及用到的工具和脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

之前做杂项的题比较佛,主要是比赛里面考的大多是脑洞,弯路多,有时候没有hint挺难找到思路,做多了也没什么提升,还是喜欢实打实的脚本题和取证分析。4月25号到五一假期结束那段时间,一口气刷了五页题,实际上考点就那些。小学期搞完了之后,来总结一下知识体系,有些很简单的签到题就一语带过了,用到脚本的题,我会把代码贴上去

题解

第二页

[被劫持的神秘礼物]

追踪TCP流,可以看到这个地方是用POST方式进行登录的,用户名是admina,密码是adminb

拼接起来,再md5加密即得到flag

在这里插入图片描述

[刷新过的图片]

F5隐写,下载工具F5-steganography,跑出来之后得到out.txt

这个txt文档开头是zip文件的标志PK,另存为out.zip后打开得到flag

实际上这里应该是伪加密,只不过我用的52好压能直接打开hhhhhh

[BJDCTF2020 认真你就输了]

像docx,xls这种文件格式实质上是压缩包,可以把文件拖到winhex里,文件头是PK,即zip,那么我们可以将文件格式改为zip

这个题把文件格式改为zip,解压之后在xl/charts/路径下找到flag

[snake]

把图片拖入winhex,拖到最下面发现一串base64

在这里插入图片描述

解码之后得到

在这里插入图片描述

百度搜索一下,麻辣鸡这首歌的名字叫anaconda

另外,刚才在winhex里头看到最后是有PK的文件头,于是分离出来

得到cipher(密文)和key(密钥)文件,猜想这应该是某种加密

在这里插入图片描述

[BJDCTF2020 藏藏藏]

把文件拖入winhex中,拉到最下面看到有PK文件头标志,分离出来

压缩包里头有个word文档,扫描里头那个二维码得到flag

[被偷走的文件]

文件传输一般是用TCP协议或者FTP协议,我们先追踪TCP流,找到了用FTP协议传输的flag.rar的通信记录

在这里插入图片描述

下一个包内容就是压缩包的16进制内容

复制下来,在winhex里面新建一个文件命名为flag.rar

在这里插入图片描述

这个压缩包有密码,但是题目中没有任何提示,找遍了也没有hint,只能尝试爆破

在这里插入图片描述

输入密码之后解压(用winrar)就得到了flag,说实话这里的爆破挺牵强的

[GXYCTF2019 佛系青年]

拖到winhex里面分析一下,文本搜索PK,发现在源文件数据区的加密标志是09 00,而目录区是00 00,于是可判定为伪加密

修改之后解压打开,有一个txt文件

在这里插入图片描述

这种加密方式叫与佛论禅,找一个在线网站解密

在这里插入图片描述

[BJDCTF2020 你猜我是个啥]

下载下来是个zip,然而却并不能解压,于是放到winhex里面看

在这里插入图片描述

明显是个png文件,修改格式之后是个二维码,扫描之后提示是假的flag

在这里插入图片描述

在winhex最下面发现flag

在这里插入图片描述

[菜刀666]

追踪TCP流,分析一下可知这是一个通过传图片马上去,然后用菜刀连接的一个过程

追踪TCP流

TCP 流7如下

在这里插入图片描述

这里action解码过来如下

在这里插入图片描述

z1解码如下

在这里插入图片描述

z2的值开头是FF D8 FF E0,即jpg的文件头,复制下来保存为666.jpg

大致的过程是把图片的字节流保存到缓存buf中,然后再通过步长为2的循环写入服务器

TCP 流9如下

在这里插入图片描述

这里由解码之后的结果可知,通过木马上传了一个压缩包上去

将这个压缩包的字节流保存为flag.zip

它的密码就是刚刚那张图片上的字符串,输入之后即得flag

[秘密文件]

跟之前那个题很相似,首先找到通过FTP协议传输的rar格式压缩包的字节流,保存为flag.rar,爆破密码就可以打开得到flag

在这里插入图片描述

[BJDCTF2020 just_a_rar]

根据文件名提示爆破四位数密码

在这里插入图片描述

解压得到一个图片,将图片拖入winhex中,往下拉找到flag

在这里插入图片描述

[BJDCTF2020 鸡你太美]

一ctf题树枝666

下载得到的篮球副本那个文件没有GIF文件头,补充上去就能看到flag了

[梅花香之苦寒来]

把图片拖到winhex,往下拉看到一串16进制字符串

在这里插入图片描述

复制下来并转换为明文

在这里插入图片描述

转换之后发现是一些坐标值

这个时候需要用到画图软件gnuplot,首先需要将这些坐标值转换为它可识别的形式

在这里插入图片描述

之后跑脚本就行

在这里插入图片描述

扫描二维码得到flag

[BJDCTF2020 一叶障目]

这个题其他没有任何提示,我根据题目联想到的是图片的宽和高都被修改了

先把图片拖进winhex看看结构

在这里插入图片描述

根据图片现有宽高和校验码爆破原有宽高的脚本如下

import struct
import zlib

def hexStr2bytes(s):
    b = b""
    for i in range(0,len(s),2):
        temp = s[i:i+2]
        b +=struct.pack("B",int(temp,16))
    return b

str1="49484452"
str2="0806000000"
bytes1=hexStr2bytes(str1)
bytes2=hexStr2bytes(str2)
wid,hei = 321,332#0x0141,0x014C

crc32 = "0xC20F1FC6"

for w in range(wid,wid+2000):
    for h in range(hei,hei+2000):
        width = hex(w)[2:].rjust(8,'0')
        height = hex(h)[2:].rjust(8,'0')
        bytes_temp=hexStr2bytes(width+height)
        if eval(hex(zlib.crc32(bytes1+bytes_temp+bytes2))) == eval(crc32):
            print(hex(w),hex(h))

运行结果:宽为0x141,高为0x34C

修改宽高之后得到flag

[SWPU2019 神奇的二维码]

扫描二维码之后发现是假的flag,丢进winhex里头,在最下面看到一个good/good.mp3文件名,猜测是包含了其他文件

binwalk -e 分离一下,得到4个压缩包

word文档里头的base64多重解码之后结果为

在这里插入图片描述

encode.txt文件里的base64解码之后结果为asdfghjkl1234567890

前者可以打开那个带图片的压缩包,后者可以打开那个音频

把音频拖入Audacity分析,发现是摩斯电码,长的为-,短的为.,翻译过来是MORSEISVERYVERYEASY

图片经过多种分析后,我发现并没有什么用,把摩斯电码那个转成小写就是flag了

[BJDCTF2020 纳尼]

把gif文件拖入winhex,发现缺少GIF文件头,补充之后把每一帧保存为图片

每张图片上有base64字符串的一部分,连起来解码就行

在这里插入图片描述

[穿越时空的思念]

音频拖到Audacity里面去分析,是摩斯电码,翻译过来就行

[ACTF新生赛2020 outguess]

用到工具outguess,这里在图片的属性中有一段话

在这里插入图片描述

这个是社会主义核心价值观加密,找个解密网站解得 abc

然后跑工具就行

在这里插入图片描述

flag.txt里头就是flag

[HBNIS2018 excel破解]

拖入winhex,字符串搜索flag即得

在这里插入图片描述

[谁赢了比赛?]

将图片拖入winhex,搜索Rar有结果,说明图片包含了一个二维码,于是用foremost分离出来

得到一个压缩包,爆破密码之后可以打开

里头有一个gif文件,保存所有帧

第310帧是空白的,右下角有一串文字,把这张图单独提出来

拖入winhex里头没什么发现,用stegsolve打开,换通道

在这里插入图片描述

扫描二维码得flag

[SWPU2019 我有一只马里奥]

NTFS流隐写——NTFS交换数据流是NTFS磁盘格式的一个特性,在NTFS文件系统下,每个文件都可以存在多个数据流,就是说除了主文件流之外还可以有许多非主文件流寄宿在主文件流中,它使用资源派生来维持与文件相关的信息

使用工具NtfsStreamsEditor可以读取到NTFS流的flag.txt,好像foremost也可以分离出来

在这里插入图片描述

[HBNIS2018 来题中等的吧]

摩斯电码,转换之后就是flag

[GXYCTF2019 gakki]

foremost分离得到一个带密码的rar压缩包

其他没有线索了,于是考虑爆破密码

在这里插入图片描述

打开压缩包之后发现是一大串无规律的字符,搜索flag也没有结果,考虑字频统计

贴一下末初师傅的脚本

# -*- coding:utf-8 -*-
#Author: mochu7
alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()_+- =\\{\\}[]"
strings = open('./flag.txt').read()

result = {}
for i in alphabet:
	counts = strings.count(i)
	i = '{0}'.format(i)
	result[i] = counts

res = sorted(result.items(),key=lambda item:item[1],reverse=True)
for data in res:
	print(data)

for i in res:
	flag = str(i[0])
	print(flag[0],end="")

在这里插入图片描述

[WUSTCTF2020 find_me]

在图片备注里发现盲文

翻译得到

在这里插入图片描述

[ACTF新生赛2020 base64隐写]

base64隐写的原理如下

  1. 依次读取每行,从中提取出隐写位:
    如果最后没有‘=’,说明没有隐写位,跳过;
    如果最后是一个‘=’,说明有两位隐写位,将倒数第二个字符转化为对应的二进制索引,然后取后两位;
    如果最后是两个‘=’,说明有四位隐写位,将倒数第三个字符转化为对应的二进制索引,然后取后四位
  2. 将每行提取出的隐写位依次连接起来,每8位为一组转换为ASCII字符,最后不足8位的丢弃

解题的脚本如下

import base64

def int2Bin(digit):
	return bin(digit)[2:]	#将索引转成二进制,去掉'0b';


def binAsc(string):		#二进制转成ASCII码
	temp = ''
	for i in range(int(len(string) / 8)):
		temp += chr(int(string[i * 8 : i* 8 + 8] , 2))
	return temp

def readBase64FromFile(filename):
	Base64Char = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"     #Base64字符集 已按照规范排列
	result = ''
	with open(filename ,'r') as f:
		for data in f.readlines():
			if data.find('==') > 0:
				result += int2Bin(Base64Char.index(data[-4]))[-4:]		#根据隐写原理,‘==’情况取等号前最后一个字符转换后取后4位
			elif data.find('=') > 0:
				result += int2Bin(Base64Char.index(data[-3]))[-2:]		#根据隐写原理,‘=’情况取等号前最后一个字符转换后取后2位
	print(binAsc(result))

readBase64FromFile('flag.txt')

[GUET-CTF2019 KO]

Ook!编码,解码即可

[SWPU2019 伟大的侦探]

用010 Editor打开文档,编码换成EBCDIC,看到压缩包密码

在这里插入图片描述

打开压缩包,里头是福尔摩斯跳舞小人密码

对照着解密即可

[黑客帝国]

下载下来的文档里头全是十六进制字符串,复制到winhex之后发现是rar格式的压缩文件,保存

文件属性里头没有密码的提示,考虑爆破密码

在这里插入图片描述

打开之后是一个损坏的png文件,拖入winhex查看

文件头同时有jpg和png的,而文件尾是jpg格式的

在这里插入图片描述

在这里插入图片描述

于是修改文件头,保存为jpg格式

flag就在图片上

[MRCTF2020 ezmisc]

CRC32校验错误(可以复制到kali里面,如果提示打不开就基本上可以确定是)

用之前那个爆破脚本爆破原有宽和高

在这里插入图片描述

修改之后得到flag

[MRCTF2020 你能看懂音符吗]

解压失败,拖入winhex分析,看到文件头是错误了,改过来之后解压

在这里插入图片描述

打开得到一个word文档,这个意思应该是把文字隐藏了,全选之后取消隐藏文字

在这里插入图片描述

得到一串音符

在这里插入图片描述

乐符密码解密得
在这里插入图片描述

[HBNIS2018 caesar]

凯撒密码,位移为1

[HBNIS2018 低个头]

打不开就基本上可以确定是)

用之前那个爆破脚本爆破原有宽和高

[外链图片转存中…(img-YpHzsA4v-1657101580182)]

修改之后得到flag

### BUUCTF Miscellaneous Challenge Flag Solution For solving a BUUCTF miscellaneous challenge and finding the associated flag, one must approach such challenges methodically by understanding the provided materials or context within which the challenge operates. Since specific details about this particular BUUCTF misc challenge are not directly given here, general strategies can be outlined based on common practices in CTF (Capture The Flag) competitions. In many cases, flags for miscellaneous challenges follow certain patterns like `flag{...}` where ellipsis represents some text that needs to be discovered through problem-solving techniques relevant to the task at hand[^1]. Participants often need to apply skills ranging from steganography, cryptography, reverse engineering, to web exploitation depending upon what type of puzzle has been set up by organizers. To solve a miscellaneous challenge effectively: - Carefully read all information provided alongside the question. - Look out for any hidden messages embedded within images, audio files, or documents shared as part of the clue. - Experiment with different tools designed specifically for uncovering concealed data. - Consider how elements might relate back to known algorithms or protocols mentioned either explicitly or implicitly during the description. A concrete example cannot be demonstrated without knowing specifics about the current BUUCTF misc challenge being referred to because each scenario varies greatly in terms of required knowledge areas and methodologies employed. --related problems-- 1. What types of puzzles commonly appear under the category of miscellaneous in CTF events? 2. How does one prepare generally for tackling diverse kinds of challenges found in Capture The Flag contests? 3. Can you provide an overview of popular resources used when attempting to decode obscured communications encountered in CTF games? Note: Direct solutions including actual flags should typically come from participating officially in respective CTF activities rather than external sources so as not to compromise fairness among competitors.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值