红包题第一弹

news/2024/5/20 0:05:53 标签: linux, 运维, 服务器, CTF, MISC, CTF.show

下载附件,发现有86个压缩包

现每个压缩包里面都有图片,010打开图片末尾都有base64部分,并且每个压缩包里面图片末尾的base64长度一样,刚好每一张的base64长度为100。猜测需要拼接起来然后解码

写个python脚本

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

 flag{gif_is_so_easy}

参考链接:你终于回来了(。・∀・)ノ (cnblogs.com)

有点菜

勿喷!!!!


http://www.niftyadmin.cn/n/5419073.html

相关文章

Scalable Diffusion Models with Transformers(DiTs)论文阅读 -- 文生视频Sora模型基础结构DiT

nlpcver 忠于理想 ​关注他 106 人赞同了该文章 文章地址:Scalable Diffusion Models with Transformers 简介 文章提出使用Transformers替换扩散模型中U-Net主干网络,分析发现,这种Diffusion Transformers(DiTs&#xff09…

微信小程序-wxml语法

介绍 WXML&#xff08;WeiXin Markup Language&#xff09;是框架设计的一套标签语言&#xff0c;可以进行页面布局&#xff0c;声明事件&#xff0c;数据绑定&#xff0c;条件判断。 语法 数据绑定 <view> {{message}} </view>// page.js Page({data: { // 状态…

react组件中svg的放置位置,是放到组件文件夹,还是放置到统一管理的地方

在React项目中&#xff0c;SVG的放置位置主要取决于你的项目规模和团队习惯。下面是一些常见的做法和考虑因素&#xff1a; 1、组件文件夹内&#xff1a; 优点&#xff1a;SVG与组件紧密相关&#xff0c;方便查看和修改。 缺点&#xff1a;如果多个组件使用相同的SVG&#xf…

python-三引号去除缩进

在Python中&#xff0c;三引号用于表示多行字符串或文档注释。三引号内的文本可以包含任何字符&#xff0c;包括换行符和引号。在使用三引号表示多行字符串时&#xff0c;Python会将三引号中的所有内容作为一个字符串处理。 缩进是Python中非常重要的一个概念&#xff0c;它用…

Java中交集、并集、差集、补集

一、交集 //交集Testpublic void intersection(){//向集合中添加元素ArrayList<String> datas new ArrayList<>();Collections.addAll(datas, "张三", "李四", "王五", "赵六");//向集合中添加元素ArrayList<String&…

基于springboot实现大学生兼职网站系统项目【项目源码+论文说明】

基于springboot实现大学生兼职系统演示 摘要 现代化的市场中&#xff0c;人们日常的工作、生活都在不断的提速&#xff0c;而人们在工作与生活中与互联网的结合也越来越紧密&#xff0c;通过与互联网紧密的结合可以更好地实现日常工作的线上化、信息化、便捷化。现如今的各行各…

js之call、apply、bind

三者均用于修改this指向&#xff0c;即修改上下文&#xff0c;三者主要区别是传参和执行时机 1、call function car(){//此处this指向全局windowconsole.log(汽车已经行驶了${this.speed}公里); }let tank800 {speed: 10000 } //把car函数的this指向由全局切换到tank800&…

【开发工具】认识Git | 认识工作区、暂存区、版本库

文章目录 一、Git初识git本质上是一个版本控制器 二、Git的安装 - CentOS三、Git基本操作1. 创建Git本地仓库2. 配置Git3. 认识工作区、暂存区、版本库4. 版本回退5. 撤销修改情况1&#xff1a;对于工作区的代码&#xff0c;还没有add情况二&#xff1a;已经add &#xff0c;但…