首页 > 其他分享 >day25

day25

时间:2023-08-07 10:58:09浏览次数:32  
标签:plt zip day25 jpg topic np png

一、[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

标签:plt,zip,day25,jpg,topic,np,png
From: https://www.cnblogs.com/120211P/p/17610625.html

相关文章

  • vue-day25--自定义指令总结
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><title>自定义指令总结</title><scriptt......
  • vue-day25--自定义指令v-fbind
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><title>自定义指令</title><scripttyp......
  • vue-day25--自定义指令
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><title>自定义指令</title><scripttyp......
  • vue-day25--v-pre指令
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><title>v-pre指令</title><scriptt......
  • vue-day25--v-once指令
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><title>v-once指令</title><script......
  • 阶段性知识总结解释版【Day01-Day25】
    day021.什么是编程和编程语言编程 是指使用计算机语言编写计算机程序的过程。编程语言 是一种用于编写计算机程序的形式化语言,它可以被解释器或编译器转换成机器码以便计算机执行。编程语言包括C、Java、Python、JavaScript、PHP等。2.计算机五大组成部分,分别阐释一......
  • 阶段性知识总结习题版【Day01-Day25】
    day02什么是编程和编程语言计算机五大组成部分,分别阐释一下各自特点计算机三大核心硬件,各自的特点常见的操作系统day03计算机存储数据的单位有哪些,之间的单位换算是怎样的编程语言的发展史,分别有什么特点编程语言的分类python解释器的版本有哪些,推荐使用的版本是哪个......
  • 算法学习day25回溯part02-216、17
    packageLeetCode.backtrackpart02;importjava.util.ArrayList;importjava.util.LinkedList;importjava.util.List;/***216.组合总和III*找出所有相加之和为n的k个数的组合,且满足下列条件:*只使用数字1到9*每个数字最多使用一次*返回所有可能的有效......
  • day25(2023.3.25)
    1.装饰器模式 运行结果: 2.FileUtils类① 运行结果:  3.FileUtils类② 运行结果:aaa: bbb: 4.IOUtils类 运行结果: IO章节的知识点就差不多......
  • day25 打卡216.组合总和III 17.电话号码的字母组合
    day25打卡216.组合总和III17.电话号码的字母组合216.组合总和III216题目链接classSolution{List<List<Integer>>result=newArrayList<>();LinkedList......