day25

一、[HDCTF 2023]MasterMisc

1.首先得到了六个文件,其中查看是第一个和第六个,发现分别含有zip头和尾,猜测要将六个文件合在一起

cat topic.zip.001 topic.zip.002 topic.zip.003 toppic.zip.005 topic.zip.006 >> topic.zip

image
image

2.得到zip,显示需要密码,直接爆破

image

3.在图片尾接着另外一张图片和一个wav,中间是末尾部分的flag,直接手撕,png的crc报错,随便改一下高度,得到中间部分flag

image

4.将wav查看频谱图,得到第一部分flag

image

HDCTF{e67d8104-7536-4433-bfff-96759901c405}

二、[鹏城杯 2022]Misc_water

1.得到的png文件的名字镜像翻转,得到water_picture,010打开png,发现在两个png尾部源码之间夹杂了一段倒转的jpg文件源码,手撕,使用脚本反转一下

点击查看代码
with open("./1.jpg","rb") as f:
    tmp = f.read()
with open("./2.jpg","wb") as f:
    f.write(tmp[::-1])

##2.猜测是傅里叶盲水印隐写,使用脚本跑一下jpg文件,得到的图片上的字符串就是zip的密码
点击查看代码
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
img = cv.imread('./2.jpg', 0) #直接读为灰度图像
f = np.fft.fft2(img)            #做频率变换
fshift = np.fft.fftshift(f)     #转移像素做幅度谱
s1 = np.log(np.abs(fshift))#取绝对值
plt.subplot(121)
plt.imshow(img, 'gray')
plt.title('original')
plt.subplot(122)
plt.imshow(s1,'gray')
plt.title('center')
plt.show()

image

3.得到一个像素明显有问题的jpg,010打开发现应该是png,直接使用脚本爆破宽高,改宽高后正常显示

image

4.图片上就是flag

image

posted @ 2023-08-07 10:43  CPYQY_orz  阅读(54)  评论(0编辑  收藏  举报