首页 > 其他分享 >2024夏令营CTF部分wp

2024夏令营CTF部分wp

时间:2024-07-30 18:07:48浏览次数:10  
标签:import PCM flag filename 2024 CTF num wp wav

misc

前面几题基本来源于这篇文章> https://blog.csdn.net/qq_45894840/article/details/128346180?spm=1001.2014.3001.5502 算是misc的入门级题目,就不多说了

1.easy_stego_1

是盲水印分离的题目

首先拿到题目附件> http://nnd.edaker.com:8999/directlink/2/misc_easy_stego_1.png ,是一张图片,没有发现宽高存在问题


再用winhex查看,发现结尾有png、zip字样,那就直接上binwalk,果然图片中隐藏着压缩文件



foremost分离,解压缩,得到day1.png和day2.png两张图片,以及一个tips.txt


提示如图



上网搜索相关内容,猜测是盲水印


在> https://github.com/chishaxie/BlindWaterMark 找到分离盲水印的脚本,配置相关环境后进行分离



结果发现并没有得到预期图片



之后陷入了好长一段时间的迷茫,以为做错了。最后搜索得知是python版本的问题,需要在原有命令后加上--oldseed



成功分离出水印,得到flag



2.Wav测一测


附件是一段音频> https://nnd.edaker.com/assets/b39a726bafd0fdf7530779d42d09c36891ee1126f81d31b9e041a4a59ed325ca/output.wav


用Audacity查看,发现和传统的波形图、频谱图都不太一样



一开始以为是摩斯密码,一番尝试后发现不合规律,只能放弃。后来一想,把上下的竖线分别看作1和0,不就是一串二进制数?


由于代码水平有限,我最终还是选择了最原始(愚蠢)的方法——手动数。得到了下列数字:


1011010011011010111100001101000010110100011001101110100001100110101100101011000010110100100101001001101001100000011010001110111011001000100010101101000011010000110001101101101010100010111100001100110010100010011110100111101


发现只有223位,显然不符合什么密码的格式。(也有可能是我眼睛迷糊数错了)


后来发现如果再多一位的话 224可以被8整除,于是便创造性(狗运)地决定在前面加上一位数字0,结果!



这不就是base64嘛,转换后直接得到flag



最后附上正确的代码解法

点击查看代码
import base64
import wave
import numpy as np
from  Crypto.Util.number import *

def wav_to_binary(filename, threshold=16384):  # 阈值设为16位整数范围的一半
    with wave.open(filename, 'r') as wav_file:
        # 读取WAV文件的参数
        num_channels, sampwidth, framerate, num_frames, comptype, compname = wav_file.getparams()

        # 确保是单声道和16位PCM
        if num_channels != 1 or sampwidth * 8 != 16:
            raise ValueError("WAV file must be 16-bit PCM mono.")

            # 读取PCM数据
        pcm_data = wav_file.readframes(num_frames)
        # 将PCM数据转换为numpy数组
        data = np.frombuffer(pcm_data, dtype=np.int16)

        # 将整数数据解码为二进制字符串
        # 使用阈值来确定是1还是0
        binary_str = ''.join('1' if val > threshold else '0' for val in data)

        return binary_str

    # 使用函数


filename = 'output.wav'  # 假设这是之前生成的WAV文件名
flag_bin = wav_to_binary(filename)
flag=int(flag_bin,2)
print(base64.b64decode(long_to_bytes(flag)))
flag=flag.to_bytes(28,'big')
print(flag)

标签:import,PCM,flag,filename,2024,CTF,num,wp,wav
From: https://www.cnblogs.com/m0NIS/p/18333075

