BUUCTF Misc wp大合集(2)

前言

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

题解

第二页

[被劫持的神秘礼物]

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

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

BUUCTF Misc wp大合集(2)_第1张图片

[刷新过的图片]

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

在这里插入图片描述

解码之后得到

BUUCTF Misc wp大合集(2)_第2张图片

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

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

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

BUUCTF Misc wp大合集(2)_第3张图片

[BJDCTF2020 藏藏藏]

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

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

[被偷走的文件]

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

BUUCTF Misc wp大合集(2)_第4张图片

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

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

BUUCTF Misc wp大合集(2)_第5张图片

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

BUUCTF Misc wp大合集(2)_第6张图片

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

[GXYCTF2019 佛系青年]

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

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

BUUCTF Misc wp大合集(2)_第7张图片

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

BUUCTF Misc wp大合集(2)_第8张图片

[BJDCTF2020 你猜我是个啥]

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

BUUCTF Misc wp大合集(2)_第9张图片

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

BUUCTF Misc wp大合集(2)_第10张图片

在winhex最下面发现flag

在这里插入图片描述

[菜刀666]

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

追踪TCP流

TCP 流7如下

BUUCTF Misc wp大合集(2)_第11张图片

这里action解码过来如下

BUUCTF Misc wp大合集(2)_第12张图片

z1解码如下

在这里插入图片描述

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

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

TCP 流9如下

BUUCTF Misc wp大合集(2)_第13张图片

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

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

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

[秘密文件]

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

BUUCTF Misc wp大合集(2)_第14张图片

[BJDCTF2020 just_a_rar]

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

BUUCTF Misc wp大合集(2)_第15张图片

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

BUUCTF Misc wp大合集(2)_第16张图片

[BJDCTF2020 鸡你太美]

一ctf题树枝666

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

[梅花香之苦寒来]

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

BUUCTF Misc wp大合集(2)_第17张图片

复制下来并转换为明文

BUUCTF Misc wp大合集(2)_第18张图片

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

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

BUUCTF Misc wp大合集(2)_第19张图片

之后跑脚本就行

BUUCTF Misc wp大合集(2)_第20张图片

扫描二维码得到flag

[BJDCTF2020 一叶障目]

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

先把图片拖进winhex看看结构

BUUCTF Misc wp大合集(2)_第21张图片

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

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多重解码之后结果为

BUUCTF Misc wp大合集(2)_第22张图片

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

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

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

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

[BJDCTF2020 纳尼]

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

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

BUUCTF Misc wp大合集(2)_第23张图片

[穿越时空的思念]

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

[ACTF新生赛2020 outguess]

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

BUUCTF Misc wp大合集(2)_第24张图片

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

然后跑工具就行

BUUCTF Misc wp大合集(2)_第25张图片

flag.txt里头就是flag

[HBNIS2018 excel破解]

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

在这里插入图片描述

[谁赢了比赛?]

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

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

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

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

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

BUUCTF Misc wp大合集(2)_第26张图片

扫描二维码得flag

[SWPU2019 我有一只马里奥]

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

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

BUUCTF Misc wp大合集(2)_第27张图片

[HBNIS2018 来题中等的吧]

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

[GXYCTF2019 gakki]

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

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

BUUCTF Misc wp大合集(2)_第28张图片

打开压缩包之后发现是一大串无规律的字符,搜索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="")

BUUCTF Misc wp大合集(2)_第29张图片

[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,看到压缩包密码

BUUCTF Misc wp大合集(2)_第30张图片

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

对照着解密即可

[黑客帝国]

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

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

BUUCTF Misc wp大合集(2)_第31张图片

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

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

在这里插入图片描述

BUUCTF Misc wp大合集(2)_第32张图片

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

flag就在图片上

[MRCTF2020 ezmisc]

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

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

BUUCTF Misc wp大合集(2)_第33张图片

修改之后得到flag

[MRCTF2020 你能看懂音符吗]

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

BUUCTF Misc wp大合集(2)_第34张图片

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

BUUCTF Misc wp大合集(2)_第35张图片

得到一串音符

在这里插入图片描述

乐符密码解密得
BUUCTF Misc wp大合集(2)_第36张图片

[HBNIS2018 caesar]

凯撒密码,位移为1

[HBNIS2018 低个头]

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

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

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

修改之后得到flag

你可能感兴趣的:(BUUCTF,writeup,安全)