攻防世界-ecb,_it's_easy_as_123
⭕ 考察内容与参考文献
1、ZIP文件字节格式
2、ECB分组加密特性
【密码算法 之三】分组密码工作模式 (ECB \ CBC \ CFB \ OFB \ CTR \ XTS)浅析
3、BMP文件字节格式
BMP文件格式解析
BMP文件格式详解(BMP file format)
4、图像格式及图像处理
分辨率1080P、2K、4K、8K的含义和区别
5、OpenSSL加密特性
一、题目
二、解题
1、记事本打开发现乱码,不是纯文本,查看Hex dump发现熟悉的文件头504B
,再查看一下加密标志位,发现是无加密
2、修改文件名后缀为.zip直接解压,获得两个文件
文本文件写着
再看看ecb.bmp,发现文件损坏,到这里差不读知道应该要修复bmp才能看到flag
3、查看ecb.bmp文件hex dump
前16字节其实是OpenSLL加密留下的,根据题目信息ECB,可以推测:整个bmp文件采用OpenSSL来进行ECB分组加密,由ECB分组加密特性可知,相同的纯文本块会导致相同的密文,再结合BMP文件字节信息可知,只需要修复被加密后的位图文件头、位图信息头和颜色表内容即可,而位图数据由于采用分组加密方式,尽管内容被加密,但是相同内容的密文都相同,最后也仍然能看出与原图信息相近的内容。
4、先删除前16个字节(前8个字节是OpenSSL标志,后八个字节是Salt随机数)。再用画图软件创建一个4K大小(分辨率3840×2160)的画布
再进行保存
由于题目信息提示对方使用黑白bmp格式,而bmp位深为1或4的图片才会是黑白的,先尝试保存为单色位图
查看hex dump并复制其文件头(位图文件头+位图信息头+颜色表)并替换到ecb.bmp中,发现文件可以打开了
但是什么信息都没有
5、再尝试替换为位深为4bit的bmp文件头,
这下发现可以看到图片中的flag信息了,至此解题结束
这里可以积累一个经验,BMP文件头的标志
三、答案
flag{no_penguin_here}