BUUCTF-Misc刷题记录

0x01 金三胖

题目: 文件链接

做法:

打开GIF发现有不一样的帧,判断是插入帧了,用

ffmpeg -i aaa.gif %d.jpg

把GIF分离成JPG文件,把红色帧的内容拼起来,得到flag

flag{he11ohongke}

0x02 二维码

题目: 文件链接

做法:

扫码提示文字secret is here,凭经验是图片隐写,用命令

foremost -T 'QR_code.png'

进行分离,得到一个zip压缩包,打开发现加密,压缩包内文件名字为4number.txt, 用ARCHPR进行暴力破解得到密码为7639,打开文件得到

CTF{vjpw_wnoei}

flag{vjpw_wnoei}

0x03 N种方法解决

题目: 文件链接

做法:

直接点开发现不行,用Winhex打开后看到data:image/jpg;xxx,是图片转base64,直接添加<img src="data:image/jpg;xxx">,然后后修改exe后缀为html, 打开网页后得到二维码,解码得到

KEY{dca57f966e4e4e31fd5b15417da63269}

flag{dca57f966e4e4e31fd5b15417da63269}

0x04 大白

题目: 文件链接

做法:

直接打开,只有头部,下半部分没有,怀疑是图片的尺寸被修改了,用Winhex修改

(固定)八个字节89 50 4E 47 0D 0A 1A 0A为png的文件头
(固定)四个字节00 00 00 0D(即为十进制的13)代表数据块的长度为13
(固定)四个字节49 48 44 52(即为ASCII码的IHDR)是文件头数据块的标示(IDCH)
(可变)13位数据块(IHDR)
    - 前四个字节代表该图片的宽
    - 后四个字节代表该图片的高
    - 后五个字节依次为:
    Bit depth、ColorType、Compression method、Filter method、Interlace method
(可变)剩余四字节为该png的CRC检验码,由从IDCH到IHDR的十七位字节进行crc计算得到

无脑的做法就是,把高度修改为00 00 02 A7,和宽度相同,然后直接看到flag{He1l0_d4_ba1} 烧脑一点的就是拿CRC检验码来算出宽度和高度,还原图片尺寸,得到

00 00 02 A7 00 00 01 DF

修改后直接打开看到flag

flag{He1l0_d4_ba1}

import zlib
import struct
import re
crc32key = 0x6D7C7135
data = bytearray(b'\x49\x48\x44\x52\x00\x00\x02\xA7\x00\x00\x01\x00\x08\x06\x00\x00\x00')
#理论上0xffffffff,但考虑到屏幕实际/cpu,0x0fff就差不多了
n = 4095 
#高和宽一起爆破
reg_int = re.compile(r'(\d+)')
#提取尺寸数据
for w in range(n):
    width = bytearray(struct.pack('>i', w))#q为8字节,i为4字节,h为2字节
    for h in range(n):
        height = bytearray(struct.pack('>i', h))
        for x in range(4):
            data[x+4] = width[x]
            data[x+8] = height[x]
        crc32result = zlib.crc32(data)
        if crc32result == crc32key:
            w = int(reg_int.findall(str(struct.unpack(">i",width)))[0])
            h = int(reg_int.findall(str(struct.unpack(">i",height)))[0])
            print("0x%08X" % w,"0x%08X" % h)

0x05 基础破解

题目: 文件链接

做法:

根据题目提示,4位数字加密,用ARCHPR进行暴力破解得到密码为2563,打开文件得到

ZmxhZ3s3MDM1NDMwMGE1MTAwYmE3ODA2ODgwNTY2MWI5M2E1Y30=

base64解码得到flag

flag{70354300a5100ba78068805661b93a5c}

0x06 你竟然赶我走

题目: 文件链接

做法:

打开图片发觉正常,用文本编辑器打开,搜索flag,找到flag

flag{stego_is_s0_bor1ing}

0x07 乌镇峰会种图

题目: 文件链接

做法:

