MISC新手练习题集
Banmabanma
用在线网站工具 Barcode Reader 识别图片二维码内容即可。
内容为“FLAG IS TENSHINE”,格式化为flag{TENSHINE}
。
low
可以使用python对图片进行lsb隐写解析。
1 | import PIL.Image as Image |
也可以使用stegsolve对图片进行解析,但需要先打开该bmp图片,将其另存为png格式再进行解析,可以在 Red plane 0 时发现二维码。
最后使用QR research(CQR)识别出二维码内容即可。flag{139711e8e9ed545e}
适合作为桌面
使用Stegsolve对图片进行解析,在 Red plane 1 时发现二维码,扫描得到十六进制信息。03F30D0A79CB05586300000000000000000100000040000000730D0000006400008400005A000064010053280200000063000000000300000016000000430000007378000000640100640200640300640400640500640600640700640300640800640900640A00640600640B00640A00640700640800640C00640C00640D00640E00640900640F006716007D00006410007D0100781E007C0000445D16007D02007C01007400007C0200830100377D0100715500577C010047486400005328110000004E6966000000696C00000069610000006967000000697B000000693300000069380000006935000000693700000069300000006932000000693400000069310000006965000000697D000000740000000028010000007403000000636872280300000074030000007374727404000000666C6167740100000069280000000028000000007304000000312E7079520300000001000000730A0000000001480106010D0114014E280100000052030000002800000000280000000028000000007304000000312E707974080000003C6D6F64756C653E010000007300000000
03 F3 0D 0A是pyc文件的文件头,是python编译后的字节码文件。
使用在线网站工具HexEd.it对十六进制数据进行分析也可以发现是…,另存为pyc文件。
使用在线网站工具python反编译对该pyc文件进行反编译,得到python源码。
1 | def flag(): |
注意这段源码是python2的语法,如果使用python3运行需要修改部分语法,而且这段源码并不完整,只是自定义了一个 flag() 函数,需要补齐执行函数语句flag()
才可以输出最终结果。flag{38a57032085441e7}
心仪的公司
题目附件是一个名为“webshell.pcapng”的抓包文件,使用Wireshark打开,根据文件名提示进行过滤筛选http contains "webshell"
,发现一个照片文件,追踪其http流在 Expert Info (Chat/Sequence) 中即可发现flag隐藏其中。fl4g:{ftop_Is_Waiting_4_y}
当然这题使用 010Editor 打开文件搜索文本内容“fl4g”也可以找到答案,此类题目可以多尝试去搜索文件中的 flag 关键词。
4433
老样子使用Stegsolve对图片进行解析,在 Red plane 1 时发现二维码,使用QR research扫描得到一串神秘字符,很明显是摩尔斯电码。...--.----...--..
观察摩尔斯电码对照表,每一个字母是对应1到4个摩尔斯电码字符的,那题目4433是否意味着划分的位置,来尝试一下,使用在线摩斯密码翻译器进行解码,得到内容。VYGUD
内容是电码的缩写内容,原文为“VERY GOOD”,那么flag如下。flag{VERYGOOD}
traffic 待写
使用 010Editor 搜索 flag 相关关键词没有得到有效信息,使用Wireshark对该文件进行流量分析,
第四扩展FS
使用Stegsolve对图片进行解析,无果。
使用Kali中的工具binwalk对文件进行检测,发现该jpg文件下还隐藏着一个zip文件binwalk 99828589220e46d08092cc3fe7d09fbb.jpg
继续使用binwalk对文件进行拆分。binwalk -e 99828589220e46d08092cc3fe7d09fbb.jpg --run-as=root
拆分后是一个名为“file.zip”的压缩包文件,解压需要密码,回到题目最初给的图片,发现其属性中有个备注信息“Pactera”,将其作为密码进行尝试,解压成功,里面有一个文本文件,内容是一大段的字符串,再根据题目信息提示,对该文件进行字频分析,按照字频高低依次排序得到flag。DCTF{ka1f4NgxlntAi}
在此可以使用python对文件进行字频分析。
1 | from collections import Counter |
misc1
题目给出一段字符串,观察发现似乎是十六进制数,猜测为ASCII码,但其大小并不符合ASCII码的字母范围,在十六进制字符串转ASCII字符串时,对每个字符减去128后再进行转换,即可得到答案。d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9e1e6b3e3b9e4b3b7b7e2b6b1e4b2b6b9e2b1b1b3b3b7e6b3b3b0e3b9b3b5e6fd
在此使用python进行处理。
1 | s = "d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9e1e6b3e3b9e4b3b7b7e2b6b1e4b2b6b9e2b1b1b3b3b7e6b3b3b0e3b9b3b5e6fd" |
That was fast! The flag is: DDCTF{9af3c9d377b61d269b11337f330c935f}
pure_color
使用Stegsolve对图片进行解析,在 Blue plane 0 时发现 flag 。flag{true_steganographers_doesnt_need_any_tools}
2017_Dating_in_Singapore
附件给到一个2017年新加坡的日历,题目提示信息给出一大堆数字。
1 | 01081522291516170310172431-050607132027262728-0102030209162330-02091623020310090910172423-02010814222930-0605041118252627-0203040310172431-0102030108152229151617-04050604111825181920-0108152229303124171003-261912052028211407-04051213192625 |
仔细观察发现数字内容为日期,用连字符作为月份的分隔,第一月份的日期为01 08 15 22 29 15 16 17 03 10 17 24 31,第二月份的日期为05 06 07 13 20 27 26 27 28,以此类推,在日历上对应的日期处做标记,连接标记即可得到 flag 。HITB{CTFFUN}
simple_transfer
使用 010Editor 搜索 flag 相关关键词没有得到有效信息,使用Wireshark对该文件进行流量分析,无果。
参考 第四扩展FS,分解得到一个pdf文件,文件内容即为 flag 。HITB{b3d0e380e9c39352c667307d010775ca}
Training-Stegano-1
使用Stegsolve对图片进行解析,在多个通道中发现一些黑白块,刚开始以为是破碎的二维码,想是否需要多通道导出后进行图形拼接得到完整二维码,但是没有明显的二维码标识形状,况且题目提示简单,思路有误,停止尝试。
使用 010Editor 打开该文件后发现里面有一个passwd字段,其内容就是答案。steganoI
can_has_stdio?
附件是一个没有后缀名的文件,用记事本打开,像一个星星,上网查找发现是Brainfuck编码,使用在线网站工具解码即可。flag{esolangs_for_fun_and_profit}
Erik-Baleog-and-Olaf
用 010Editor 打开文件发现png文件头和文件尾,在文件尾前面还发现一个网址信息。http://i.imgur.com/22kUrzm.png
打开此网址是一张图片,下载并保存为“22kUrzm.pn”。
为题目所给文件加上.png后缀也得到一张图片“stego100.png”。
这里下载的那张图片是原图片,题目给出的图片是处理之后的图片,将两张图片的每个像素点进行比较,如果不同则标记该像素点为白色,使用python对两种图片进行比较从而得到二维码,扫码内容即为答案。
1 | from PIL import Image |
flag{#justdiffit}
在这之前使用Stegsolve对图片进行解析,在 Blue plane1 中发现残缺的二维码,可惜难以识别,在Radom color map通道中多试几次,找到尽量识别度高的二维码图片,进行PS的处理,似乎也可以识别二维码内容。
János-the-Ripper
用 010Editor 打开文件发现zip文件头和文件尾,加上.zip后缀尝试解压发现需要密码。
预览发现里面的文件是 flag.txt ,没有发现任何提示,直接使用 Ziperello 进行暴力破解得到密码“fish”。
文件内容即为 flag 。flag{ev3n::y0u::bru7us?!}
Test-flag-please-ignore
用 010Editor 打开文件内容如下。666c61677b68656c6c6f5f776f726c647d
很明显是十六进制数,使用python进行十六进制字符串转ASCII字符串拿下。
1 | s = "666c61677b68656c6c6f5f776f726c647d" |
flag{hello_world}
misc_pic_again
使用Stegsolve对图片进行解析,切换通道无果,那进行数据提取,选中RGB三层的0号位平面进行Preview,发现50 4b文件头,是zip文件,Save Bin保存为zip文件进行解压,里面有一个名为“1”的无后缀文件,用 010Editor 按照题目提示搜寻“hctf”关键词即可找到答案。hctf{scxdc3tok3yb0ard4g41n~~~}
用binwalk检测文件发现还隐藏着一个Zlib文件。Zlib compressed data, default compression
再使用binwalk对文件进行分离,得到两个文件,“29.zlib”和“29”。
而 Zlib 不同的压缩方式有不同的文件头,那这个默认压缩方式的文件头是78 9C。
文件头 | 压缩方式 |
---|---|
78 01 | No Compression/low |
78 9C | Default Compression |
78 DA | Best Compression |
用 010Editor 对“29.zlib”进行分析发现确实如此,但是“29”却并不是以 78 DA 作为文件头,搜索 78 DA 可以发现其中包含一个 zlib 文件。
reverseMe
题目名称显而易见,水平翻转图片就可以看出图片内容了。flag{4f7548f93c7bef1dc6a0542cf04e796e}
Hear-with-your-Eyes
是一个gz压缩包,解压得到文件,使用Audacity进行音频分析,这个软件在微软商店中也有上架,将文件作为原始数据导入软件中,打开该音频的频谱图,发现flag。e5353bb7b57578bd4da1c898a8e2d767
What-is-this
识别文件、分解文件不再赘述,分解后得到两张图片文件,使用Stegsolve合并图片即可得到答案。AZADI TOWER
hit-the-core
题目附件给出一个 core 文件,这是 Linux 在程序异常崩溃时会生成的文件,Linux 的文件就用 Linux 的方法来治,使用 Kali 中的 strings 命令对文件进行打印输出,这个命令用于从二进制文件中提取 ASCII字符串,非常好用。strings 8deb5f0c2cd84143807b6175f58d6f3f.core -n 6
在上面这个命令语句中,-n 参数表示至少输出长度为6的字符串,减少了非 flag 信息字符串的干扰。
在输出中发现一长串字符,观察发现规律,前面一段每隔四个小写字母均出现大写字母,组合正好为比赛名“ALEXCTF”,用python进行提取,得到 flag 。
1 | s = "cvqAeqacLtqazEigwiXobxrCrtuiTzahfFreqc{bnjrKwgk83kgd43j85ePgb_e_rwqr7fvbmHjklo3tews_hmkogooyf0vbnk0ii87Drfgh_n kiwutfb0ghk9ro987k5tfb_hjiouo087ptfcv}" |
ALEXCTF{K33P_7H3_g00D_w0rk_up}
glance-50
题目给了一个gif文件,打开发现是一个很细长的动图,那么应该是将这些细长的每一帧拼接起来,用GIF动态图片分解即可得到答案。TWCTF{Bliss by Charles O'Rear}
something_in_image
使用 010Editor 搜索 flag 相关关键词得到答案。Flag{yc4pl0fvjs2k1t7T}
Aesop_secret
题目给到gif文件,上动态分解发现“ISCC”,使用 010Editor 分析,发现文件末尾有一长串编码。U2FsdGVkX19QwGkcgD0fTjZxgijRzQOGbCWALh4sRDec2w6xsY/ux53Vuj/AMZBDJ87qyZL5kAf1fmAH4Oe13Iu435bfRBuZgHpnRjTBn5+xsDHONiR3t0+Oa8yG/tOKJMNUauedvMyN4v4QKiFunw==
看上去像base64编码,但直接解码无果,而且也没有用上动态分解给到的信息,用ISCC作为密钥,使用AES二次解密得到答案。
flag{DugUpADiamondADeepDarkMine}
a_good_idea
分解文件得到两张图片和提示,使用Stegsolve合并图片,先放入“to_do.png”,再叠加“to.png”在sub运算中得到二维码,识别二维码内容即可。NCTF{m1sc_1s_very_funny!!!}
Ditf
使用 010Editor 修改图片宽高,将04 4C改为05 4C后保存,出现StRe1izia
。
分离文件得到一个加密压缩包,用上面的字符串解密成功,得到抓包文件。
搜索抓包文件中的关键词“png”,追踪http流找到一串字符。ZmxhZ3tPel80bmRfSGlyMF9sb3YzX0ZvcjN2ZXJ9
base64解码得到 flag 。flag{Oz_4nd_Hir0_lov3_For3ver}