[GUET-CTF2019]虛假的壓縮包
阿新 • • 發佈:2020-12-21
技術標籤:Misc
[GUET-CTF2019]虛假的壓縮包
開啟後發現兩個壓縮包
在虛假的壓縮包裡發現了key
數學題
n = 33
e = 3
解26
-------------------------
答案是
看網上wp說有偽加密,但360壓縮直接解壓了,阿巴阿巴…
然後就不會了,百度大法好啊。。。
說是看到n和e,聯想到RSA演算法
(1)任意選取兩個不同的大素數p和q計算乘積
(2)任意選取一個大整數e,滿足
,整數e用做加金鑰(注意:e的選取是很容易的,例如,所有大於p和q的素數都可用)
(3)確定的解金鑰d,滿足
,即
是一個任意的整數;所以,若知道e和
,則很容易計算出d;
(4)公開整數n和e,祕密儲存d ;
(5)將明文m(m<n是一個整數)加密成密文c,加密演算法為 [5]
(6)將密文c解密為明文m,解密演算法為
https://baike.baidu.com/item/RSA%E7%AE%97%E6%B3%95/263310?fromtitle=RSA%E5%85%AC%E9%92%A5%E5%AF%86%E7%A0%81&fromid=409740
借用下大佬的指令碼
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,壓縮包密碼為:答案是5 (希望出題人沒事)
得到jpg圖片,但是看檔案頭為png猜測修改圖片高度為FA
得到提示^5,
original = open("亦真亦假",'r').read()
flag = open("flag",'w')
for i in original:
tmp = int(i,16)^5
flag.write(hex(tmp)[2:])
檢視檔案頭可知為zip
涉及到一個知識點:doc檔案本身也是一種zip。這個很明顯是word文件,修改後綴為doc。
flag被設定成了白色,全選修改字型顏色即可
flag:flag{th2_7ru8_2iP}