靶场 | 8 分钟
Bugku Misc 刷题记录
一月 14, 2026
Misc

签到题

flag{BugKu-Sec-pwn!}

这是一张单纯的图片

十六进制打开,在最后有&#字符,Unicode解码

linux

解压到最后有个flag文件,无法执行,Die打开,点击字符串,里面就有flag字符串。使用cat flag也能看到字符串

富强民主

社会核心价值观解码

隐写

评论都在随波逐流一把梭,确实牛逼,自动生成宽高修复的图片。还是研究一下吧

第二行,前四个字节是宽,后四个是高

telnet

追踪TCP流直接显示了

眼见非实

pk头,改zip,编辑器打开文件夹,搜索flag就有了

多种方法解决

KEY.exe是个图片的base64文本,type就能看,然后贴到浏览器地址栏,就有图片,扫一下就行

Linux2

Die看下字符串就有了

easy_nbt

我的世界的存档,看起来麻烦,那个level.dat file发现是gzip,然后解压,有个level,搜字符串就有

又一张图片,还单纯吗

stegsolve的frame browser可以直接看,foremost也能分离,但是kali没有预装

宽带信息泄露

这题应该算IOT吧,路由配置文件,离线不好做,要去:IoT配置文件分析工具

下载下来,发现是个xml,搜索username就行

flag{053700357621}

闪的好快

看到标题我就知道帧解析,但是18张图一个个扫真无聊

SYC{F1aSh_so_f4sT}

逆向入门

跟上面那个“多种方法解决”一模一样

请攻击这个压缩包

选择明文攻击

这篇说的很详细:ZIP已知明文攻击深入利用

利用png头作为明文进行爆破密钥,然后用密钥解密

所以命令是:

cmd
 1bkcrack.exe -C "C:\Users\Tajang\Desktop\file (1).zip" -c flag.png -p "C:\Users\Tajang\Desktop\file\2.png"
 2bkcrack 1.8.1 - 2025-10-25
 3[04:23:37] Z reduction using 9 bytes of known plaintext
 4100.0 % (9 / 9)
 5[04:23:38] Attack on 756025 Z values at index 6
 6Keys: 92802c24 9955f8d6 65c652b8
 715.3 % (115404 / 756025)
 8Found a solution. Stopping.
 9You may resume the attack with the option: --continue-attack 115404
10[04:24:27] Keys
1192802c24 9955f8d6 65c652b8

其中-C是加密压缩包,-c是里面的文件,-p是指定明文或明文文件,爆破出密钥后:

cmd
1bkcrack.exe -C "C:\Users\Tajang\Desktop\file (1).zip" -c flag.png -k 92802c24 9955f8d6 65c652b8 -d flag.png
2bkcrack 1.8.1 - 2025-10-25
3[04:24:48] Writing deciphered data flag.png
4Wrote deciphered data (not compressed).

这里就是成功写入一个flag.png

打开看就是flag:BugKu{不是非得两个文件你才能明文攻击}

隐写3

随波逐流一把梭:flag{He1l0_d4_ba1}

PNG 是按行存储的,修改高度只是“多读了几行”,而修改宽度则彻底打乱了“每一行的开头”,所以直接改高

zip伪加密

**中央目录区 (CD)**的特征码是50 4B 01 02,修改这个区域内的一个特殊位就能让压缩软件认为是加密的

距离50的第八个字节就是这个特殊字节,改成奇数就是加密的,偶数就能还原成未加密

150 4B 01 02 1F 00 14 00 09 00
250 4B 01 02 1F 00 14 00 08 00

如果不行的话,开头是50 4B 03 04的,也要改后面的

150 4B 03 04 14 00 09 00
250 4B 03 04 14 00 08 00

再不行就改00

神秘的文件

压缩包里有logo.png,外面也有一个,明文攻击

但是这里明文攻击要压缩logo.png,因为明文攻击是通过对比“一段已知的加密字节”和“一段对应的未加密字节”,来反推加密密钥。

明文攻击的必要条件

  1. 文件一致:明文文件必须与加密包里的某个文件完全一模一样(CRC32 值必须相同)。
  2. 算法一致:明文包必须使用与加密包相同的压缩算法(通常是 Deflate)。
  3. 结构一致:这也是为什么要你提供一个 .zip 文件的原因,因为工具需要从这个明文 ZIP 里的 Local File Header 提取压缩参数。

由于这里用win自带的zip压缩爆破失败,用winrar可以。

爆破出密码是:q1w2e3r4

解压出docx文件,打开没什么东西,拖进die,查看字符串,发现docProps/flag.txt

所以改后缀为zip,解压进去找这个文件,文件里面是个base64的

flag{d0cX_1s_ziP_file}

split_all

首先文件打不开,看到文件头是PNG,后面又有89a,可以想到文件上传时候的GIF89a,这里就把89a对应的38 39 61之前的字节全部删除,补上GIF的47 49 46,然后另存为gif文件就行

拉进随波逐流里面逐帧分解,拉一张图片进去,点击随波逐流横向拼接图片,就会自动拼接所有

flag{9f019c27eca746beb9c297cd70bf93ca}

薛定谔的猫

跟描述一样,什么都不做

把注释里的python脚本写在本地,运行一下,密码是空,敲一下回车就行

图穷匕见

010打开发现后面大量字符,应该是16进制拼接到png的,复制下来转字符

是一大堆坐标,随波逐流里面有这个坐标转图片的模块,随波逐流不会就是照着bugku开发的吧

1和0的故事

1和0代表二维码的色块,1是黑块,要手动补二维码的三个角

但随波逐流的图片菜单里面有个JS:QRazyBox二维码解码,就直接导入