用文本编辑器打开,搜索flag,找到flag

flag{97314e7864a8f62627b26f3f998c37f1}

0x08 LSB

题目: 文件链接

做法:

按照题目提示,用Stegsolve打开该图片,看每个图层的差别,发现在Red/Green/Blue 0均出现了一点差异,

于是使用软件的Data Extract功能,选区Red/Green/Blue 0,然后发现了PNG头部,导出二进制文件得到一张二维码,扫码识别得到

cumtctf{1sb_i4_s0_Ea4y}

flag{1sb_i4_s0_Ea4y}

0x09 rar

题目:

这个是一个rar文件,里面好像隐藏着什么秘密,但是压缩包被加密了,毫无保留的告诉你,rar的密码是4位纯数字。

文件链接

做法:

直接ARCHPR暴力解密得到压缩包密码8795,解压后打开文本得到flag

flag{1773c5da790bd3caff38e3decd180eb7}

0x0A qr

题目: 文件链接

做法:

扫码得到

Flag{878865ce73370a4ce607d21ca01b5e59}

flag{878865ce73370a4ce607d21ca01b5e59}

0x0B zip伪加密

题目: 文件链接

做法:

了解zip文件的组成,有3个部分,分别是压缩源文件数据区、压缩源文件目录区和压缩源文件目录结束标志,具体看CSDN。 压缩源文件数据区:50 4B 03 04是头文件标记;压缩源文件目录区:50 4B 01 02是目录中文件文件头标记,3F 00是压缩使用的pkware版本,14 00是解压文件所需pkware版本,00 09是全局方式位标记,这个是伪加密的关键,00 09标志为加密,修改为00 00即可去掉加密提示框。 首先用WinHex打开文件,得到16进制编码,进行相关修改即可解密得到flag flag{Adm1N-B2G-kU-SZIP}

0x0C 文件中的秘密

题目: 文件链接

做法:

查看文件的详细信息,在备注那里看到flag

flag{870c5a72806115cb5439345d8b014396}

0x0D ningen

题目:

小明通过社工,知道了秋明特别讨厌中国的六位银行密码,喜欢四位数

文件链接

做法:

判断是压缩包解密,改文件后缀为zip,用ARCHPR暴力解密得到压缩包密码8368,解压后打开文本得到flag

flag{b025fc9ca797a67d2103bfbc407a6d5f}

0x0E wireshark

题目:

黑客通过*Wireshark*抓到管理员登陆网站的一段流量包(管理员的密码即是答案)。

文件链接

做法:

Wireshark打开文件,从登录判断,密码应该在post请求里面,是明文,看到

Form item: "password" = "ffb7567a1d4f4abdffdb54e022f8facd"

flag{ffb7567a1d4f4abdffdb54e022f8facd}

0x0F 镜子里面的世界

题目: 文件链接

做法:

按照文件名的名字,用Stegsolve打开文件,翻遍图层都没发现奇怪的东西,然后点Data Extract看看文件二进制,惯例选区Red/Green/Blue 0,得到一串字符

the secre t key is: st3g0_ saurus_wr3cks

flag{st3g0_saurus_wr3cks}

0x10 小明的保险箱

题目:

小明有一个保险箱,里面珍藏了小明的日记本,他记录了什么秘密呢?。。。告诉你,其实保险箱的密码四位纯数字密码。

文件链接

做法:

判断是压缩包解密,改文件后缀为zip,用ARCHPR暴力解密得到压缩包密码7869,解压后打开文本得到flag

flag{75a3d68bf071ee188c418ea6cf0bb043}

0x11 被嗅探的流量

题目:

某黑客潜入到某公司内网通过嗅探抓取了一段文件传输的数据,该数据也被该公司截获,你能帮该公司分析他抓取的到底是什么文件的数据吗?

文件链接

做法:

Wireshark打开文件,一般发送文件都是http/https请求,可以截取到的一般是http请求,筛选http请求看到有一个POST请求发送JPEG文件, 定位文件处导出分组字节流,然后把文件后缀改为jpg,打开图片发现正常,文本编辑器打开,搜索flag,得到flag

