当前位置: 首页 > news >正文

攻防世界-Mysterious-GIF

⭕、知识点

1、binwalk数字取证/二进制数据隐写
2、GIF注释扩展/GIF文件结构
3、python脚本编写/批量解压缩/命令行
4、openssl工具/非对称解密
5、JPG文件格式

一、题目

image

一个GIF图片
image

二、解题

1、右键查看属性无信息

2、观察GIF没有隐藏帧,拆帧26帧没有新发现

3、foremost提出一个压缩包00005125.zip
解压一次得到temp.zip 111kB
解压temp.zip得到partaa.enc 1kB

明显不对劲,解压出来的文件反而比压缩包小很多

4、temp.zip丢进010看一下
image
发现是通过在压缩包末尾添加冗余数据实现多个压缩包嵌套隐写

压缩包1-压缩包2-压缩包3....
而且通过查看器可以看出每个压缩包里都有个partxx.enc,应该是加密文件

5、编写脚本把temp.zip里的所有隐写压缩包提取出来

脚本和压缩包temp.zip放在一起

pos = []
start_idx = 0
with open("temp.zip","rb") as f:data = f.read()while(1):idx = data.find(b"\x50\x4b\x03\x04", start_idx)if idx == -1:breakpos.append(idx)start_idx = idx +1print(pos)pkg_num = len(pos)print(pkg_num)for i in range(pkg_num):with open(f"pkg{i}.zip","wb") as f:if i < pkg_num - 1:f.write(data[pos[i]:pos[i+1]])else:f.write(data[pos[i]:])

6、批量解压文件

import zipfile
import os
name_lists = os.listdir()
for name in name_lists:if name.endswith('.zip'):with zipfile.ZipFile(name) as zf:zf.extractall(".")

得到一堆enc后缀的文件,应该是加密过的,需要找到密钥解密

6、【这一步是看wp学到的】GIF格式下可能有注释块,单凭windows的属性-详细信息是看不到的
identify -format "%c" 382e5c74bb7b4214ac6b855e503a56b9.gif > hex 查看有没有注释信息
image

得到HEX数据,转文本得一串base64字符串
image

这个就是密钥

7、使用openssl解密

先要把密钥改为PCK8封装格式,加上首尾即可

with open("k","r") as f:with open("key","w") as k:k.write("-----BEGIN PRIVATE KEY-----\n")k.write(f.read())k.write("\n-----END PRIVATE KEY-----")

8、尝试解密一个enc发现有是JFIF,但只要一小部分,应该是需要把所有的解密然后拼接成jpg

9、批量解密数据并组合成jpg

import os
with open("flag","wb") as f:for name in os.listdir():if name.endswith('.enc'):out_name = name[:-4]os.system(f"openssl pkeyutl -decrypt -in {name} -inkey key -out {out_name}")with open(out_name,'rb') as o:f.write(o.read())

把flag改名为flag.jpg,打开得到flag
image

三、答案

FelicityIsFun

四、总结

学到了GIF注释块信息的提取办法

http://www.jsqmd.com/news/342468/

相关文章:

  • 软考中项(软件评测师)——第一节 计算机系统的基础组成
  • links
  • 咕噜分发——APP图标在线制作
  • 完整教程:《网络安全法》2025版与2016版对比分析
  • 高压反应釜:选型指南、优质厂家与行业发展新态势 - 品牌推荐大师
  • JAVA理发预约系统,同城服务一键约起
  • 《刺猬索尼克3》幕后技术解析:MARZA 如何通过 Flow Production Tracking 与 Arnold 打造高效 CG 制作流程
  • 磁力反应釜选购指南:优质品牌推荐与选型攻略 - 品牌推荐大师
  • 计算机PHP毕设实战-基于php+vue的动物救助网站的设计与实现基于php+vue.js流浪动物宠物领养公益网站【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • FastReport TableCell 根据内容自动撑高
  • 小程序商城开发要点解析:从核心架构到关键功能模块
  • 2026年IP主题风格潮玩馆装修规划:TOP5必备要点 - 品牌企业推荐师(官方)
  • 2026西安酒店翻新避坑指南:3家正规酒店家具工厂,适配装修设计无压力 - 朴素的承诺
  • 主流小程序开发平台梳理与对比分析
  • 2026年液冷系统/进口制冷设备厂家深度测评:定制化能力、技术优势全解析 - 品牌推荐大师
  • MIT-6-S094-深度学习自动驾驶笔记-全-
  • 生成式引擎优化GEO崛起:企业营销新焦点与四大核心策略
  • 全网热议!2026年单北斗GNSS变形监测水库应用TOP榜单推荐
  • RWKV-原理笔记-全-
  • 2026年正规的西安酒店家具厂家选购与推荐 - 朴素的承诺
  • 2026年 二手蒸发器/干燥机/压滤机/离心机/反应釜厂家回收推荐榜:专业设备上门回收,高效环保助力企业降本增效 - 品牌企业推荐师(官方)
  • 2026年评价高的企业数据公司推荐:风控系统、风控解决方案、实时风控、数据分析、数据升级、数据合规、数据安全、数据数字化选择指南 - 优质品牌商家
  • Java 中常用设计模式
  • 2026年GEO源码搭建/GEO贴牌代理推荐排行怎么联系 - 源码云科技
  • Nodejs计算机毕设之基于VUE的时事新闻管理系统基于VUE框架的实时新闻推送平台(完整前后端代码+说明文档+LW,调试定制等)
  • 郑州瑞创建材有限公司:中原夯土板领航者,以硬核实力铸就绿色建材标杆 - 朴素的承诺
  • 乐天Rakuten开店:乐天Rakuten跨境店VS本土店?2026实战攻略
  • 第 2 篇|Apache DolphinScheduler 的核心抽象模型
  • 让安全更懂业务:针对垂直行业定制 Llama-Guard 3 守卫模型的微调实战全指南
  • 耐高温水泵生产厂家哪家好?适用于化工、冶金等高温场景吗? - 品牌推荐大师