01-Misc01
得到一个音频文件。
使用 foremost 分离得到另外一个 wav,再使用 Audacity 查看频谱图。
得到密码:stego0626,在原本的 wav 文件里面找到一个缺少 zip 头部的压缩包文件。
将其复制出来补全头部 50 4B 03 04。
输入密码解压得到一个 flag 文件,放到 010 中查看 78 DA 是一个 zlib 的文件头。
方法一:
方法二:
方法三:
import zlib
compressed_data_hex = '789C4BCB494CAFB630343336363133B130334B3533324A3132374D3636B04C32324A4EB234304FAA0500CCE10A67'
compressed_data = bytes.fromhex(compressed_data_hex)
decompressed_data = zlib.decompress(compressed_data)
print(decompressed_data)
02-Misc02
得到一张图片。
png 最常见的隐写是 LSB 隐写使用 zsteg 查看通道。
zsteg -a green.png
得到密码 h16lly81a。
在一个通道内发现有个 zip 文件。
使用 zsteg 提取出来。
zsteg -E "extradata:0" green.png > green.zip
解压得到一个 rgb.txt 的文件里面倒是一些 rgb 像素点坐标。
使用 rgb 转图片脚本得到 flag。
from PIL import Image
# 读取rgb.txt文件
with open("rgb.txt", "r") as file:
lines = file.readlines()
# 提取RGB颜色值
colors = [tuple(map(int, line.strip('()\n').split(","))) for line in lines if line.strip()]
# 遍历所有可能的宽度和高度组合
for width in range(259*2, 259*2 + 1): # 高度和宽度需要从0爆破,这里是已经知道高度和宽度的情况
for height in range(259, 260):
# 创建图像
image = Image.new("RGB", (width, height))
# 设置像素点颜色
total_pixels = width * height
pixel_data = [color for color in colors * (total_pixels // len(colors) + 1)][:total_pixels]
image.putdata(pixel_data)
# 保存图像
output_filename = f"./output_{width}x{height}.png"
image.save(output_filename)
3 条评论
文章的确不错啊https://www.cscnn.com/
看的我热血沸腾啊https://www.ea55.com/
看的我热血沸腾啊https://www.237fa.com/