BJDCTF 2nd--TARGZ

審題,tar沒用,不需要爆破

下載附件得到tar.gz壓縮包

查看16進制的時候發現是PK的頭,對應的題目的提示tar不好使(就是不tar壓縮的)

那麼解壓密碼既然不用爆破,16頭尾也沒啥發現就試試用文件名去解壓

發現可以解壓但是得到的還是壓縮包,繼續重複操作...

當時我解了半小時(時間沉dedao默成本導致...)一直以爲下一個就出了..

累了去水水羣吐槽,這是什麼千層餅..很快得到出題人的回覆

行吧上腳本

import zipfile
import os
import re
#不知道爲啥zip加了close還是提示正在操作,便無法邊解壓邊刪上個壓縮包,有解決方法請師傅不吝賜教
def del_old_zip(file_path):
    os.remove(file_path)

def un_rar(file_name,pwd=None):
    try:
        zip = zipfile.ZipFile(file_name)
        zip.extractall(pwd=pwd.encode())
        zip.close()
    except Exception as e :
        print(e)
        print('Fail:'+file_name)
        return False
    else:
        print('Success')
        return True

def listdir():  
    file_dir="C://Users/Administrator/Desktop/buuoj/"
    list_= [i for i in os.listdir(file_dir) if 'gz'in i]
    list_.sort(key=lambda fn: os.path.getmtime(file_dir+fn) if not os.path.isdir(file_dir+fn) else 0)
    return list_[-1]

if __name__ == '__main__':
    for i in range(300):
        file = r"".join(listdir())
        pwd = file[:-7]
        un_rar(file,pwd)


 

最後解壓出來的就是flag

-----------------------------------------------------------------我是分割線--------------------------------------------------------------

 

看完了覺得不錯就點個贊或者評論下吧,感謝!!!

如果本文哪裏有誤隨時可以提出了,收到會盡快更正的

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章