ctfshow-紅包題第一彈
阿新 • • 發佈:2021-10-15
下載地址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轉圖片的網站中
掃描二維碼得到flag
flag
flag{gif_is_so_easy}