[GUET-CTF2019]虚假的压缩包 1 得到的 flag 请包上 flag{} 提交。

本文探讨了一个特殊的虚假压缩包问题,该包在360压缩下可直接打开,但在WinRAR中显示为加密。通过分析,发现这实际上是ZIP的伪加密。作者揭示了解压密码为"答案是5",并讨论了可能涉及的RSA算法。进一步,文章揭示了WPS系列文件中隐藏的ZIP头,展示了文件格式的伪装技巧。

拿到压缩包

在这里插入图片描述
里面还有俩。
这个压缩软件就很神奇。
如果用360压缩,这个虚假的压缩包就可以直接打开。
在这里插入图片描述

但是用winrar ,就会显示加密。这个加密实际上就是一个zip伪加密,也是简单的。
在这里插入图片描述

可能是360压缩把一些错误信息给过滤掉了。像是一些文件头错误,360压缩是直接不给显示错误文件的。但是其它的解压软件是显示但打不开。

这是虚假的压缩包里面的内容。看着像是某个加密算法。估计是RSA。

数学题
n = 33
e = 326

-------------------------
答案是

这个整数的数量级很小,直接就可以算出来。也不乐意去求p,q了。

c=26
n=33
e=3

c=pow(m,e,n)


m=5

密码是
那么解压密码就是”答案是5

在这里插入图片描述
在这里插入图片描述
调整图像的大小

在这里插入图片描述
和谁做^5操作呢。
在这里插入图片描述

这个就很像。

import base64

f1 = open('C:\\Users\\brighten\\Desktop\\亦真亦假','r')
xor_data = f1.read()
f1.close()
dec_data = ""
for i in xor_data:
    tmp = int(i,16) ^ 5
    dec_data += hex(tmp)[2:]

print(dec_data)
f2 = open('./data.txt','wb')
f2.write(base64.b16decode(dec_data.upper()))
f2.close()

出现了乱码
在这里插入图片描述
但是这个PK很可以。
保存到zip格式

import base64

f1 = open('C:\\Users\\brighten\\Desktop\\亦真亦假','r')
xor_data = f1.read()
f1.close()
dec_data = ""
for i in xor_data:
    tmp = int(i,16) ^ 5
    dec_data += hex(tmp)[2:]

print(dec_data)
f2 = open('./data.zip','wb')
f2.write(base64.b16decode(dec_data.upper()))
f2.close()

在这里插入图片描述
这个又是word的感觉吧。

import base64

f1 = open('C:\\Users\\brighten\\Desktop\\亦真亦假','r')
xor_data = f1.read()
f1.close()
dec_data = ""
for i in xor_data:
    tmp = int(i,16) ^ 5
    dec_data += hex(tmp)[2:]

print(dec_data)
f2 = open('./data.dox','wb')
f2.write(base64.b16decode(dec_data.upper()))
f2.close()

在这里插入图片描述
哈哈哈哈,要不是我设置了护眼模式还真的被骗过去了。太坏了。

在这里插入图片描述
做出来的结果如图。



思考:

打开一系列的WPS系列的文件,发现这些全部都是PK头的。
那么这些全部都是zip文件呀。好神奇呀。
在这里插入图片描述
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值