flag{da73d88936010da1eeeb36e945ec4b97}

0x12 爱因斯坦

题目: 文件链接

做法:

看图发现正常,用binwalk查看发现图片里存在隐写,用foremost进行分离得到一个加密压缩包,由于题目没有提示,先不爆破,用Winhex查看,修改发现不存在zip伪加密。 用winhex查看图片发现字符串

t h i s _ i s _ n o t _ p a s s w o r d 

去掉空格后作为解压密码成功解压压缩包,打开解压后的文本得到flag

flag{dd22a92bf2cceb6c0cd0d6b83ff51606}

0x13 easycap

题目: 文件链接

做法:

Wireshark打开,发现全是TCP协议,分析不出什么来,然后试下追踪TCP流,得到

FLAG:385b87afc8671dee07550290d16a8071

flag{385b87afc8671dee07550290d16a8071}

0x14 假如给我三天光明

题目: 文件链接

做法:

解压得到一个压缩包和一张图片,打开压缩包发现加密,用Winhex打开压缩包发现是RAR压缩包,修改文件后缀为rar。点开图片,图片底部的图案是盲文,找解码表对照解码得kmdonowg

用来解压压缩包成功。打开音频,听节奏是摩斯电码,用Audacity分析音频,根据音波的宽度,宽的为-,窄的为.,得到

-.-. - ..-. .-- .--. . .. ----- ---.. --... ...-- ..--- ..--.. ..--- ...-- -.. --..

摩斯电码解密得到CTFWPEI08732?23DZ或者ctfwpei08732?23dz,尝试下得到flag

flag{wpei08732?23dz}

0x15 FLAG

题目: 文件链接

做法:

打开常规看下文本编辑器和分辨率,都没有发现异常,用Stegsolve打开文件,翻遍图层都没发现奇怪的东西,然后点Data Extract看看文件二进制,惯例选区Red/Green/Blue 0,看到头部是504B0304,判断为压缩包,保存二进制文件提取出来,解压得到一个Linux二进制文件,运行一下得到

hctf{dd0gf4c3tok3yb0ard4g41n~~~}

flag{dd0gf4c3tok3yb0ard4g41n~~~}

0x16 另外一个世界

题目: 文件链接

做法:

Winhex打开,拉到底部发现一串二进制数

01101011011011110110010101101011011010100011001101110011

8个一组,转成ascii码得到koekj3s

flag{koekj3s}

0x17 隐藏的钥匙

题目: 文件链接

做法:

用文本编辑器打开,搜索flag得到

flag:base64:(Mzc3Y2JhZGRhMWVjYTJmMmY3M2QzNjI3Nzc4MWYwMGE=)

base64解码得到

377cbadda1eca2f2f73d36277781f00a

flag{377cbadda1eca2f2f73d36277781f00a}

0x18 荷兰宽带数据泄露

题目: 文件链接

做法:

看到是二进制文件,加上题目的信息,加上以前有刷过固件,应该是路由器相关的二进制文件,网上搜了下可以用routerpassview进行查看,泄露的应该是密码那些,搜了下password,看到

<Username val=053700357621 /><Password val=210265 />

试了下053700357621,成功了

flag{053700357621}

0x19 A_Beautiful_Picture

题目: 文件链接

做法:

大白做法一致,还原尺寸后得到BDJ{PnG_He1ghT_1s_WR0ng}

flag{PnG_He1ghT_1s_WR0ng}

0x1A 后门查杀

题目:

小白的网站被小黑攻击了,并且上传了Webshell,你能帮小白找到这个后门么?(Webshell中的密码(md5)即为答案)。

文件链接

做法:

D盾扫描解压的文件,发现html/include/include.php文件可疑,根据提示打开文件发现

$pass  = '6ac45fb83b3bc355c024f5034b947dd3';

得到flag

