[BUUCTF]一路到底

11 篇文章 0 订阅

题目链接

https://buuoj.cn/challenges#%E4%B8%80%E8%B7%AF%E5%88%B0%E5%BA%95

解题过程

在这里插入图片描述
打开题目,有1万多个txt文件,好家伙,真让人头疼。

在这里插入图片描述
在里面找到个start.txt文件,应该是第一个,先打开看看内容吧:

在这里插入图片描述

下一个文件是:a8242a234560a0d3cf121864ee34d7fb.txt,打开看看:

在这里插入图片描述

套路好深呀!冒号前面的数字20555、772代表什么呢,转换下看看吧:

在这里插入图片描述
熟悉吧,原来是zip的文件头。原来每个文件里包含了zip文件的数据(冒号前面的数字)。这么多文件只好用脚本提取数据了

# python3.10
import binascii

path = "files/"
hex_data = ''
next_file = 'start.txt'

while True:
    filename = ''.join([path, next_file])
    try:
        with open(filename, 'r') as f:
            line = f.read()
            idx = line.index(':')
            dec_data = int(line[:idx - 1])
            hex_data += f'{dec_data:04x}'
            next_file = line[-36:]
    except:
        break

zipfile = path + 'flag.zip'
with open(zipfile, 'wb') as ff:
    ff.write(binascii.unhexlify(hex_data))

提取后保存到flag.zip,打开压缩包:

在这里插入图片描述
到这一步确实不容易。还要密码,也不给个提示什么的,怎么破解呀。夜深了,暂时先到这儿吧。

2022年3月13日凌晨

3月14日继续
密码没有头绪,瞎分析吧。统计分析txt文件名:使用了小写字母和数字,大写的只出现一次。使用ARCHPR 4.54破解,范围选“所有小写拉丁文(a-z)”和“所有数字(0-9)”,长度根据以往做题经验,没有提示长度的话一般选6。
试试看吧。

在这里插入图片描述在这里插入图片描述

密码居然找到了:

在这里插入图片描述
解压压缩包,得到一张png图片:

在这里插入图片描述
但是打不开

在这里插入图片描述
用010Editor分析:

在这里插入图片描述
应该是文件头错误,本身是个jpg图片格式。用FF D8 FF E0替换89 50 4E 47,然后另存为jpg文件,看到了flag。

在这里插入图片描述

flag{0c6b489ca956e2fd94dce12be4bf0729}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangjin7356

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值