🍒一、png文件基础
🥝1.啥是png
PNG (Portable Network Graphics) 文件格式是一种用于在线图像的常用格式。它是由可移植网络图形工作组 (PNG Working Group) 在 1996 年制定的,旨在作为 GIF 格式的替代品。(百度扒的,简单聊了解一下下)
PNG 文件有以下一些优点:
- 无损压缩: PNG 文件使用无损压缩算法,即不会损失图像质量,而且图像尺寸会变小(无损啊!!!!)
- 透明度支持: PNG 文件支持透明度,可以设置图像中不透明部分的透明度。
- 多色深支持: PNG 文件支持多色深,可以使用 24 位和 32 位的颜色精度来存储图像。
PNG 文件的常用应用场景包括网页设计、设计、印刷、图形处理等,在 CTF 中 PNG 文件也经常作为隐写或隐藏信息的载体。
🥝2.png文件的结构
PNG文件的结构是由一系列的"块(chunks)"组成的,每个块都由头部信息和数据组成。PNG文件从上到下由块组成,它们以下顺序出现:
- PNG 头
- IHDR块: 该块包含了图像的基本信息
- PLTE块(可选): 该块包含了图像的调色板
- IDAT块: 该块包含了图像的数据
- tRNS块(可选):该块包含了透明度信息
- gAMA块(可选):该块包含了图像的 gamma 信息
- IEND块: PNG文件的结尾块
每个块的头部信息包括块的长度,块的类型和块的校验和。这些块的组合非常重要,它们构成了一个有效的 PNG 文件。而在 CTF 中这些块中的信息也可能隐藏了某些有用信息,这就是为什么我们需要对每个块进行详细的分析。
大致了解一下,详细内容看一下PNG文件格式详解。
🍒二、CTF中png文件处理的大致流程
这个的话可以根据自己的经验,分享一下自己的吧。
🥝1.用winhex打开,判断文件格式是否篡改,检查png的文件头和文件尾,文件格式是否正常
PNG文件头(hex):89 50 4e 47 0d 0a 1a 0a
PNG文件尾(hex): 00 00 00 00 49 45 4E 44 AE 42 60 82
🥝2.检查 PNG 文件是否完整
使用工具如 PNGcheck 或 pngtools 。如果文件不完整,则可能需要修复或重新下载。
🥝3.检查 PNG 文件中是否有隐藏信息
使用工具如 steghide 或 Stegsolve 。如果有隐藏信息,则需要提取并解密。
🥝4.检查 PNG 文件的元数据
使用工具如 exiftool 或 pngmeta 。元数据可能包含有用的信息。
🥝5.检查 PNG 文件的像素值
使用工具如 GIMP 或 Photoshop 。像素值可能包含有用的信息。
🥝6.检查 PNG 文件是否经过变换
使用工具如 F5 或 OutGuess 。如果图像被变换过,则需要还原图像。
🥝7.检查 PNG 文件中是否有水印
使用工具如 Imagemagick 或 Matlab 。如果有水印,则需要去除水印。
🥝8.检查 PNG 文件是否经过重构
使用工具如 Pngrewrite 或 OptiPNG 。如果图像经过重构,则可能需要分析重构过程。
🥝9.检查 PNG 文件是否经过压缩
使用工具如 zlib 或 PNGOUT
🥝10.检查 PNG 文件是否经过加密
使用工具如 Steghide 或 OpenStego 。如果图像经过加密,则可能需要破解密码解密。
🥝11.检查 PNG 文件中是否有零宽字符或其他特殊字符
使用工具如 ZeroWidth 或 Zerobin 。如果有这些特殊字符,则需要进行提取和解密。
需要注意的是,每道题目都有其独特的性质,所以处理的方法也会不同。 你需要根据具体情况来进行分析,可能需要结合多种方法才能完成解题.
未完~
版权归原作者 白花前胡ovo 所有, 如有侵权,请联系我们删除。