CTFshow stega10
程序员文章站
2022-05-12 11:59:52
...
感谢ctf show平台提供题目
看一眼这张图片,平淡无奇。
使用010editor工具,查看一下,发现base64密文。
解密后是一个蓝奏云链接。
打开这个蓝奏云链接,我们下载到了一个加密的压缩包。
使用CRC**脚本得到解压密码。
447^*5#)7
下面是python脚本。
import binascii
import string
dic=string.printable
#输入密码文件的CRC码
crcl=[0xF3B61B38,0xF3B61B38,0X6ABF4A82,0X5ED1937E,0X09b9265b,0x84b12bae,0x70659eff,0x90b077e1,0x6abf4a82]
key = ''
for crc in crcl:
for i in dic:
if crc==(binascii.crc32(i)&0xffffffff):
key =key + i
print key
成功解压出来n.png,但却无法打开。
使用010editor查看一下,是怎么回事。
拉到尾部发现,出现了倒叙的PNG。
那么我们知道了,是将图片的结构顺序,按倒序排列了,那么我们只要将它恢复回去就好了。
python脚本:
import re
import binascii
def read_file(filepath):
with open(filepath,'rb') as fp:
content=fp.read();
return content
#以二进制读取图片,并转为16进制
a = read_file('n.png')
hexstr = str(binascii.b2a_hex(a))
hexstr = re.findall("b'(.*?)'",hexstr)[0]
#每俩位分割成列表元素
result = []
result.append(re.findall(r'.{2}', hexstr))
result = result[0]
#按倒序排列,拼接列表为文本
daoxu = result[::-1]
hex= ''
for i in daoxu:
hex +=i
print(hex)
运行之后得到了恢复顺序的16进制。
复制16进制,粘贴为hex形式。
另存为png图片。
扫码得到flag。
结语:
菜鸡的cc师傅,将会持续写出100篇高质量的CTF题目,供大家进行CTF的入门以及进阶,如果觉得文章对您有所帮助,欢迎关注一下cc师傅。
原创文章不易,点个赞再走吧。
上一篇: 攻防世界web高手进阶18(mfw)