MISC专项-其他类型

一、二维码

1.解压出来是一张二维码,用微信进行扫码,发现扫出来的不是flag。
image
2.用winhex打开该文件,发现里面存储了一个名为number.txt的文件。
image
3.将图片的后缀名改为zip,解压发现里面确实有一个txt文件。
image
4.点击该文件,发现需要密码,尝试暴力破解方法。
image
5.输入密码,成功获得flag。
image

二、zip伪加密

1.打开压缩包,点击flag.txt文件,显示要密码,第一反应便是用ziperello直接爆破。
image
2.但是爆破了很久也没有跑出来,再一看题目是伪加密,看来应该是没有密码的。就用winhex去查看文件头。
image
3.上面一个0900是文件头中的全局方式位标记,后面一个0900是目录中源文件的全局方式位标记。若是未加密状态,两处应该都是0000;若是伪加密状态,文件头的全局方式位标记是0000,目录中源文件的全局方式位标记是0900;若是真加密,两处都是0900。将两处都改为0000,即可顺利打开flag.txt文件,得到flag。
image
image

三、ningen

1.下载下来是一张图片,在详细信息中没有获得什么线索,果断用winhex打开,果然发现了猫腻,里面存着一个ningen.txt文件。
image
2.将文件后缀名改为zip打开,里面有一个加密的flag.txt文件。
image
3.用ziperello暴力破解获取密码,直接获得flag。
image
image

四、小明的保险箱

1.下载下来是一张照片,打开一看没发现什么线索,果断用winhex打开,在文件末尾发现了猫腻,照片里藏了一个txt文件。
image
2.修改文件后缀为rar,解压压缩包,里面有一个加了密的flag.txt文件,用archpr软件爆破。
image
image
3.得到密码为7869,打开文件获取flag。
image

五、爱因斯坦1

1.打开压缩包,里面是一张图片,右击属性,发现在备注栏里有一句话,留着备用。
image
2.用winhex打开图片,发现图片里藏着一个flag.txt文件。
image
3.修改文件后缀为rar,解压压缩包,里面有一个加密的flag.txt文件,尝试用备注里的信息进行解密,顺利解开,拿到flag。
image

六、异性相吸

1.解压压缩包,里面有两个文件。
image
2.完全看不出来什么头绪,老方法用winhex打开。
image
image
3.还是没什么头绪,参考网上大神的说法,异性相吸就是一奇一偶做加法,同为奇数和偶数做减法。故直接写一个脚本跑一下就行了。
image

七、密码学的心声1

1.打开图片,里面有提示信息。
image
2.转成ascll码,没有八,看来是八进制,尝试将三个数字为一组,转化成十进制。

111=>73   114=>76   157=>111   166=>118   145=>101   123=>83   145=>101  143=>99    165=>117   162=>114    151=>105     164=>116    171=>121   126=>86
145=>101   162=>114   171=>121    115=>77      165=>117    143=>99    150=>104

3.将上述ascll码找到对应的字符,即为flag。
flag{ILoveSecurityVeryMuch}
或者也可以通过跑脚本实现
image

八、另外一个世界

1.用winhex打开图片,在末尾发现一连串的01字符串。
image
2.刚好是56位,尝试8为一组转换成10进制。

01101011 =>107	01101111 =>111	01100101=>101	01101011 =>107	01101010=>106
00110011 =>51	01110011 =>115

3.找到ascii对应的字母,提交,成功。flag=koekj3s

九、rot1

1.打开文档,根据密文中前四位的差值和flag这四个字母之间的差值相等,判断这应该是发生了偏移。
image
2.编写脚本,一个一个去试,到底是偏移了几位,经代码的测试,偏移了13位。
image
3.但是这个flag是不完整的,后面还有4个问号,还有一串md5值,那这md5值应该是flag经md5加密后的结果,编写脚本去测试,得到的结果即为flag。
image

十、神秘龙卷风

1.压缩包里面有一个加密文件,用ARCHPR暴力破解得到密码。
image
2.打开文件,里面是一长串的+.>,此为brainfuck加密。用在线加解密工具进行转换,得到flag。
image

image

十一、一张谍报

1.打开文件,发现一段颜色较淡的文字,这应该就是题目中说的行话了。
image
2.对这一段话毫无头绪,但是在上面的一段话中出现了几个关键字,应该是跟上文有关。
image
3.在查看另一段文章,发现其字数与上段文字的字数相等。
image
4.尝试去找到行话中的字在步骤2中文字的位置,再根据其位置去读取步骤3中段落中对应位置的文字进行拼接。解出来的暗号即为flag。
image

十二、这是什么觅🐎

