CTF Study Note
  • 首页
  • Web
    • 反序列化漏洞(unserialize3)
    • Dedecms V5.7漏洞总结复盘
    • Web源码泄露
  • Misc
    • 流量分析-SMTP图片隐写
    • 流量分析-Telnet特殊字符
    • 记一次misc盲注流量分析
    • 第四届网鼎杯 白虎组 Misc04 WriteUP
  • Crypto
    • 第四届网鼎杯 青龙组 Crypto02 WriteUP
  • games
    • ISCTF2024 WP
    • 2024深育杯 攻防大赛 WP
  • 出题笔记
    • ez_AndroidRe
    • base65536
Powered by GitBook
On this page

Was this helpful?

  1. Misc

第四届网鼎杯 白虎组 Misc04 WriteUP

Previous记一次misc盲注流量分析Next第四届网鼎杯 青龙组 Crypto02 WriteUP

Last updated 6 months ago

Was this helpful?

网鼎杯白虎组的题目强度还是挺大的 这里分享一下过程

1

扫描文件 获取隐藏信息

首先,我们下载附件 得到三个未知文件

使用Binwalk工具扫描文件1

得到以下内容:

其中解压1A5E6.zip得到后半段flag 如下所示

水平翻转(镜像):

2

暴力破解压缩包 获取更多线索

当我们打开另一个压缩包 发现需要解压密码才可以打开

查看压缩包注释!@#QQQ0010flag**** 猜测为压缩包密码线索

其中后四位被隐藏 猜测为纯数字 于是我们尝试爆破

使用Python生成词典:

dictionary
dic = "!@#QQQ0010flag****"

with open("output.txt", "w") as file:
    for i in range(10000):
        rep = dic.replace("****", str(i).zfill(4))
        file.write(rep + "\n")

print("success")

得到以下内容:

output.txt
!@#QQQ0010flag0000
!@#QQQ0010flag0001
!@#QQQ0010flag0002
!@#QQQ0010flag0003
!@#QQQ0010flag0004
!@#QQQ0010flag0005
...
!@#QQQ0010flag9998
!@#QQQ0010flag9999

导入词典 进行暴力破解:

成功得到压缩包密码!@#QQQ0010flag8456

3

修复图片数据 获取flag

解压压缩包 我们得到一张新的图片

通过foremost工具分离 得到新的一张PNG格式图片

打开图片 发现像素点乱码 并且拥有大块空白像素

并且许多常用的处理图片的工具都无法正常打开

猜测图片格式中有数据出错 尝试使用TweakPNG工具打开

发现报错CRC 猜测图片的CRC数据不正确

根据TweakPNG 工具提供的报错信息 尝试修复CRC

0xd370e9a1 -> 0x3b2dd73a 发现依旧如此

CRC数据正常 猜测为图片长宽高数据被修改导致文件错误

使用CRC逆向 得出图片真正的长宽高:

CRCReverse.py
import os
import binascii
import struct
crcbp = open("2.png", "rb").read() #2.png为源文件
for i in range(1024):
    for j in range(1024):
        data = crcbp[12:16] + struct.pack(">i", i) + struct.pack(">I", j) + crcbp[24:29]
        crc32 = binascii.crc32(data) & 0xffffffff
        if crc32 == 0xd370e9a1: #图片的CRC信息
            print(i, j)
            print ("hex",hex(i),hex(j))

运行脚本,得出图片真正的长宽高:

620 92
hex 0x26c 0x5c

根据真实长宽高数据 使用WinHex工具修改 得到前半段flag:

4

拼接图片 完成题目

通过两个压缩包解出的flag 拼接 得出完整flag

至此 白虎组的 Misc04题目 已成功解出