CTFHub题解-历年真题-Misc-BJDCTF-2020【just a rar 、你猜我是个啥、一叶障目】
CTFHub题解-历年真题-Misc篇
BJDCTF-2020-Misc
(一)just a rar
1.知识点
用到的工具:Winhex、RAR密码爆破软件
winhex下载链接:https://github.com/0yst3r/-CTF_Tools-/blob/master/16进制编辑器/winhex19.8.zip
RAR密码爆破软件下载链接:https://github.com/0yst3r/-CTF_Tools-/tree/master/Crypto/Rar%20Password%20Unlocker%20v3.2.0.1
2.题解
下载下来是一个rar压缩包,打开发现有密码~
笔者用的Rar密码破解是 RAR Password Unlocker 这一款软件~
(下了好几个版本的都不太好用,这个版本还可以)
rar的名字是四位数,那么密码应该也是四位数啦,直接在暴力破解那里限定长度和字符集,这样爆破时间会更快哒~
爆破出来啦~
密码是 2016
打开是一个照片,用winhex看看,发现flag
flag{Wadf_123}
(二)你猜我是个啥
1.知识点
用到的工具:Winhex
winhex下载链接:https://github.com/0yst3r/-CTF_Tools-/blob/master/16进制编辑器/winhex19.8.zip
2.题解
下载下来附件,发现打不开,emmmm.....
先放到 Winhex 里面看看啦!
最下面就看到flag咯~
flag{i_am_fl@g}
(三)一叶障目
1.知识点:png的CRC检验错误、010editor、tewakpng
010editor的下载链接: https://github.com/0yst3r/-CTF_Tools-/blob/master/16进制编辑器/010_Editor_v8.0.1_(64-bit).zip
Tweakpng的下载链接: https://github.com/0yst3r/-CTF_Tools-/blob/master/Misc/tewakpng.zip
这道题在windows下打开是正常的,但是在Linux系统下无法打开。
2.题解:
Windows下打开:
试试在Linux系统下打开呢~
报了CRC的错误,查阅了资料,原来是png的CRC校验错误。
笔者也参考了很多wp,主要分为两种,一种是脚本解决,一种是工具解决。
下面代码是摘自一位大佬关于png修复CRC错误的脚本~
import zlib import struct #读文件 file = '1.png' #注意,1.png图片要和脚本在同一个文件夹下哦~ fr = open(file,'rb').read() data = bytearray(fr[12:29]) crc32key = eval(str(fr[29:33]).replace('\\x','').replace("b'",'0x').replace("'",'')) #crc32key = 0xCBD6DF8A #补上0x,copy hex value #data = bytearray(b'\x49\x48\x44\x52\x00\x00\x01\xF4\x00\x00\x01\xF1\x08\x06\x00\x00\x00') #hex下copy grep hex n = 4095 #理论上0xffffffff,但考虑到屏幕实际,0x0fff就差不多了 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] #print(data) crc32result = zlib.crc32(data) if crc32result == crc32key: print(width,height) #写文件 newpic = bytearray(fr) for x in range(4): newpic[x+16] = width[x] newpic[x+20] = height[x] fw = open(file+'.png','wb')#保存副本 fw.write(newpic) fw.close
工具法:
把图片放进 tewakpng 这个小软件里,会弹出一个警告,应该是CRC校验 IHDR chunk 不正确~
双击打开 IHDR chunk ~
width只有331,我们试着改到900
emmm.....再试试改一下高度~
Height只有332,我们试着改到900
ps: 笔者没太明白,c20f1fc6和55900eef分别是什么意思,不知道是不是纸原始图片的IHDR chunk值,但是好像没法直接修改IHDR chunk的值,希望有大佬指点一下~
除了用到这个工具之外,我们还可以用强大的 010editor ~
Templates 模块检测一下,我们看到黄色的警告:
也可以得到flag~
xaflag{66666}
需要用到的工具,我都放在github里啦,有需要的小伙伴自取~
在工具使用过程中有什么问题,欢迎在博客园私信我~
参考资料:
https://blog.csdn.net/qq_41173457/article/details/104351660
https://blog.csdn.net/weixin_30361753/article/details/96095393
--------------------- ┑( ̄Д  ̄)┍ --------------------------
作者:0yst3r[一只在安全领域努力奋斗的小菜鸡]
来源:博客园[ https://www.cnblogs.com/0yst3r-2046/ ] 引用时请注明来源哦~
(๑•̀ㅂ•́)و✧ヽ(✿゚▽゚)ノ(*^▽^*) φ(≧ω≦*)♪
如果本文对你有用,本人不胜欢喜。
The world is your oyster.