签到题,一开始在做其他的突然这个题很快就出了,于是下载下来搜DASCTF的base64编码无果,直接搜DASCTF出flag
notepad++,请
DASCTF{77e64b28-3e93-42ed-a576-b2e1ab718be6}
google搜kirby language
PTRH{GWDVSWVQBFISZSZ}
尝试rot无果,猜一手维吉尼亚,反过来测试key发现正好是kirb,于是猜测完整的key为题目名字kirby
因此维吉尼亚,key就用kirby
内容小写,FLAG改DASCTF
DASCTF{imverylikekirby}
suid提权,首先一手find / -perm -u=s -type f 2>/dev/null
发现有date
再根据提示,名字是flag.txt
date -f /root/flag.txt
第一波题目居然被下了,但是知道有个压缩包(zip),于是先直接在010里搜zip、rar、7z,发现存在一个7z
as a hex stream提出来,用notepad++转一下
打开7z后发现有密码,这里有个123456,当密码成功解开,打开得到https://drive.google.com/file/d/140MxBVh-OGvQUuk8tmOw4Xm8it9utIzo/view
仍然123456
然后直接看的out.txt,与DASCTF{做加减和异或操作发现规律,于是写出脚本也正好跑出来
key = '6603'
f = open('out.txt','rb').read()
for i in range(len(f)):
print(chr(ord(key[i%4])^f[i]),end='')
DASCTF{6f938f4c-f850-4f04-b489-009c2ed1c4fd}
打开010,看data
很有规律,把其他的删了只留data,脚本看一下
f = open('fla.wav','rb').read()
vals = []
for i in range(len(f)//2):
val = int.from_bytes(f[i*2:i*2+2], byteorder='little')
vals.append(val)
vals = list(set(vals))
vals.sort()
print(vals)
print(len(vals))
#[999, 1499, 1998, 2498, 2998, 3497, 3997, 4497, 4997, 5496, 5996, 6496, 6995, 7495, 7995, 8495]
#16
这很16进制
f = open('fla.wav','rb').read()
vals = []
for i in range(len(f)//2):
val = int.from_bytes(f[i*2:i*2+2], byteorder='little')
vals.append(val)
vals = list(set(vals))
vals.sort()
print(vals)
print(len(vals))
table = '0123456789abcdef'
flag = ''
for i in range(len(f)//2):
val = int.from_bytes(f[i*2:i*2+2], byteorder='little')
ind = vals.index(val)
flag += table[ind]
print(bytes.fromhex(flag))
DASCTF{muisc_noise_can_hide_Flaaaag}