CTF新手通关指南:TweakPNG破解PNG隐写全攻略
第一次参加CTF比赛时,面对MISC题目里那张看似普通的PNG图片,我盯着屏幕发呆了半小时——明明知道里面有flag,却怎么也找不到入口。直到前辈扔给我一个叫TweakPNG的小工具,才恍然大悟原来图片隐写可以这么玩。本文将带你从零开始,用TweakPNG这把"瑞士军刀"解剖PNG文件,建立系统的隐写分析思维。
1. 认识PNG隐写的技术本质
PNG文件就像个精密的集装箱,由多个被称为"数据块"(chunk)的单元组成。每个块都有明确的职责分工:
- IHDR块 :存储图片宽高、色深等元数据
- PLTE块 :定义调色板(仅索引彩色图像需要)
- IDAT块 :承载实际的图像像素数据
- IEND块 :标记文件结束
隐写者常在这几个地方动手脚:
- 异常块顺序 :比如本该连续的IDAT块中间插入了其他类型块
- 篡改宽高 :IHDR中声明的尺寸与实际像素数据不匹配
- 隐藏数据块 :插入自定义的非标准块(如tEXt、zTXt)
- LSB隐写 :修改像素最低有效位存储信息(需要其他工具检测)
# PNG文件结构示例
89 50 4E 47 0D 0A 1A 0A # 文件头签名
00 00 00 0D 49 48 44 52 # IHDR块(13字节数据)
00 00 01 00 00 00 01 00 # 宽256px × 高256px
...
49 45 4E 44 AE 42 60 82 # IEND块

&spm=1001.2101.3001.5002&articleId=97158293&d=1&t=3&u=4e20071f8e954047be258180810aa662)
2334

被折叠的 条评论
为什么被折叠?