相关文章

  • 2024 年求职不易,有没有什么效率高的求职方法?
    对于很多打工人来说,今年过得并不容易,不管是打工还是求职,都感觉艰难许多。市场竞争力变大,让许多打工人都感受到了浓浓的“求职焦虑”。对于应届生而言,今年更是具有挑战性的一年,毕业人数量高达1179万人,又创历史新高,毕业生的增多,就意味着就业竞争压力更大…在这样的就业形势下,最......
  • 【往届会后三个半月内EI检索 | EI会议征稿 】第四届物联网与机器学习国际学术会议(IoTM
     第四届物联网与机器学习国际学术会议(IoTML2024)20244th InternationalConferenceonInternetofThingsandMachineLearning重要信息大会时间:2024年8月9-11日         大会地点:中国-南昌        大会官网:www.iotml.cn   会......
  • [RoarCTF 2019]Easy Java
    [RoarCTF2019]EasyJavaStep1点击help按钮后发现:URL变成:url/Download?filename=help.docx而回显:java.io.FileNotFoundException:{help.docx}而当我尝试尝试POST,发现文件成功下载:Step2发现可能的漏洞点后,结合WEB-INF相关知识(见文末)可以下载WEB-INF/web.xmlPOST参数......
  • 2024口碑最好五大骑行耳机精选,实测体验在线分享!
    作为有着多年骑行经验的数码博主,我深刻的明白,在骑行过程中,选择一款合适的耳机至关重要,一款合适的骑行耳机不仅可以增加骑行中的体验,还能保证骑行中的安全,骨传导耳机凭借不入耳佩戴更健康,以及开放式听音等优点成为众多骑行爱好者的首要选择。但随着骨传导耳机热度增加,市面上开始......
  • 2024.7.30 test
    A有一个数\(n\)和\(m\)种操作,第\(i\)次操作使得\(n\getsn/A_i\),问最多遍历多少个数。\(n\le10^5,m\le10\)。不难发现暴力即可通过。B给定集合\(S\),对于每个\(i\in[1,m]\)你需要求出选择数最多和最少的值使得\(\gcd=i\)。\(n,S_i\le3e5\)。首先对于每个\(i......
  • 中国游戏出海启示录:2024市场复苏下的对策
    2024年,全球游戏市场迎来了新的复苏浪潮。根据《2023年中国游戏出海研究报告》的数据,全球游戏市场规模达到了11773.79亿元,同比增长6.00%。然而,在这股复苏的浪潮中,中国游戏出海企业却面临着前所未有的挑战。人民币收付:跨境电商的痛点对于外国的跨境电商来说,进入中国市场是一个充满......
  • 2024/07/30 每日一题
    LeetCode2961双模幂运算方法1:快速幂classSolution:defgetGoodIndices(self,variables:List[List[int]],target:int)->List[int]:ans=list()fori,(a,b,c,m)inenumerate(variables):res=self.getVal(a%10,b)......
  • Adobe Premiere Pro(PR2024)软件下载(附安装链接)
    一、简介AdobePremierePro(简称Pr)是由Adobe公司开发的一款功能强大的视频编辑软件。它支持多平台使用,包括Windows和Mac系统,并且拥有良好的兼容性和高效的性能。PremierePro不仅提供了视频剪辑、特效添加、音频处理等基本功能,还能与其他Adobe软件(如AfterEffects、Photoshop......
  • Pr下载安装(视频剪辑软件Pr安装包下载2024)百度网盘下载
    百度网盘链接:https://pan.baidu.com/s/1V6U1FXxeiKSbO7-lThrb_Q?pwd=0d1n 提取码:0d1n 功能:视频剪辑功能:PremierePro提供了强大的视频剪辑功能,包括导入、预览、裁剪、拼接、调整、分层、分组、嵌套、同步等。用户可以在时间线上进行精确的剪辑和编辑操作。视频特效功能:......
  • Java修炼 Java SE 面试题目 (简答) 2024.7.26 22:16
    目录1.基础知识2.控制流和循环3.集合框架4.异常处理5.多线程编程6.输入输出操作7.类和接口8.Lambda表达式和函数式编程9.内存管理和垃圾回收:10.Java虚拟机(JVM):1.基础知识解释Java的面向对象特性,如封装、继承和多态。Java的面向对象特性包括封装(将数据和代码封......