• 2022DASCTF MAY 出题人挑战赛 misc


    Misc

    不懂PCB的厨师不是好黑客

    签到题,一开始在做其他的突然这个题很快就出了,于是下载下来搜DASCTF的base64编码无果,直接搜DASCTF出flag

    notepad++,请

    在这里插入图片描述

    DASCTF{77e64b28-3e93-42ed-a576-b2e1ab718be6}
    
    • 1

    卡比

    在这里插入图片描述

    google搜kirby language

    在这里插入图片描述

    PTRH{GWDVSWVQBFISZSZ}
    尝试rot无果,猜一手维吉尼亚,反过来测试key发现正好是kirb,于是猜测完整的key为题目名字kirby

    因此维吉尼亚,key就用kirby
    在这里插入图片描述

    内容小写,FLAG改DASCTF

    DASCTF{imverylikekirby}
    
    • 1

    rootme

    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='')
    
    • 1
    • 2
    • 3
    • 4
    DASCTF{6f938f4c-f850-4f04-b489-009c2ed1c4fd}
    
    • 1

    噪音

    打开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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    这很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))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    在这里插入图片描述

    DASCTF{muisc_noise_can_hide_Flaaaag}
    
    • 1
  • 相关阅读:
    Git的基本操作
    (附源码)Springboot酒店预订管理系统 毕业设计 092101
    《人类简史》笔记一——快乐该如何计算
    bzoj3396 [Usaco2009 Jan]Total flow 水流
    解读 Servlet 源码:GenericServlet,ServletConfig,ServletContext
    学习笔记-正则表达式
    京东物流常态化压测实践
    秋招第二周面试经验
    数学建模笔记(二)论文写作:论文结构
    默认浏览器怎么更改为别的浏览器,这2个方法很简单
  • 原文地址:https://blog.csdn.net/qq_42880719/article/details/124903071