GFCTF2021_misc

GFCTF2021_misc_复现

pikapikapika

首先是一个图像文件

(img-Mbwxz6wz-1642602209297)(https://raw.githubusercontent.com/Meng1in/Picture/main/img/202201182148118.jpg)]

根据大概英文意思,在图上按顺序拼接出一个字符串

I_want_a_p1ka!

交了两次flag,发现没对

使用010editor打开图像文件,发现里面还有个zip文件头以及其数据,提取出来

解压得到一个wav文件,听一听是杂音

使用silent eye发现没有wav文件隐藏

用audacity打开,查看频谱图有没有在频谱上的字符,但是没有

放大波形图,发现各个点呈两种情况分布

很显然正常的波形图不可能只有两种音频

把这些频率提取出来先试着转一下二进制

import wave
f = wave.open("flag.wav","r")
framers_data = f.readframes(f.getnframes()).hex()
bin = ''
# print(f.getsampwidth()) 查看每个采样点有多少个字节
for i in range(0,len(framers_data),4):
    data = framers_data[i:i+4] # 每个采样点有两个字节
    data = data[2:] + data[:2] # data数据小端存储,所以倒序
    print(int(data,16))
    if int(data,16) > 20000:
        bin += "1"
    else:
        bin += "0"
f.close()
with open("result.txt","a+") as f:
    f.write(bin)

二进制转字符,得到类似base64编码,再base64解码,看到PNG关键字

导出十六进制新建png的十六进制文件

打开发现图片高度不完整

修改高度

image-20220118215917752

flag在图片上

在这里插入图片描述

双击开始冒险

总的来说,就是套娃

得到一个zip文件,根据hint文件(4位数字密码),使用archpr爆破压缩包密码得到

1211

得到"据说是某人生日.zip"

里面依旧有个hint.txt,仔细一点可以看到txt列值挺大,看一看右侧有什么,有个qq号

(尝试使用腾讯产品吧qq号:1372173535)

搜索一下,在这个qq号的签名处发现类似base64编码的字符串

解码一下

You love me, I love you

这就是"找寻密码.zip"压缩包的密码了

里面有个pcap文件,丢进wireshark看到是USB协议的,使用命令将USB数据导出来

tshark -r 这应该是一个鼠标.pcapng -T fields -e usb.capdata > usbdata.txt

得到

这样的数据,根据pcap文件名我们可以知道这是鼠标流量,那么首先来复现一下鼠标的轨迹,一般是画图过程,所以提取位移值的条件是按下左键

关于USB流量分析的小结:(10条消息) USB流量分析_M3ng@L的博客-CSDN博客

代码实现

from asyncore import write
from tqdm import tqdm
keys = []
f2 = open("out.txt","a+")
with open("usbdata.txt","r") as f:
    posx = 0
    posy = 0
    for line in tqdm(f.readlines()):
        # print(len(line))
        if len(line) != 17:
            continue
        x = int(line[4:6],16)
        y = int(line[8:10],16)
        if x > 127:
            x -= 256
        if y > 127:
            y -= 256
        posx += x
        posy += y
        click = int(line[0:2],16)
        if click == 1:
            f2.write(str(posx)+" "+str(-posy)+'\n')
f.close()

再将输出文件out.txt导入gnuplot命令

gnuplot
plot "out.txt"

得到图案

那么这就是flag.zip的密码

解压得到一个jpg图像,在010editor中打开,真正的flag在文件尾

重生之我在A国当间谍

secret文件里面有十六进制

根据题目的知识点提示,猜测是pdu编码:(16条消息) PDU编码(非常经典)_zhjmyx的专栏-CSDN博客_pdu编码

找个在线网址进行pdu解码:PDU编码解码工具 (sendsms.cn)

得到压缩包密码

解密之后,是撕碎的二维码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kiHJEcyG-1642602599295)(https://raw.githubusercontent.com/Meng1in/Picture/main/img/202201191548313.jpg)]

用PS拼接

扫一扫得到flag

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

M3ng@L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值