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

-----------------------------------------------------------------我是分割线--------------------------------------------------------------

 

看完了觉得不错就点个赞或者评论下吧,感谢!!!

如果本文哪里有误随时可以提出了,收到会尽快更正的

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值