flag{6ac45fb83b3bc355c024f5034b947dd3}

0x1B 神秘龙卷风

题目:

神秘龙卷风转转转,科学家用四位数字为它命名,但是发现解密后居然是一串外星人代码!!好可怕!

文件链接

做法:

ARCHPR暴力解密得到压缩包密码5463,解压后打开文本,经过查询发现是Brainfuck语言,到网站解码得到flag

flag{e4bbef8bdf9743f8bf5b727a9f6332a8}

0x1C 来首歌吧

题目: 文件链接

做法:

Audacity分析音频,看到一个音轨有摩斯电码的特征,根据音波的宽度,宽的为-,窄的为.,得到

..... -... -.-. ----. ..--- ..... -.... ....- ----. -.-. -... ----- .---- ---.. ---.. ..-. ..... ..--- . -.... .---- --... -.. --... ----- ----. ..--- ----. .---- ----. .---- -.-.

解摩斯电码得到

5BC925649CB0188F52E617D70929191C

flag{5BC925649CB0188F52E617D70929191C}

0x1D 小姐姐

题目: 文件链接

做法:

Winhex打开,查找BJD(因为是BJDCTF的题),得到

BJD{haokanma_xjj}

flag{haokanma_xjj}

0x1E 九连环

题目: 文件链接

做法:

第一种:

binwalk查看图片,发现存在压缩包,然后

python binwalk -e 123456cry.jpg

分离压缩文件,得到一张图片和一个加密压缩包,用Steghide查看图片文件信息,即执行

steghide info good-已合并.jpg

发现有ko.txt文件隐写在其中,然后执行steghide extract -sf good-已合并.jpg,得到ko.txt,内容为

看到这个图片就是压缩包的密码:bV1g6t5wZDJif^J7

解压得到flag.txt,内容为

flag{1RTo8w@&4nK@z*XL}

第二种:

foremost分离图片和压缩包,用Winhex查看分离的压缩包,判断是否为伪加密,具体看链接,首行中为50 4B 03 04 0A 00 00 08,而在分析到Offset为7210的行中,出现50 4B 01 02 3F 00 14 00 01 0801 08与全局方式位标记00 08不同,即为伪加密,01修改为00即可解压缩包,然后Steghide的使用同上

flag{1RTo8w@&4nK@z*XL}

0x1F 数据包中的线索

题目: 文件链接

做法:

使用Wireshark打开,追踪HTTP流,发现有问题

观察发现最下面的字符串应该为Base64编码,解码发现头部为JFIF,判断为jpg图片文件,新建一个html文件,添加img标签后再打开查看即可看到带有flag的图片

<img src="data:image/jpg;base64,xxx">
#xxx为上文base64编码字符串

flag{209acebf6324a09671abc31c869de72c}

0x20 面具下的flag

题目: 文件链接

做法:

看到图片,直接用binwalk看看有没有存在其他二进制文件,执行后提取到了一个vmdk硬盘文件flag.vmdk,尝试在Kali中使用vmware-mount命令挂载,再用tree命令发现信息

观察NULL文件内容,经查阅得知为Brainfuck语言,转换编码得到

flag{N7F5_AD5

缺少后半部分,无解,查相关题解为挂载vmdk会自动修复文件,因此不能直接挂载,需要用7z软件解压该硬盘文件,解压命令为

7z x flag.vmdk -o./flag

观察目录结构并与挂载硬盘时对比发现增加一个文件

观察NULL文件内容,经查阅得知为Ook!语言,转换编码得到

_i5_funny!}

至此得到flag

flag{N7F5_AD5_i5_funny!}

0x21 webshell后门

题目:

朋友的网站被黑客上传了webshell后门,他把网站打包备份了,你能帮忙找到黑客的webshell在哪吗?(Webshell中的密码(md5)即为答案)

文件链接

做法:

后门查杀做法一致,扫到member/zp.php文件,打开查看,有以下字符串,拼接即可得到flag