1.用winhex打开附件,里面藏着一张flag.jpg,修改文件后缀,解压图片。
image
2.打开图片,里面是一个日历。
image
3.查看右下方的小纸条,F、W、S、T对应于日历上星期一到星期天的首字母,如果是3位的,则第二个数字代表是第几个S、T。

F1->3	W1->8		S22->12		S21->5		T12->14		S11->4		W1->8	S13->18

4.看见日历中在1上打了个×,把2345678圈了起来,以为是8进制,但是得到的结果中有8,应该不是8进制。再看其数字范围在20以里,尝试英文字母。

3->c		8->h	12->l	5->e	14->n	4->d	8->h	18->r

连起来为chlendhr,尝试提交,不对。
5.当把h换成a时就是calendar单词,这样看来也可能是W1找错了,应该是对应1(被×干扰了),提交flag,成功。

十三、奇怪的二维码

1.二维码的中间少了一块,想到阿兹特克码。
image
2.用binwalk命令进行分析,里面有两张图片,对其进行分离。
image

image
3.原始二维码的尺寸为3232,通过阿兹特克码生成脚本生成一个尺寸为3232的图片。
脚本地址:https://github.com/delimitry/aztec_code_generator
image
4.跟题目给的图片进行对比,发现题目图片中间少了99,将这张图片中的99拼接到题目所给图片中。
image
5.放入在线网站https://demo.dynamsoft.com/barcode-reader/ 进行解密。
image

十四、滴滴图

1.附件是一个加密的压缩包和图片,用binwalk命令分析图片,存在压缩包。
image
2.foremost命令进行分离,得到两个加密的压缩包。
image
3.用winhex打开honest_dog.jpg,在文件尾发现信息,进行unicode解码,拿到压缩包的密码。
image
image
4.两个压缩包的密码都是一样的,解压出来得到两张图片。用winhex打开,提示crc校验码不对,利用脚本还原出原始图片的高宽。
image
5.修改图片宽高,得到ffflaggg.zip的密码,进行解压。
image
image
6.音频中是一段摩斯电码,只需要管左声道的部分。
image
image
image

十五、easy_keyboard

1.对secret.Q文件进行处理。
image

keyboard_list = []
with open('secret.Q', 'r') as f:
    lines = f.readlines()
    for line in lines:
        if 'KeyDown' in line:
            data = line[line.find(' "') + 2:line.find('",')]
            keyboard_list.append(data)
content = ''
for key in keyboard_list:
    if key == 'Space':
        content += ' '
    elif key == 'Shift':
        pass
    elif key == 'BackSpace':
        content += ' BackSpace '
    elif 'Num' in key:
        content += key[-1]
    else:
        content += key.lower()
print(content)

image
2.得到一句话,如下为真正的压缩包的解密密码,
image
3.按照BackSpace去回退,得到的密码为key1:6e187bef;key2:6e187bef;key3:64187bef,三个密码都是一样的显然是迷惑我们的。那应该回退的才是真实密码,拼接起来为6e187bef323d1a4bf067ec94。尝试去解密还是解不开,发现其压缩算法为ZipCrypto Deflate。
image
4.使用bkcrack去提取压缩数据。
image
5.得到keyboard.pcapng,得到键盘流量,尝试用UsbKeyboardDataHacker去解,行不通。用tshark将数据提取出来。
image
6.查看usbdata.txt文件,发现只有4f、50、51、52四个数据,每隔几行就有一行0。
image
7.查看对应的键盘意义4f为右,50为左,51为下,52为上。
image
8.用turtle将其画出来。

from turtle import *

data_list = []
with open('usbdata.txt', 'r') as f:
    lines = f.readlines()
    for line in lines:
        data_list.append(line[4:6])

pensize(5)
pencolor('red')
setup(1900,500)
penup()
goto(-925, 200)
aux_x, aux_y = pos()
aux_x1, aux_y1 = (pos()[0], pos()[1]-70)
pendown()
for ori in data_list:
    if ori == '4f':
        setheading(0)
        fd(10)
    elif ori == '50':
        setheading(180)
        fd(10)
    elif ori == '51':
        setheading(270)
        fd(10)
    elif ori == '52':
        setheading(90)
        fd(10)
    elif ori == '00':
        penup()
        if aux_x < 850:
            cur_x, cur_y = pos()
            if abs(cur_x - aux_x) < 5:
                next_x = cur_x+20
            else:
                next_x = cur_x+10
            aux_x = aux_x+20
            goto(next_x, aux_y)
        else:
            goto(aux_x1, aux_y1)
            cur_x1, cur_y1 = pos()
            if abs(cur_x1 - aux_x1) < 5:
                next_x1 = cur_x1+20
            else:
                next_x1 = cur_x1+10
            aux_x1 = aux_x1+20
            goto(next_x1, aux_y1)
        pendown()
