CTF杂项之总结(二)

时间:2024-05-23 22:46:23

题1

打开压缩包,是一个PNG图片。图片内容是二维码。
CTF杂项之总结(二)
微信扫码转入一个网页:
CTF杂项之总结(二)看起来是一个搜索引擎搜索“key不在这里”得到的页面。
实际上,扫码得到的是一个链接,手机识别后会自动访问。所以将链接单独提取出来:
https://cn.bing.com/search?q=key%E4%B8%8D%E5%9C%A8%E8%BF%99%E9%87%8C&m=10210897103375566531005253102975053545155505050521025256555254995410298561015151985150375568&qs=n&form=QBRE&sp=-1&sc=0-38&sk=&cvid=2CE15329C18147CBA4C1CA97C8E1BB8C

里面比较值得怀疑的有两个信息:
10210897103375566531005253102975053545155505050521025256555254995410298561015151985150375568

2CE15329C18147CBA4C1CA97C8E1BB8C

其中第一条可疑信息直接告诉我们它是flag
为什么?
贴下各类flag的加密密文:
flag是flag
01100110 01101100 01100001 01100111是flag(二进制)
146 154 141 147 是flag(八进制)
102 108 97 103 是flag(十进制)
66 6c 61 67 是flag(十六进制)
ZmxhZ是flag(base64)
MZWGCZ是flag(base32)
synt是flag(rot13)
…-. .-… .- --.是flag(莫斯码)
21 31 11 22是flag(敲击码)
AABAB ABABB AAAAA AABBA是flag(培根密码)

所以,将第一条信息用脚本或者离线工具10进制转字符串得到:
flag%7B5d45fa256372224f48746c6fb8e33b32%7D
其中%7B和%7D是转义字符,将其改为{}
则得到flag。

题2

解压,得到一个压缩包。压缩包中有一个名为1的PNG图片
还有一个名为fo的TXT文件,同时显示TXT文件被加密。
CTF杂项之总结(二)将图片解压,得到:CTF杂项之总结(二)查看属性,并没有什么信息。010查看源码,搜索关键字幅串key,password也都没有结果。且图片中并没隐藏其他文件。
进而010查看压缩包的信息。搜索十六进制0900,尝试查看是否为伪加密。
查询到一个结果:
CTF杂项之总结(二)结果显示——就是fo.txt文件被伪加密。将0900改为0000即可。
顺利将fo.txt解压得到:
CTF杂项之总结(二)
佛祖保佑 永无BUG
写字楼里写字间,写字间里程序员;
程序人员写程序,又拿程序换酒钱。
酒醒只在网上坐,酒醉还来网下眠;
酒醉酒醒日复日,网上网下年复年。
但愿老死电脑间,不愿鞠躬老板前;
奔驰宝马贵者趣,公交自行程序员。
别人笑我忒疯癫,我笑自己命太贱;
不见满街漂亮妹,哪个归得程序员?

佛曰:遮等諳勝能礙皤藐哆娑梵迦侄羅哆迦梵者梵楞蘇涅侄室實真缽朋能。奢怛俱道怯都諳怖梵尼怯一罰心缽謹缽薩苦奢夢怯帝梵遠朋陀諳陀穆諳所呐知涅侄以薩怯想夷奢醯數羅怯諸

此为佛经加密,将佛曰的一段复制到与佛论禅在线解密网站,解密得到flag。

题3

解压,得到一张名为wolaopo的jpg文件。
CTF杂项之总结(二)
查询属性,没有得到信息。丢到kali里binwalk分析,发现图片文件中藏着一个rar压缩包。
binwalk -e wolaopo.jpg
将压缩包分离。里面是一个加密的名为flag的txt文件。010查询是否存在0900 伪加密,发现不存在伪加密。
开始翻找图片文件是否可能隐藏password或者key……
实际上,使用rar**软件ARCHPR可以**得到压缩包密码。
CTF杂项之总结(二)解压取出flag.txt。打开,是很长一堆乱码。不具有任何常见加密的特征。
CTF杂项之总结(二)
那么,很有可能就是词频加密。
使用脚本解密得到:
CTF杂项之总结(二)拿到flag——GXY{gaki_Is,Myw1fe}

题4

打开压缩包,里面是36个未知格式文件及一个名为flag的压缩包。
选取一个未知格式文件,010打开,发现是jpg文件。并且,每一个未知格式文件都是jpg文件。并且,文件尾末端存在异常数字。将其另存为jpg文件,打开发现是二维码的一部分。
查看其他jpg文件尾,发现是二维码碎片的编号。
将其全部另存为jpg,以编号命名。
得到36个二维码碎片。
CTF杂项之总结(二)很明显,需要拼接成一个完整的二维码。
这里我用画图工作手工拼接。得到二维码如下:
CTF杂项之总结(二)大神都是采用脚本拼接,奈何我没有那个实力。
扫码得到信息:
BASE Family Bucket ??? 85->64->85->13->16->32
打开压缩包,看到备注栏有一串字符。
GNATOMJVIQZUKNJXGRCTGNRTGI3EMNZTGNBTKRJWGI2UIMRRGNBDEQZWGI3DKMSFGNCDMRJTII3TMNBQGM4TERRTGEZTOMRXGQYDGOBWGI2DCNBY
压缩包内存有加密的flag.txt文件。
按照出题人的尿性,应该是将密码用BASE Family Bucket ??? 85->64->85->13->16->32的顺序编码,然后把最后编码的结果放在备注栏了。
那么逆向解码,得到password“ThisIsSecret!233”
解压拿flag

总结

1.题1中给出的常见flag加密密文表应当成为一个常识,这样能够更为精准的定位flag或者有用信息。
2.题2解完题后,才发现图片的含义是:在图片里找密码找半天发现实际上是伪加密。
确实,杂项当中很可能有很多的迷惑信息。还是由简入繁的原则。检查伪加密或者**数字密码也是一个快速**加密文件的办法。
3.题3,关键在于词频加密的判别。
4.题4,重点在于找到二维码碎片的编号,进而以此拼接二维码。