$pass  = 'ba8e6c6f35a53933b871480bb9a9545c'; 

flag{ba8e6c6f35a53933b871480bb9a9545c}

0x22 被劫持的神秘礼物

题目:

某天小明收到了一件很特别的礼物,有奇怪的后缀,奇怪的名字和格式。小明找到了知心姐姐度娘,度娘好像知道这是啥,但是度娘也不知道里面是啥。。。你帮帮小明?找到帐号密码,串在一起,用32位小写MD5哈希一下得到的就是答案。

文件链接

做法:

数据包中的线索做法一致,追踪HTTP流,有以下字符串,拼接nameword的值后hash一下即可得到flag

name=admina&word=adminb&cooktime=0&checkcode=5129

flag{1d240aafe21a86afc11f38a45b541a49}

0x23 刷新过的图片

题目:

浏览图片的时候刷新键有没有用呢?

文件链接

做法:

binwalk试下,发现没有其他文件可以分离,根据题目提示,键盘上的刷新键是F5,搜下F5隐写发现一个项目可以处理,使用该项目的命令处理得到output.txt文件

java Extract /root/test/Misc.jpg

尝试读取output.txt文件,发现是乱码,看下文件头发现是50 4B,判断为zip压缩包,打开发现需要密码,于是查看下有没有出现zip伪加密,发现存在伪加密,修改伪加密16进制位为0即可解压,得到flag

flag{96efd0a2037d06f34199e921079778ee}

0x24 snake

题目: 文件链接

做法:

binwalk试下,分离出cipherkey两个文件,key文件为一串Base64字符串,解码得到

What is Nicki Minaj's favorite song that refers to snakes?

搜索Nicki Minaj snake得到一个关键字anaconda

搜索snake cipher发现有一种加密算法为Serpent,在此网站上可以解密,提取cipher文件的16进制解密得到

#待解密,密码为"anaconda"
DC44158CD6A283B543B412F716A7D1FDD210D8EB9E8937E23560F9EE240131BF1CE75CABB68EBFDA83730C728DBC748D
#ECB解密
CTF{who_knew_serpent_cipher_existed}

flag{who_knew_serpent_cipher_existed}

0x25 梅花香之苦寒来

题目: 文件链接

做法:

直接用binwalk分离发现没东西,用Winhex打开看发现很多连贯的16进制数值,取一段去转ASCII码发现信息