done()

image
9.将数字转化成16进制,在转成字符串。

from binascii import *
flag = int('2445986771771386879020650435885512839951630986248616789159906807439648035983463410703506828942860700640637', 10)
flag = unhexlify(hex(flag)[2:])
print(flag)
# b'DASCTF{896b7841-b50f-42c9-9421-b762b18f060e}'

image

十六、浪里淘沙

1.打开文档,字符串中包含了许多英文单词的组合。
image
2.题目中提到了5个数字分别是4,8,11,15,16。一开始想到的是有没有可能是按照单词出现的顺序进行排列,尝试提交了flag,发现不准确。
image
3.改变思路,发现整个段落中只出现上面几个单词,可能跟词频有关,将各个单词按照词频升序排列,选取第4,8,11,15,16位的单词,提交flag正确。
image

十七、just_a_rar

1.压缩包里面嵌套了一个压缩包,里面有一个加密的jpg文件。先看是不是伪加密,发现都是偶数,不是伪加密。再尝试暴力破解,密码为2016。
image
image
2.用16进制编辑器打开图片,文件头部和尾部都没有发现任何线索。
image
image
3.右击查看属性,详细信息里面有flag。
image

十八、一叶障目

1.打开图片,一片朦胧。拖进kali中用binwalk去分析,结果提示我crc校验错误。
image
2.CRC校验错误的一般情况是长度高度被改了。手动修改,测试了多次后,当被修改成01 E2和07 77时,图片上出现了模糊的flag。
image
image
3.想通过stegsolve软件去进行分析,发现打不开该图片。将其拉大之后,也能隐约看清楚了,提交flag,成功。但是网上大佬有写crc修复的代码。

#coding=utf-8
import zlib
import struct
#读文件
file = '1.png'  #注意,1.png图片要和脚本在同一个文件夹下哦~
fr = open(file,'rb').read()
data = bytearray(fr[12:29])
crc32key = eval(str(fr[29:33]).replace('\\x','').replace("b'",'0x').replace("'",''))
#crc32key = 0xCBD6DF8A #补上0x,copy hex value
#data = bytearray(b'\x49\x48\x44\x52\x00\x00\x01\xF4\x00\x00\x01\xF1\x08\x06\x00\x00\x00')  #hex下copy grep hex
n = 4095 #理论上0xffffffff,但考虑到屏幕实际,0x0fff就差不多了
for w in range(n):#高和宽一起爆破
    width = bytearray(struct.pack('>i', w))#q为8字节,i为4字节,h为2字节
    for h in range(n):
        height = bytearray(struct.pack('>i', h))
        for x in range(4):
            data[x+4] = width[x]
            data[x+8] = height[x]
            #print(data)
        crc32result = zlib.crc32(data)
        if crc32result == crc32key:
            print(width,height)
            #写文件
            newpic = bytearray(fr)
            for x in range(4):
                newpic[x+16] = width[x]
                newpic[x+20] = height[x]
            fw = open(file+'.png','wb')#保存副本
            fw.write(newpic)
            fw.close

运行完之后,出现了一张清晰的图片。
image

十九、梅花香之苦寒来1

1.用16进制编辑器打开图片,发现有一长串的数字。
image
2.暂时还不知道什么意思,右击查看详细信息,得到了线索。
image
3.要会画图,应该是跟那一大串数字有关系,猜测是将16进制转字符串。
image
4.还真的到了一堆的坐标,那画图就应该是按照这些坐标去画了。这里采用gnuplot工具进行画图。将转换出来的坐标按照下列格式进行处理。
image
image
image
5.得到一张二维码,扫描二维码得到flag。
image

二十、谁赢了比赛1

1.用16进制编辑器打开图片。
image
2.隐藏着一个flag.txt,使用foremost命令分离文件。
image
image
3.用ARCHPR暴力破解密码。
image
4.解压出来两个文件,一个gif文件和一个txt文件。
image
5.将gif文件用stegsolve逐帧分析,得到了线索。
image
6.把该帧保存下来,继续用stegsolve打开,在改变通道后,出现了一张二维码,扫描二维码得到flag。
image
image

二十一、gakki1

1.用foremost命令去分离图片。
image
2.分离得到一个rar压缩包和一个jpg图片。
image
3.压缩包中有一个加密的文件,用archpr暴力破解。
image
4.得到一个flag.txt文件。
image
5.一长串的无规则的字母和符号,联想到了词频统计,编写脚本得到flag。
image

二十二、base64隐写

1.压缩包里有一张图片和一个txt文件。
image
image
2.从图片的属性中可以找到提示信息,但貌似没有什么用。
image
3.将txt的文件里的内容全部进行base64解密,得到的是C语言代码,参考大佬脚本可直接跑出flag。
image

