i春秋第二屆春秋歡樂賽CryMisc題目WriteUp
阿新 • • 發佈:2019-01-06
CryMisc__writeup
把CryMisc.zip解密後得到crypto.zip和jiami.py,crypto.zip是被加密過的,而jiami.py則是加密指令碼,
其中密碼是隨機的15位字元的md5值,基本不可能爆破,而這裡是使用本身這個jiami.py和gogogo.zip一起加密成crypto.zip,這裡就存在著zip的明文攻擊,用winrar(不能用7zip或者好壓)把jiami.py壓縮成jiami.zip,使用archpr選擇“明文攻擊”
因為密碼長度過長,導致無法直接獲取到,但是點選“確定”可以另存為已經解密好的crypto_decrypted.zip,解壓其中的gogogo.zip得到AESencrypt.py、AES.encryt、RSA.encrypt,其中AESencrypt.py內容是模仿勒索軟體,先AES加密,然後把key通過RSA進行加密。這裡RSA檔案只需要先分解即可,直接上指令碼。
執行後可以得到AES的key為copy__white__key(這裡也是稍微給後面的解密一點提示)、得到next.zip,解壓後得到encrypt.py、first、second,其中encrypt.py就是對flag.jpg檔案進行zip處理為2個檔案。只要熟悉python程式碼,寫個解密程式碼很簡單。
得到flag.jpg
這裡我為了容易做,使用了一張flag的百度百科上面的圖片,如果可以細心的看到圖片左下角的百度百科字樣,去下載原圖,然後對比後發現flag.jpg後面多出的資料其實是一個psd檔案(原理是用copy命令把jpg檔案和psd檔案合併在一起)
也可以通過8BPS頭和8BIM字樣推測是psd檔案,用photoshop開啟
最頂層的文字是假的,這裡關鍵在於鎖定的“背景”層,看似是新建圖片時所留下的預設背景圖,而本題就是把flag隱藏在裡面,把上面2層隱藏掉,然後對背景色另存為png格式(這樣才能完好的保留顏色),使用stegsolve開啟,並按下向左的按鈕
就呈現出一幅二維碼,掃描就得到flag{409d7b1e-3932-11e7-b58c-6807154a58cf}
這圖的原理是前景色為(255,255,254),人眼無法識別它跟白色的區別,而如果使用photoshop的油漆桶填充的時候,注意把預設的容差32改為容差0才可以看出區別。