#16进制数值
290a28382c3438290a28382c3439290a28382c3530290a28
#ASCII转码
)
(8,48)
(8,49)
(8,50)
(

观察发现应该是二维码坐标集合,于是把该图片文件前面关于图片的内容全部删除,留下16进制数值,并修改文件名为meihuai.txt,使用脚本处理得到二维码图片

import matplotlib.pyplot as plt
import numpy
import binascii
source=open('meihuai.txt','rb').read()
source=source[:]
source=binascii.unhexlify(source)
#16进制转ASCII码
temp=source.decode()
convert=open('convert.txt','w')
#去除行括号
for i in temp:
    convert.write(i.strip('(').strip(')'))
convert.close()
#绘图,"k"参数为黑色,"."参数为填充字符
x,y=numpy.loadtxt('convert.txt',delimiter=',',unpack=True)
plt.plot(x,y,'k.')
plt.show()

扫描生成二维码得到flag

flag{40fc0a979f759c8892f4dc045e28b820}

0x26 菜刀666

题目: 文件链接

做法:

Wireshark打开,追踪TCP流,观察有无异常

观察第1个TCP流,action参数值Base64解码为乱码,继续观察

增加了z1参数值,Base64解码得到

D:\wamp64\www\upload

判断应该是上传了某些文件,继续追踪TCP流,发现在第7个TCP流有异常,根据z1参数值为路径,推断z2参数值为二进制文件值

直接保存数据为原始数据到新文件123存放,用Winhex删除与该二进制文件无关的值,包括头尾,然后在Winhex中按Ctrl+R选择十六进制ASCII -> 二进制转换文件,得到以下内容

由此可知该文件为jpg文件,打开为一张图片

试了下这并不是flag,继续查看TCP流,观察到第9个TCP流有异常

PK标识头可知该区域为zip压缩包的十六进制值,复制该段原始数据到Winhex上转换即可得到压缩包,用以上图片获得的密码即可解压

#压缩包密码
Th1s_1s_p4sswd_!!!

flag{3OpWdJ-JP6FzK-koCMAK-VkfWBq-75Un2z}

0x27 被偷走的文件

题目: 文件链接

做法:

Wireshark打开,追踪TCP流,在第3个TCP流发现关键字flag.rar,跟踪到第4个TCP流发现16进制数值,直接保存数据为原始数据到新文件flag.rar,打开发现需要加密,继续追踪TCP流,发现没有后续可疑信息

因此尝试用ARCHPR暴力破解密码,口令长度为1到8,爆破字符为所有数字,爆破得到密码为5790,解压得到flag

flag{6fe99a5d03fb01f833ec3caa80358fa3}

0x28 认真你就输了

题目: 文件链接

做法:

打开xls文件发现里面的内容出现乱码,有PK关键字,想到xls文件也是压缩包文件,于是用解压软件解压,在下方路径找到flag

\10\xl\charts\flag.txt

flag{M9eVfi2Pcs#}

0x29 佛系青年

题目: 文件链接

做法:

打开发现是加密压缩包,但是题目没有给密码提示,尝试用1-8位数字爆破无解,判断应该是伪加密。用Winhex打开,搜索PK字符串,逐行看看是否有加密位,具体可看前文,然后再Offset为87D9范围内发现加密位,改为0即可解压

解压后看图片无异样,看下txt文本,发现有“佛曰”,后面的内容是乱码,应该是与佛论禅编码了,在网站第二个文本框输入,然后点参悟佛所言的真意即可解码

flag{w0_fo_ci_Be1}

0x2A 藏藏藏

题目: 文件链接

做法:

binwalk查看图片,发现存在压缩包,用-e参数提取不出来,图方便就用foremost分离出压缩包了,解压压缩包并打开里面的文档得到一张二维码,扫码即可得到flag

flag{you are the best!}

0x2B 秘密文件

题目: 文件链接

做法:

做法同上文差不多,rar文件数据在第6个TCP流中,解压密码爆破得到1903,解压即得flag

flag{d72e5a671aa50fa5f400e5d10eedeaa5}

0x2C 你猜我是个啥

题目: 文件链接

做法:

Winhex打开,发现png文件头,改后缀为png,发现是一张二维码,扫码得到的字符串为乱码,再用Winhex看下文件尾部,得到flag

flag{i_am_fl@g}

0x2D 神奇的二维码

题目: 文件链接

做法:

binwalk发现图片存在压缩包,于是使用binwalk分离出4个rar压缩包,逐个解压

对比716A文件夹里面的加密压缩包文件,比对和同目录文件的大小一致,但是图片并没有什么异样

encode.txt文件内容是一段Base64码,转码得到

asdfghjkl1234567890

并不是18394.rar的解压密码,再看flag.doc文件,是一段Base64码,解码得到还是Base64编码,应该套了几十层编码,只能说出题人有毛病,最后得到原文,即18394.rar的解压密码

comEON_YOuAreSOSoS0great

解压后得到一段音频,听起来是摩斯电码,用Audacity分析音频,手打出摩斯电码

转码得到flag,不过要注意是小写

morseisveryveryeasy

如果想要简单点也可以到类似网站进行音频解码

flag{morseisveryveryeasy}

0x2E 一叶障目

题目: 文件链接

做法:

用软件发现不能正常打开图片,判断是修改了图片尺寸,根据前文做法,可以随机

flag{who_knew_serpent_cipher_existed}

0x2D

题目: 文件链接

做法:

flag{who_knew_serpent_cipher_existed}

已开启邮件提醒回复功能