二十三、纳尼

1.gif文件打不开,用file命令去查看其文件类型,也无法识别是个gif文件。
image
2.可能是文件头缺失了,用winhex添加gif文件头。
image
3.用stegsole一帧一帧去分析,发现原来是个base64加密。
image
image
image
image
image

二十四、我有一只马里奥

1.附件是一个exe文件,先用binwalk命令和foremost命令对其进行分析,分离出来两张图片,但没什么线索。
image
image
2.拖进虚拟机中尝试进行运行,运行后得到1.txt文件。
image
3.ntfs是一种数据流的格式,使用notepad命令去查看flag.txt文件,得到flag。
image
image

二十五、outguess

1.查看mmm.jpg的详细信息。
image
2.提示是社会主义核心价值观加密。
image
3.flag.txt文件中提示是outguess加密。
image
4.在kali中下载outguess。
image
5.利用outguess命令尝试解密,outguess的解密密钥有可能是abc。
image
image

二十六、伟大的侦探

1.打开密码.txt文件,提示是编码问题,尝试了多种编码,最后EBCDIC成功。
image
image
2.解压文件夹。
image
3.此为跳舞的小人密码。
image
4.破解出来为ILOVEHOLMESANDWLLM,转换为小写即可。
注:CTF中常用的一些图像密码参考https://www.bbsmax.com/A/l1dyla395e/

二十七、ezmsic

1.将图片放入kali中,利用binwalk命令,发现crc码校验错误。
image
2.应该是修改了长宽,利用大佬的脚本跑出原本的长、宽分别是0x1f4、0x1c8。
image
3.保存出现flag。
image

二十八、黑客帝国

1.打开文件,发现是rar文件头。
image
2.将文件后缀改为rar,但提示文件已被损坏。只能将16进制转换为2进制写入rar文件中。
image
3.用ARCHPR暴力破解。
image
4.打开图片却什么都没有显示。
image
5.用winhex打开,发现其文件尾是FFD9是jpg格式的文件尾,但文件头89504E47是png格式的文件头,两者不一致,故修改文件头为FFD8即可。
image
image

二十九、你有没有好好看网课

1.文件里有两个加密的压缩包,其中一个提示我们密码是6位数,直接暴力破解。
image
image
2.解压出来是一个doc文件和mp4文件。用winhex打开doc文件,发现其文件头是zip文件。
image
3.查看了所有的xml文件没有发现,尝试了列文虎克相关的时间去解密flag2.zip都不对,再去查看mp4文件。
image
image
4.视频里发现以上两个,对其进行解密,第一张照片中斜杆划分的都有两个数据,所以不是摩斯密码,应该是敲击码,第二张照片是base64加密。
image
第一个解密出来为wllm。
image
5.将上述两个密码拼接起来,即可解压flag2.zip,得到一张图片。
image
6.用winhex打开图片即可获得flag。
image

三十、我吃三明治

1.附件是一张图片,用binwalk打开。
image
2.发现是由两张jpg图片拼接而成,用foremost进行分离。
image
image
3.用winhex打开图片,去搜索jpg的文件头。
image
image
4.发现在第二处的文件头处有一串字符串,进行base32解密得到flag。
image

三十一、ez_xxd

1.将流量包导出为http对象,查看flag.txt文件,进行base64解码,导入进16进制文件中。
image
image
2.IHDR是png格式的数据库,修改文件头。
image
image
3.在流11中,有一段经典的流量,解码一下可以得到照片的名字叫做Miku.png。
image
image
image
4.看到maybe_today压缩包中也有一个叫Miku.png的文件,想到明文爆破。这里只能用bandizip软件进行压缩,其余软件都不行。
image
5.解密成功后就会得到一个不加密的maybe_today压缩包,flag文件夹里面是一个数据库文件,将其导入数据库,选中flag字段保存数据为txt文件。
image
image
6.对txt文件中的内容进行base64解密,另存为zip文件。
image
7.有一个加密的文件,密码在SceneManager.js中。
image
image
8.解压出来,进行兽音+base64+16进制转字符即可获得flag。
image
image
image

三十二、POI?QOI!

1.Github有识别QOI文件的项目,本地搭建地址https://github.com/floooh/qoiview。 搭建完成后,执行./qoiview file=/root/Desktop/poi命令,出现一张二维码。
image
image
2.扫描二维码,得到的是假flag。
image
3.将二维码另存为图片,用stegsolve进行查看,在gray bits通道二维码发生了变化,扫描获得flag。
image
image

posted @ 2024-04-01 20:39  死不悔改奇男子  阅读(92)  评论(0编辑  收藏  举报