>
>
CTF show 红包题第一弹
_yu_
题目地址:https://ctf.show
解压缩压缩包得到如下文件
每个压缩包中都存在一张图片,用010editor打开第一张图片,在二进制的最后发现了base64
依次打开第二第三张图片,均存在base64,猜测每一张图片中均存在部分base64片段为,刚好每一张的base64长度为100。接下来就是去将所有的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()
最后得到一张图片的base64编码。
把得到的base64编码放入 https://feling.net/base64/
获得二维码图片,扫码得flag。
如有错误或者更好的方法欢迎在留言中提出。
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论