1.27刷题记录

1.[INSHack2017]sanity

大水题

打开附件 得到.md文件

image-20230127112807059

出现flag

flag{Youre_sane_Good_for_you}

2.[SCTF2019]电单车

打开附件得到一个奇怪的音频文件

找到了原题 buu没有题目描述可能就比较难猜

题目描述:截获了一台电动车的钥匙发射出的锁车信号,3分钟之内,我要获得它的全部信息。flag内容二进制表示即可。

用Audacity打开看到一段一段的波形

image-20230127113843182

遥控器位射频信号长波为1,短波为0,对照着翻译出来
0 0111010010101010011000100 011101001010101001100010

搜索一下相关的知识点

钥匙信号(PT224X) = 同步引导码(8bit) + 地址位(20bit) + 数据位(4bit) + 停止码(1bit)

img

根据题目所言 我们需要的是全部信息->地址位20位

那就截取20位第二段

flag{01110100101010100110}

3.[UTCTF2020]sstv

用Audacity打开附件 发现了很标准的正弦曲线波

image-20230127123347119

学习新知识 争做新青年:

image-20230127123513897

用音频传图像 好高级😮

需要使用新的软件:Qsstv

在kali里安装新软件:

apt-get install qsstv

然后点Options->Configuration->Sound->From file

image-20230127125404564

然后点开始把附件打开

就得到了结果

image-20230127125608042

flag{6bdfeac1e2baa12d6ac5384cdfd166b0}

4.key不在这里

打开附件得到一个二维码

用Qreserch扫描一下

image-20230127135015230

扫描出来似乎是个网址 打开一看是必应的搜索界面

那就观察一下链接吧 发现了一串数字

m=10210897103375566531005253102975053545155505050521025256555254995410298561015151985150375568

数字与字符之间的对应 迅速想到ascii码

用脚本跑一下

s='10210897103375566531005253102975053545155505050521025256555254995410298561015151985150375568'
temp = ''
 
while len(s):
    if int(s[:3]) < 127:
        temp += chr(int(s[:3]))
        s = s[3:]
    else:
        temp += chr(int(s[:2]))
        s = s[2:]
print(temp)

image-20230127140639401

得到了 flag%7B5d45fa256372224f48746c6fb8e33b32%7D

这肯定不是最后的flag

继续学习了一下这是url编码

URL 编码

URL 只能使用 ASCII 字符集来通过因特网进行发送。

由于 URL 常常会包含 ASCII 集合之外的字符,URL 必须转换为有效的 ASCII 格式。

URL 编码使用 "%" 其后跟随两位的十六进制数来替换非 ASCII 字符。

URL 不能包含空格。URL 编码通常使用 + 来替换空格。

于是找了个在线网址解一下

image-20230127141804358flag{5d45fa256372224f48746c6fb8e33b32}

5.[GUET-CTF2019]soul sipse

打开附件 得到一段令人脑子🧠发颤的音频

binwalk无法分析出来东西

image-20230127161821210

那可能就是隐写

然后用到了个小工具—steghide

输入口令:steghide extract -sf out.wav

没有密码直接enter得到隐藏信息

image-20230127162041860

然后得到download.txt

打开有个网址:https://share.weiyun.com/5wVTIN3

打开网址获得一张图片下载下来

图片无法正常打开

image-20230127162508350

然后用010打开 看到了文件头不太对

于是修改一下

image-20230127162713020

保存打开

GUET

\u0034\u0030\u0037\u0030\u000d\u000a\u0031\u0032\u0033\u0034\u000d\u000a

搜了一下是Unicode

然后在线网址直接解密

image-20230127163225393

4070+1234=5304

所以flag{5304}

6.派大星的烦恼

image-20230127143214979

题目提示:22 44不知道是什么

打开附件得到一张图片

用010Editor 打开

没有思路于是我直接搜索了22

image-20230127143427858

看到了22 44组成的数字块

复制下来

"DD"DD""""D"DD""""""DD"""DD"DD""D""DDD""D"D"DD""""""DD""D""""DD"D"D"DD""""D"DD""D"""DD"""""DDD""""D"DD"""D"""DD"""D""DD"D"D"DD"""DD""DD"D"D""DD""DD"DD"""D"""DD""DD"DD""D"D""DD"D"D"DD"""D"""DD"""D"DD""DD"""DD"D"D""DD"""D"DD""DD""DD"""""DDD""DD""DD"""D""DD""

然后就想到替换

把“替换为0 把D换为1 又数了位数一共256

那就是二进制转换为字符没跑了

256/8=32 最后的flag长度正好是32

01101100 00101100 00001100 01101100 10011100 10101100 00001100 10000110 10101100 00101100 10001100 00011100 00101100 01000110 00100110 10101100 01100110 10100110 01101100 01000110 01101100 10100110 10101100 01000110 00101100 11000110 10100110 00101100 11001100 00011100 11001100 01001100

然后二进制可以直接转字符了

直接识别发现出来的是乱码

看了别人的wp:需要将二进制逆序

然后直接跑脚本吧

def bin_to_str(s):
    return ''.join([chr(i) for i in [int(b, 2) for b in s.split(' ')]])
a = "01101100 00101100 00001100 01101100 10011100 10101100 00001100 10000110 10101100 00101100 10001100 00011100 00101100 01000110 00100110 10101100 01100110 10100110 01101100 01000110 01101100 10100110 10101100 01000110 00101100 11000110 10100110 00101100 11001100 00011100 11001100 01001100"
a = a.split(' ')
flag = ''
for i in a:
    test = i[::-1]#::-1表示将字符串倒序,因为题目提示屁股,我们可以考虑是反着来的。
    flag += bin_to_str(test)

print(flag)

image-20230127154832620

跑出来就是flag

flag{6406950a54184bd5fe6b6e5b4ce43832}

7.[UTCTF2020]spectogram

打开附件 是一段音频

用Audicity打开

波形图正常没有信息

image-20230127170325963

然后切换到频谱图

image-20230127171750490

看到了flag{sp3tr0gr4m0ph0n3}

posted @ 2023-01-27 17:22  ZJFAKE  阅读(109)  评论(0)    收藏  举报