ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Writeup 4 强网杯 2019 强网先锋打野

Writeup 4 强网杯 2019 强网先锋打野 Writeup 4 强网杯 2019 强网先锋打野题目信息题目名称强网先锋打野所属赛事强网杯 2019题目类型Misc隐写分值0一血大方子解决人数1828Flag 格式qwxf{}题目提示你了解 CTF 圈的实时动态么解题思路概述这是一道经典的图片 LSB 隐写Least Significant Bit Steganography题目。核心思路附件解压后得到一张 BMP 图片使用zsteg工具扫描图片的 LSB 数据直接在输出中找到明文 flag详细解题步骤第一步检查附件附件解压后得到瞅啥.bmprootRambo:/瞅啥# file 瞅啥.bmp输出瞅啥.bmp: PC bitmap, Windows 3.x format, 1224 x 689 x 24, image size 2530010, resolution 2834 x 2834 px/m, cbSize 2530064, bits offset 54 rootRambo:/瞅啥#关键信息格式BMPWindows 3.x尺寸1224 × 689位深24 位RGB 三通道每通道 8 位为什么 24 位 BMP 适合 LSB 隐写每个像素有 R、G、B 三个通道每个通道有 8 位可以修改最低位LSB而不影响视觉24 位 BMP 的 LSB 可以藏大量数据第二步安装zstegzsteg是 Ruby 编写的 PNG/BMP LSB 隐写检测工具aptinstallruby ruby-dev-ygeminstallzsteg第三步运行zstegrootRambo:/瞅啥# zsteg 瞅啥.bmp输出[?] 2 bytes of extra data after image end (IEND), offset 0x269b0e extradata:0 .. [\x00 repeated 2 times] imagedata .. file: OpenPGP Public Key b1,lsb,bY .. wbStego size0x78 ext\x00\x8E\xEE data\x1Ef\xDE\x9E\xF6\xAE\xFA\xCE\x86\x9E... evenfalse hdrnil encnil mixnil controlbytenil b1,msb,bY .. text: qwxf{you_say_chick_beautiful?} b2,msb,bY .. text: i2,C8k0. b4,msb,bY .. file: OpenPGP Public Key b2,r,lsb,xY .. text: UUUUUU9VUUUUUUUUUUUUUUUUUUUUUU b2,g,msb,xY .. text: [U repeated 22 times] b2,b,lsb,xY .. text: [U repeated 10 times] b3,g,msb,xY .. text: V9XDR\\d b4,r,lsb,xY .. text: 222\#33\#33\#33\3222333\3#321 b4,g,lsb,xY .. text: 3\\\\\3###33##3#UDUEEEEEDDUETEDEDDUEEDTEEEUT#! b4,g,msb,xY .. text: \\\\\\\\\\\\\\\\\\\\DDDDDDDDDDDD\\\\DDDDDDDDDDDD*LD b4,b,lsb,xY .. text: gfffffvwgwfgwwfw rootRambo:/瞅啥#第四步提取 flag在输出中直接找到b1,msb,bY .. text: qwxf{you_say_chick_beautiful?}Flagqwxf{you_say_chick_beautiful?}zsteg输出解读zsteg会尝试各种 LSB 组合每行的格式是通道,位序,扫描顺序 .. 数据类型: 内容字段含义示例b1第 1 个颜色通道通常是 Rb1, b2, b3, b4lsb/msb最低有效位 / 最高有效位b1,lsb表示 R 通道的 LSBbY按位 Y 顺序扫描bY、xY等text:检测到可读文本text: qwxf{...}file:检测到文件特征file: OpenPGP Public Key本题关键行b1,msb,bY .. text: qwxf{you_say_chick_beautiful?}b1第 1 个颜色通道R 通道msb最高有效位Most Significant BitbY按位 Y 顺序关键工具zsteg什么是zstegzsteg是一个PNG/BMP 隐写检测工具用 Ruby 编写专门用于检测图片中的 LSB 隐写数据。常用命令# 基本扫描zsteg image.png# 扫描所有可能的组合更全面但更慢zsteg-aimage.png# 只看 text 类型的结果zsteg image.png|greptext:# 搜索特定字符串zsteg image.png|grep-iflag\|qwxf\|ctf支持的格式PNG主要支持BMP支持其他格式部分支持安装方法# Ubuntu/Debianaptinstallruby ruby-dev-ygeminstallzsteg# 或者用 Dockerdockerrun-it--rm-v$(pwd):/data zsteg /data/image.png关于题目提示题目提示“你了解 CTF 圈的实时动态么”这个提示是干扰项玩的是 2019 年强网杯期间流行的“蔡徐坤打篮球”梗附件图片是蔡徐坤的照片Flag 内容you_say_chick_beautiful?也是这个梗的延续但真正的解题关键是zsteg工具与提示无关CTF 题目中常见的干扰项与题目无关的提示故意误导的线索需要结合“实时动态”梗、新闻才能理解的提示这类题目的通常解题思路 图片隐写类题目核心思想flag 藏在图片的像素数据里而不是文件内容里。常见隐写方式方式工具说明LSB 隐写zsteg、stegsolve修改像素最低位MSB 隐写zsteg修改像素最高位颜色通道隐写stegsolve在单个颜色通道藏数据Alpha 通道隐写stegsolve在透明度通道藏数据EXIF 隐写exiftool在图片元数据藏数据文件附加binwalk、foremost在图片末尾附加文件DCT 隐写steghide、outguess在 JPEG 频域藏数据调色板隐写stegsolve在 GIF/PNG 调色板藏数据 通用解题流程检查文件类型file image.bmp检查元数据exiftool image.bmp检查文件附加binwalk image.bmp搜索字符串strings image.bmp | grep -i flag\|ctfLSB 扫描zsteg image.bmpPNG/BMPJPEG 隐写steghide extract -sf image.jpg可视化分析stegsolve image.png尝试密码如果有密码提示用steghide或outguess 本题的关键技巧不要被提示误导“你了解 CTF 圈的实时动态么”是干扰项先试zstegBMP/PNG 图片先跑zsteg它会自动尝试各种 LSB 组合看text:行zsteg输出中text:后面是可读字符串直接找 flag-a参数如果基本扫描没结果用-a扫描所有组合最终 Flagqwxf{you_say_chick_beautiful?}附录完整命令序列# 1. 检查文件类型file瞅啥.bmp# 2. 安装 zstegaptinstallruby ruby-dev-ygeminstallzsteg# 3. 运行 zstegzsteg 瞅啥.bmp# 4. 找到 flag# b1,msb,bY .. text: qwxf{you_say_chick_beautiful?}总结题目强网杯 2019 强网先锋打野类型Misc / 图片隐写关键工具zsteg解题关键附件是 24 位 BMP 图片用zsteg扫描 LSB在b1,msb,bY通道找到明文 flag提示“你了解 CTF 圈的实时动态么”是干扰项蔡徐坤梗Flagqwxf{you_say_chick_beautiful?}经验总结BMP/PNG 图片隐写先试zsteg不要被题目提示误导直接看工具输出zsteg的text:行是 flag 最常出现的地方Rambo2026年10月02日
返回列表