BUUCTF MISC刷题笔记(二)

BUUOJ

  • Misc
    • [WUSTCTF2020]spaceclub
    • 派大星的烦恼
    • [SCTF2019]电单车
    • hashcat
    • [UTCTF2020]zero
    • [*CTF2019]otaku
    • [湖南省赛2019]Findme
      • 1.png
      • 2.png
      • 3.png
      • 4.png
      • 5.png
    • 真的很杂
    • [QCTF2018]X-man-A face
    • voip

Misc

[WUSTCTF2020]spaceclub

直接用记事本打开txt文件看不到内容,所以用notepad打开

发现有几百行空格,有长有短
BUUCTF MISC刷题笔记(二)_第1张图片
把长的换成1,短的换成0,每8位转字符,得到flag

f = open("1.txt","r")
flag = ""
for line in f.readlines():
    if len(line) == 13:
        flag += "1"
    else:
        flag += "0"
f.close()
for i in range(len(flag)//8):
    print(chr(int(flag[8*i:(i+1)*8],2)),end="")

派大星的烦恼

派大星最近很苦恼,因为它的屁股上出现了一道疤痕!我们拍下了它屁股一张16位位图,0x22,0x44代表伤疤两种细胞,0xf0则是派大星的赘肉。还原伤疤,知道是谁打的派大星!(答案为32位的一串字符串) 注意:得到的 flag 请包上 flag{} 提交

给了一个bmp图片,提示中提到了0x220x44,010打开图片,搜索一下发现
BUUCTF MISC刷题笔记(二)_第2张图片
这里有:

"DD"DD""""D"DD""""""DD"""DD"DD""D""DDD""D"D"DD""""""DD""D""""DD"D"D"DD""""D"DD""D"""DD"""""DDD""""D"DD"""D"""DD"""D""DD"D"D"DD"""DD""DD"D"D""DD""DD"DD"""D"""DD""DD"DD""D"D""DD"D"D"DD"""D"""DD"""D"DD""DD"""DD"D"D""DD"""D"DD""DD""DD"""""DDD""DD""DD"""D""DD""

"换成0D换成1,得到一串长度为256的二进制,因为256/8=32,而最后的flag长度正好是32

0110110000101100000011000110110010011100101011000000110010000110101011000010110010001100000111000010110001000110001001101010110001100110101001100110110001000110011011001010011010101100010001100010110011000110101001100010110011001100000111001100110001001100

尝试直接每8位转字符串,发现乱码了…

一番尝试后,发现需要整体倒过来,再转字符,得到一串正常的字符串,但是提交失败…

最后发现得到的结果还要再次逆序…

flag="0110110000101100000011000110110010011100101011000000110010000110101011000010110010001100000111000010110001000110001001101010110001100110101001100110110001000110011011001010011010101100010001100010110011000110101001100010110011001100000111001100110001001100"
flag=flag[::-1]
x=""
for i in range(len(flag)//8):
    x += chr(int(flag[8*i:(i+1)*8],2))
print(x[::-1])

[SCTF2019]电单车

拿到一个wav文件,用Audacity打开,观察波形
BUUCTF MISC刷题笔记(二)_第3张图片

这里的知识点BUUCTF MISC刷题笔记(二)_第4张图片
对照一下,转换成

0 0111010010101010 0 110 0010 0 011101001010101001100010

空格去掉,套上flag{}即可

hashcat

下载得到一个无后缀文件,用winhex打开发现文件头是D0CF11E0,可能是docxlsppt

改后缀为doc,打开时发现需要密码
BUUCTF MISC刷题笔记(二)_第5张图片
根据题目名提示,可以用hashcat爆破密码

不过我有其他工具,用起来会更方便

拿到密码
BUUCTF MISC刷题笔记(二)_第6张图片
不过打开后报错,尝试改后缀为ppt,成功打开

发现第七页好像有字
BUUCTF MISC刷题笔记(二)_第7张图片
修改颜色拿到flag
BUUCTF MISC刷题笔记(二)_第8张图片

[UTCTF2020]zero

打开txt,内容如下

​​​​​​​​Lorem ipsum​​​​​​​ dolor ‌‌‌‌‍‍‍sit​​​​​​​​ amet​​​​​​​​​‌‌‌‌‍‍‌, consectetur ​​​​​​​adipiscing​​​​​​​‌‌‌‌‍‬‍‬ elit​​​​​​​.‌‌‌‌‍‬‌​​​​​​​‌‌‌‌‍‬‌‍ Phasellus quis​​​​​​​ tempus​​​​​​ ante, ​​​​​​​​nec vehicula​​​​​​​​​​​​​​​​ mi​​​​​​​​. ​​​​​​​‌‌‌‌‍‬‍Aliquam nec​​​​​​​​​‌‌‌‌‍‬ nisi ut neque​​​​​​​ interdum auctor​​​​​​​.‌‌‌‌‍‍ Aliquam felis ‌‌‌‌‍‬‬‌orci​​​​​​​, vestibulum ‌‌‌‌‍‬‍sit ​​​​​​​amet​​​​​​​​​ ante‌‌‌‌‍‌‬ at​​​​​​​, consectetur‌‌‌‌‍‌ lobortis eros​​​​​​​​​.‌‌‌‌‍‍‍‌ ‌‌‌‌‍‌‌‌​​​​​​​Orci varius​​​​​​​ ​​​​​​​natoque ‌‌‌‌‍‌penatibus et ‌‌‌‌‍‬‌​​​​​​​magnis‌‌‌‌‌‌‍‌‌‌‌‌‌‍ dis ​​​​​​​‌‌‌‌‍‍parturient montes, ​​​​​​​nascetur ridiculus ‌‌‌‌‌‍‌​​​​​​​​​​​​​​‌‌‌‌‌‬‍mus. In finibus‌‌‌‌‌‌‬ magna​​​​​​‌‌‌‌‌‍ mauris, quis‌‌‌‌‍‬‌‍ auctor ‌‌‌‌‍‬‌‍libero congue quis. ‌‌‌‌‍‬‬‬Duis‌‌‌‌‍‬‌‬ sagittis consequat urna non tristique. Pellentesque eu lorem ‌‌‌‌‍‌‍id‌‌‌‌‍‬‬ quam vestibulum ultricies vel ac purus‌‌‌‌‌‌‍.‌‌‌‌‌‍‌‌‌‌‌‍‍

其实看到这个题目名就知道考察的是零宽字符隐写

winhex打开可以看到很多零宽度字符,或者直接在linux系统下打开,看的更明显
BUUCTF MISC刷题笔记(二)_第9张图片
到在线网站解密,拿到flag
BUUCTF MISC刷题笔记(二)_第10张图片

[*CTF2019]otaku

在这里插入图片描述
先看这个doc,因为我默认是显示隐藏文字的
BUUCTF MISC刷题笔记(二)_第11张图片
很有可能有些文字是隐藏的,所以再把隐藏文字开启,对比一下

发现被隐藏的文字是:

Hello everyone, I am Gilbert. Everyone thought that I was killed, but actually I survived. Now that I have no cash with me and I’m trapped in another country. I can’t contact Violet now. She must be desperate to see me and I don’t want her to cry for me. I need to pay 300 for the train, and 88 for the meal. Cash or battlenet point are both accepted. I don’t play the Hearthstone, and I don’t even know what is Rastakhan’s Rumble.

flag.zip是伪加密,可以使用工具解决或者使用360压缩提取(无视伪加密)

给了这些提示,应该是明文攻击,新建一个txt文档,把上面得到的文字放进去,按照给出的压缩方式压缩
在这里插入图片描述
不过试了几次,得到的crc值都和last word.txt的不一致
BUUCTF MISC刷题笔记(二)_第12张图片
参考师傅们的wp发现,是编码的问题,我这里默认是UTF-8,需要换成GBK

#encoding=GBK
f = open("test.txt", "w")
s="Hello everyone, I am Gilbert. Everyone thought that I was killed, but actually I survived. Now that I have no cash with me and I’m trapped in another country. I can't contact Violet now. She must be desperate to see me and I don't want her to cry for me. I need to pay 300 for the train, and 88 for the meal. Cash or battlenet point are both accepted. I don't play the Hearthstone, and I don't even know what is Rastakhan's Rumble."
f.write(s)
f.close()

然后再按照相同方式压缩即可开始明文攻击
BUUCTF MISC刷题笔记(二)_第13张图片
稍微跑一会就可以得到密码 My_waifu,解压得到flag.png

发现lsb隐写痕迹,然后拿到flag
BUUCTF MISC刷题笔记(二)_第14张图片

[湖南省赛2019]Findme

给了五个图
BUUCTF MISC刷题笔记(二)_第15张图片

1.png

第一个图怪怪的,宽高应该是被修改了,先跑脚本爆破宽高,发现是227*453,改完得到BUUCTF MISC刷题笔记(二)_第16张图片
继续用010分析,发现chunk[2]chunk[3]缺少IDAT标识
BUUCTF MISC刷题笔记(二)_第17张图片
在对应位置补上标识
BUUCTF MISC刷题笔记(二)_第18张图片
修改保存之后,用Stegsolve打开图片,发现二维码
BUUCTF MISC刷题笔记(二)_第19张图片
扫码得到ZmxhZ3s0X3
BUUCTF MISC刷题笔记(二)_第20张图片

2.png

发现2.png结尾有额外数据
BUUCTF MISC刷题笔记(二)_第21张图片
把这块数据提取出来,保存为7z文件,发现打不开,于是把所有的7z换成PK,保存为zip文件,如果打开时还报错就修复一下
BUUCTF MISC刷题笔记(二)_第22张图片
解压发现有很多txt文件,其中618.txt是特殊的,查看它得到1RVcmVfc在这里插入图片描述

3.png

注意到这些块的crc32校验值都比较小
BUUCTF MISC刷题笔记(二)_第23张图片
把它们提取出来,转为十进制后再转字符,得到3RlZ30=

4.png

直接给出来了:cExlX1BsY
BUUCTF MISC刷题笔记(二)_第24张图片

5.png

也是直接给:Yzcllfc0lN
BUUCTF MISC刷题笔记(二)_第25张图片

接下来就是整合了,注意到3.png给的base64编码是以=结尾的,那么它对应的应该是放在最后,1.png应该是放在第一位

最后按照1 5 4 2 3的顺序得到,base64解码得到flag

ZmxhZ3s0X3Yzcllfc0lNcExlX1BsY1RVcmVfc3RlZ30=

真的很杂

杂项题目经常混杂着奇奇怪怪的东西。。。不要想歪了!专心做题= =!最后获得的东西需要暴力得到哦(提示:前一个字母,后一个数字) 注意:得到的 flag 请包上 flag{} 提交

上来就被出题人调戏
BUUCTF MISC刷题笔记(二)_第26张图片
尾部有额外数据,binwalk提取,东西真多啊…
BUUCTF MISC刷题笔记(二)_第27张图片

注意到有一个dex文件,使用dex2jar反编译
在这里插入图片描述
在这里插入图片描述
再用jd-gui打开得到的classes-dex2jar.jar,翻一下就能看到flag
BUUCTF MISC刷题笔记(二)_第28张图片
这里有两个位置需要爆破的,最后得到flag{25f991b27fcdc2f7a82a2b34386e81c4}

[QCTF2018]X-man-A face

有个二维码,缺两个定位点,用QR扫不出来
BUUCTF MISC刷题笔记(二)_第29张图片
两个思路,一个是p图,补全定位点,也可以到在线网站手动补

没啥技术含量,扫码得到KFBVIRT3KBZGK5DUPFPVG2LTORSXEX2XNBXV6QTVPFZV6TLFL5GG6YTTORSXE7I=

base32解码得到flag

voip

一个流量包,用wireshark打开,简单分析无果

百度一下看看voip是啥东西
BUUCTF MISC刷题笔记(二)_第30张图片
然后点这个选项
BUUCTF MISC刷题笔记(二)_第31张图片
BUUCTF MISC刷题笔记(二)_第32张图片
听声音,它会读flag

得到flag{9001IVR}
u1s1,听起来挺费劲的

你可能感兴趣的:(misc,#,buuoj)