GUET-CTF2019/BUUCTF-Misc:虚假的压缩包
有一个虚假的压缩包.zip和一个真实的压缩包.zip
其中虚假的压缩包是伪加密,打开内容如下:
数学题 n = 33 e = 3 解26 ------------------------- 答案是
有n有e,一看就是普通的rsa,梭一哈:
import gmpy2 p = 3 q = 11 e = 0x3 c = 26 n = 33 s = (p- 1) * (q - 1) d = gmpy2.invert(e,s) m = pow(c,d,n) print pow(c, d, n)
运行后得到5。
这里就脑洞了(ORZ...,得到压缩密码是:答案是5
解压压缩包,虽然显示是jpg,但是用010editor看文件头很容易分辨出是png。
修改图片的高度:
提示和5异或:
original = open("亦真亦假",'r').read() flag = open("flag",'w') for i in original: tmp = int(i,16)^5 flag.write(hex(tmp)[2:])
运行后得到一大串十六进制,开头是504b0304,HEX→ASCII,保存为zip。
打开后是这样的:
涉及到一个知识点:doc文件本身也是一种zip。这个很明显是word文档,修改后缀为doc。
打开后全选,颜色替换为深色在结尾可以看到flag。