1 - 杂项签到
题目
分析
查看十六进制文件,发现包含的信息不少:
猜测存在隐藏文件,用 binwalk 查看,发现 zlib 文件:
对文件进行分离……虽然但是这个签到题门槛怎么这么高?不会是……
查了一下 ctfshow 提交 flag 的格式,搜索:
好家伙。
Flag
ctfshow{a62b0b55682d81f7f652b26147c49040}
参考
杂项 - zlib-Ainsliaea-博客园
CTF 隐写 关于zlib的解压 2018全国大学生信息安全竞赛 picture-never疯-CSDN
2 - 损坏的压缩包
题目
打开显示压缩包已损坏
分析
010 editor 打开文件,发现 PNG 头尾:
更改文件后缀为 png,得到 flag:
Flag
ctfshow{e19efe2eb86f10ccd7ca362110903c05}
参考
图片转文字在线-图片文字提取-网页OCR文字识别-白描网页版
3 - 谜之栅栏
题目
分析
打开 010 editor 的 比较文件,选择两张图片进行比较:
复制并拼接差异部分,用栅栏密码方式解密:
s1 = 'cfhwfaab2cb4af5a5820}' s2 = 'tso{06071f997b5bdd1a ' # 因为s1与s2长度不同,为拼接方便,在s2后补一个空格 s = ''
for c1, c2 in zip(s1, s2): s += c1 s += c2
print(s)
得到 flag。
Flag
ctfshow{f0a6a0b721cfb949a7fb55ab5d8d210a}
参考
4 - 你会数数吗
题目
分析
根据题目的意思,该题应该需要统计数量。
用 010 editor 打开文件,查看文件直方图,发现 flag 内容为字符按计数降序排列的结果:
任意选择一行,右击字符,复制列:
对文本进行初步过滤:
整理结果,得到 flag。
Flag
ctfshow{a1b2d3e4g56i7j8k9l0}
参考
文本过滤和替换工具:过滤汉字、字母、数字、标点、空格、换行或指定字符;替换指定字符
5 - 你会异或吗
题目
提示:
神秘数字:0x50
题目:
分析
图片打不开,先查看十六进制文件:
选择“十六进制运算-二进制异或”,操作数为提示中的 0x50:
得到正确 PNG 文件:
保存,打开图片,得到 flag:
Flag
ctfshow{030d0f5073ab4681d30866d1fdf10ab1}
参考
图片转文字在线-图片文字提取-网页OCR文字识别-白描网页版
6 - flag一分为二
题目
分析
用 010 editor 查看十六进制文件,发现报错
猜测是文件的高度被修改导致,先尝试将图片改为正方形(经测试实际应为 04 00):
出现第二部分的 flag:
第一部分的 flag 实在找不着,看了大佬的 WP 才知道是盲水印,用 WaterMarkH 提取水印得到第一部分:
组合 flag 即可。
Flag
ctfshow{FirstP@RTSecondP@rTMikumiku~}
参考
【缺代码】7 - 我是谁??
题目
分析
这题是通过“开始答题”部分的题目选择“美女列表”对应的二次元美女(二次元蒸鹅心
看大佬的 WP 说可以写脚本提取关键帧比对,这里先鸽着(
Flag
ctfshow{a4b51409-1148-40ab-8051-a7a4608963ca}
8 - You and me
题目
分析
猜测是图片需要合并或是图片存在盲水印。
用 StegSolve 合并后未发现线索。
将两张图片复制到 BlindWaterMark-master 文件夹内,查看盲水印:
得到 flag:
Flag
ctfshow{CDEASEFFR8846}
参考
镜像-项目目录预览-blindwatermark-GitCode
GitHub - chishaxie_BlindWaterMark_ 盲水印 by python
GitHub - Yxiaojian_BlindWaterMark_ Java盲水印
【未完成】9 - 7.1.05
不会,先过
10 - 黑丝白丝还有什么丝?
题目
提示:莫丝密码
题目:
https://www.douyin.com/video/7164477952082693414
(tjjj!!!
分析
根据题目推测白黑丝各代表一种摩丝码,记录下编码后翻译,发现结果存在特殊字符,显然不是 flag 结果。
重新看了几次视频,发现部分图片交接时存在渐变专场,猜测摩斯码根据这些转场进行分隔,重新记录摩斯码如下:
分别对两串编码进行解码:
因为其中一个存在 %u,故选择另一条结果作为 flag 内容尝试提交,通过。
Flag
ctfshow{W4NTT0B3MORECUTE}
参考
11 - 我吐了你随意
题目
分析
(……握拳
首先看到 emoji 表情,猜测是 Base100。
将文段复制到在线解码网站后删除多余字符时发现可见字符间存在看不见的隐藏字符,联想到文件名,猜测是一种隐藏字符的隐写。
经查询为 Unicode 零宽度字符隐写,用在线加解密网站解码得到 Flag
Flag
ctfshow{OP_is_for_Over_Power}
参考
零宽度字符隐写(CTF)-Hardworking666-CSDN
Unicode Steganography with Zero-Width Characters
12 - 这是个什么文件?
题目
分析
解压,发现需要密码。
查看十六进制文件,发现文件挺小一个:
由于该题没有给其他和密码有关的信息,先试着强制去掉加密,将压缩源文件数据区与压缩源文件目录区的全局方式位标记均更改为 00 并另存为文件:
解压,得到内部文件:
用记事本打开,发现末尾存在 “.py” 字符,猜测为 pyc 文件:
将文件后缀名更改为 .pyc,uncompyle6 -o . 2.pyc
对文件进行反编译,得到 py 文件:
运行,得到 flag
Flag
ctfshow{cdjnjd_565f_GCDH_kcrim}
参考
Misc_BUUCTF_WriteUp | zip 伪加密-Guanz-博客园
Crypto_XCTF_WriteUp | easychallenge-Guanz-博客园
13 - 抽象画
题目
分析
看文件内容像是 Base 系列的编码,尝试 Base64 解码发现不行。
在文件里搜索大写字符 I、O 和 小写字符 l,均不存在,且文件中不存在 “+” 与 “/” 符号,猜测是 Base58,解码得到新的字符串:
字符串末尾有四个 “=”,猜测还是 Base 系列编码,因为 Base64 最多存在两个 “=” 填充,而 Base91 一般存在其他符号,故猜测是 Base32:
解码后得到的字符串末尾有一个 “=”,用 Base64 解码,得到带空格的十六进制字符串:
粘贴到 010 editor 中,发现是 PNG 文件的内容:
将文件保存为 png 格式,打开:
汗流浃背了……
WP 解法,了解到这是 Piet 语言。
将图片复制到 npiet.exe 路径下,更名为 ABSPaint.png,启动 powershell,./npiet.exe -q ABSPaint.png
解码,得到 flag:
Flag
ctfshow{dec8de_frejnv_frejer89}
参考
CTF常见编码及加解密(超全)-ruoli-s-博客园
在线Base58编码解码
在线Base32解码器—LZL在线工具
Base64 编码_解码 - 在线工具
Piet一种奇葩编程语言——利用在CTF中Piet的套路应该很多-疯狂的1998-CSDN
【未完成】14 - 迅疾响应
题目
分析
二维码扫不出来。
【未完成】15 - 我可没有骗你
题目
分析
打开压缩包需要密码,先尝试小范围暴力破解(跑了一个下午没跑完,后来改单选数字了):
得到密码:
打开压缩包,得到里面的音频,识别出是 Suzanng Vega 的 Tom's Diner。
查看十六进制文件,发现 wav 文件头:
【未完成】16 - 你被骗了
题目
分析
听一下音频……Never Gonna Give You Up!
可恶。
查看十六进制文件,发现 flag:
吗?
Flag
``
【未完成】17 - 一闪一闪亮晶晶
题目
【未完成】18 - 一层一层一层地剥开我的♥
题目
19 - 打不开的图片
题目
分析
如题,图片打不开。查看十六进制文件:
在文件中搜不到常见文件头尾与 flag 等相关信息,但观察文件末尾发现有一串规律的 0 字符:
联想到 PNG 文件尾也存在一串 0,对比了一下 0 字符串长度发现相等。
同时,文件开头的第三个字符也为 0,而 PNG 的文件头 89 50 4E 47 第三个字符同样为 0。
继续观察,文件头的第 5,6 位字符为 B2,与文件末尾 0 字符串后第 5,6 位相同,对照 PNG 文件头尾,发现对应位置的十六进制字符都为 4E。
也就是说,该文件很可能由 PNG 文件更改而来,且十六进制字符之间一一对应。推测为按位计算或按位单表代换。
对 B2 与 4E 计算,发现 B2+4E=100(hex),同时文件开头的四个字节 100-77=89(hex), 100-B0=50(hex), 100-B2=4E(hex), 100-B9=47(hex),正好符合 PNG 文件头。
对文件按十六进制求反:
得到原始文件。
保存,得到 flag。
Flag
ctfshow{84a3ca656e6d01e25bcb7e5f415491fa}