ctfshow-misc入门

Posted on 2025-07-05 15:48  月牙骨  阅读(58)  评论(0)    收藏  举报

隐写分析建议:
如果怀疑存在隐写
1使用工具检查:
☐ StegSolve
☐ zsteg
☐ binwalk
2查看IDAT 块是否有异常数据
3检查文件末尾是否有附加数据

使用010Editor修改BMP宽度:
1打开文件
2按ctrl+G(跳转偏移量),输入12(即0x12),跳转宽度字段
3修改4字节(小端序)
(950):B6 03 00 00
4按ctrl+s保存文件
0x12:biWidth
0x16:biHeight
0x22:biSizeImage

CRC(循环冗余校验)
原理:通过数学算法(多项式除法)生成一个固定长度的校验值(如4字节 CRC-32)
作用:用于检测数据传输或存储过程中的错误,如文件篡改,传输损坏

大端序
定义:数据在内存或文件中的存储方式,高位字节在前,低位字节在后
数据完整性校验修改内容后必须更新

小段序
低位自节在前,高位字节在后
无需调整CRC

大端序是按顺序写(最高有效字节在前),小端序反过来写(最低有效字节在前)

为什么bmp用小段序?
历史原因:bmp格式由WINDOWS系统主导设计,而intel X86/X64处理器采用小端序,因此bmp沿用这一规范
性能优化:小端序在X86架构上读取效率更高(CPU直接支持)

为什么png用大端序?
网络协议惯例:png设计时遵循网络传输标准(大段序是早期主流)
跨平台一致性:避免不同系统解析错误

IHDR
在png文件中,IHDR是第一个数据块,位于文件头(89 50 4E 47 0D 0A 1A 0A)之后
作用:定义图像基本属性:宽度,高度,颜色模式等
确保数据完整性:CRC校验防止数据被篡改
影响解码方式:如位深度决定颜色精度,隔行扫描影响加载方式

如何查看修改IHDR
1.使用01 0 Editor查看
打开png文件搜索Hex值(49 48 44 52)
2.修改IHDR宽度高度
定位IHDR块:找到(49 48 44 52)
修改宽高(大端序存储)
宽度4字节如(00 00 04 14)(1044)
高度4字节如(00 00 00 96)(150)
更新CRC:重新计算IHDR块的CRC-32,覆盖末尾四字节
为什么修改iIHDR后要更新CRC?
CRC校验机制:png解码器会检查IHDR的CRC,若与数据不匹配,会报错“CRC验失败”

Steghide和Stegseek都是用于隐写术(Steganography)的工具,但它们的功能和用途有所不同。
Steghide:
定义:Steghide 是一个开源的隐写术工具,用于将数据隐藏在图像或音频文件中。
功能:它可以将秘密信息嵌入到支持的文件格式(如PNG, BMP, WAV, AU)中,而不会显著改变文件的外观或听觉效果。
使用:用户需要提供一个载体文件(如图片)和一个要隐藏的秘密文件。Steghide 会使用各种算法将秘密文件嵌入到载体文件中。
安全性:它支持使用密码来保护隐藏的数据,确保只有知道密码的人才能提取隐藏的信息。
Stegseek:
定义:Stegseek 是一个用于攻击由 Steghide 隐藏数据的工具。它本质上是一个针对 Steghide 的密码破解工具。
功能:Stegseek 可以对由 Steghide 处理的文件进行密码猜测,试图恢复隐藏在文件中的数据,而无需知道原始密码。
使用:用户提供一个由 Steghide 处理的文件,Stegseek 会尝试使用字典攻击或其他方法来猜测密码并提取隐藏的数据。
目的:这个工具主要用于安全研究和测试,帮助用户了解隐写术的潜在风险和如何加强保护。

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3