Misc
第一周
打卡小能手
关注 源鲁安全实验室
微信公众号 ,发送 2024YLCTF
即可获得flag。
YLCTF{W3lc0m3_T0_Yuan1ooCtf}
hide_png
可以发现图片中有很多不同的等距像素点,为图片放缩攻击,编写代码提取
from PIL import Image
def extract_pixels(source_image_path, output_image_path, top_left, bottom_right, x_step=3, y_step=16):
img = Image.open(source_image_path)
x1, y1 = top_left
x2, y2 = bottom_right
new_img_width = (x2 - x1) // x_step + 1
new_img_height = (y2 - y1) // y_step + 1
new_img = Image.new('RGB', (new_img_width, new_img_height))
pixels = [
img.getpixel((x1 + col * x_step, y1 + row * y_step))
for row in range(new_img_height)
for col in range(new_img_width)
if (x1 + col * x_step < img.width) and (y1 + row * y_step < img.height)
]
new_img.putdata(pixels)
new_img.save(output_image_path)
source_image_path = 'attachments.png'
output_image_path = 'output.png'
top_left = (15, 64)
bottom_right = (1962, 1312)
x_step = 3
y_step = 16
extract_pixels(source_image_path, output_image_path, top_left, bottom_right, x_step, y_step)
提取出间隔像素图片
得到flag
YLCTF{a27f2d1a-9176-42cf-a2b6-1c87b17b98dc}
pngorzip
zsteg发现在 b1,rgb,lsb,xy
通道中存在Zip文件
提取Zip文件,注意要将多余的数据进行删除
zsteg out.png -E b1,rgb,lsb,xy >out.zip
打开压缩包得到hint,考虑掩码爆破
114514????
得到压缩包密码
114514giao
解压得到flag
YLCTF{d359d6e4-740a-49cf-83eb-5b0308f09c8c}
plain_crack
明文攻击得到解密压缩包,解压得到flag.doc文件,打开doc文件后,发现一张图片以及图片后的假flag
将doc文件后缀更改为Zip解压后在 flag\word\media
路径下得到flag图片
得到flag
YLCTF{a709598c-f54c-4db5-ab69-8ddb499df053}
whatmusic
首先解压出不需要密码的password,发现为16进制数据reverse
将其revers后得到镜像图
左右镜像恢复后得到password
解压后得到一个5bytes的无后缀文件,结合hint1可以知道这道题需要使用lyra恢复(数据大小和羊城杯附件一样也是5bytes
增加.lyra后缀用lyra恢复为wav,内容为flag的人声播报,得到flag
YLCTF{YLYRM6S5ICG00ODLL0VE}
乌龟子啦
将Base64解码为图片,识别图片中的01字符串,转化为二维码,扫描得到flag
YLCTF{f6a6f8cf-c25b-49a8-8f17-c8fbd751faa4}