1.27刷题记录
1.[INSHack2017]sanity
大水题
打开附件 得到.md文件
出现flag
flag{Youre_sane_Good_for_you}
2.[SCTF2019]电单车
打开附件得到一个奇怪的音频文件
找到了原题 buu没有题目描述可能就比较难猜
题目描述:截获了一台电动车的钥匙发射出的锁车信号,3分钟之内,我要获得它的全部信息。flag内容二进制表示即可。
用Audacity打开看到一段一段的波形
遥控器位射频信号长波为1,短波为0,对照着翻译出来
0 0111010010101010011000100 011101001010101001100010
搜索一下相关的知识点
钥匙信号(PT224X) = 同步引导码(8bit) + 地址位(20bit) + 数据位(4bit) + 停止码(1bit)

根据题目所言 我们需要的是全部信息->地址位20位
那就截取20位第二段
flag{01110100101010100110}
3.[UTCTF2020]sstv
用Audacity打开附件 发现了很标准的正弦曲线波

学习新知识 争做新青年:

用音频传图像 好高级😮
需要使用新的软件:Qsstv
在kali里安装新软件:
apt-get install qsstv
然后点Options->Configuration->Sound->From file

然后点开始把附件打开
就得到了结果

flag{6bdfeac1e2baa12d6ac5384cdfd166b0}
4.key不在这里
打开附件得到一个二维码
用Qreserch扫描一下
扫描出来似乎是个网址 打开一看是必应的搜索界面
那就观察一下链接吧 发现了一串数字
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)

得到了 flag%7B5d45fa256372224f48746c6fb8e33b32%7D
这肯定不是最后的flag
继续学习了一下这是url编码
URL 编码
URL 只能使用 ASCII 字符集来通过因特网进行发送。
由于 URL 常常会包含 ASCII 集合之外的字符,URL 必须转换为有效的 ASCII 格式。
URL 编码使用 "%" 其后跟随两位的十六进制数来替换非 ASCII 字符。
URL 不能包含空格。URL 编码通常使用 + 来替换空格。
于是找了个在线网址解一下

flag{5d45fa256372224f48746c6fb8e33b32}
5.[GUET-CTF2019]soul sipse
打开附件 得到一段令人脑子🧠发颤的音频
binwalk无法分析出来东西

那可能就是隐写
然后用到了个小工具—steghide
输入口令:steghide extract -sf out.wav
没有密码直接enter得到隐藏信息

然后得到download.txt
打开有个网址:https://share.weiyun.com/5wVTIN3
打开网址获得一张图片下载下来
图片无法正常打开
然后用010打开 看到了文件头不太对
于是修改一下

保存打开
\u0034\u0030\u0037\u0030\u000d\u000a\u0031\u0032\u0033\u0034\u000d\u000a
搜了一下是Unicode
然后在线网址直接解密

4070+1234=5304
所以flag{5304}
6.派大星的烦恼
题目提示:22 44不知道是什么
打开附件得到一张图片
用010Editor 打开
没有思路于是我直接搜索了22

看到了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)

跑出来就是flag
flag{6406950a54184bd5fe6b6e5b4ce43832}
7.[UTCTF2020]spectogram
打开附件 是一段音频
用Audicity打开
波形图正常没有信息

然后切换到频谱图

看到了flag{sp3tr0gr4m0ph0n3}

浙公网安备 33010602011771号