1. 程式人生 > 其它 >ctfshow-紅包題第一彈

ctfshow-紅包題第一彈

下載地址https://www.lanzoui.com/i98rs2j

開啟之後是好多的壓縮包,每個壓縮包裡面都有一張圖片

用010開啟前幾個圖片,發現末尾都存在base64密文

估計每個圖片的末尾都有base64密文。使用指令碼將他們連線在一起

import os
import zipfile

def zips():  #處理壓縮包
    for i in range(1,87):
        zip_file = zipfile.ZipFile(str(i)+'.zip')
        zip_list = zip_file.namelist()  #獲取壓縮包中的檔案
        for
f in zip_list: zip_file.extract(f, './a') #將壓縮檔案放入‘a’資料夾下 zip_file.close() def base(): #處理圖片中的base64 flag="" for i in range(1,87): path ="a/"+ str(i)+".jpg" num = os.path.getsize(path) #獲取圖片的大小 f = open(path,'rb') f.seek(int(num)-100) s
= f.read(100) #讀取最後100個位元組 flag+=bytes.decode(s) f.close() f1 = open('flag.txt','w') f1.write(flag) if __name__=="__main__": zips() base()

得到flag.txt

將記事本中的內容複製到 base64轉圖片的網站中

https://feling.net/base64/

掃描二維碼得到flag

flag

flag{gif_is_so_easy}