杂项签到
题目是个损坏的压缩包,考点:伪加密
修改如下:

保存解压得到flag
flag{79ddfa61bda03defa7bfd8d702a656e4}
misc2
题目描述:
偶然发现我竟然还有个软盘,勾起了我的回忆。

我的解答:
随便选一个虚拟机,然后编辑虚拟机设置


然后添加

选择软盘驱动器

选择使用软盘映像文件 最后重新打开虚拟机得到flag
flag{ctfshow}
miscx
题目

我的解答:
有提示2020可以解压misc1.zip,得到一个图片和docx文档

文档里面是音符加密- ♭‖♭‖‖♯♭♭♬‖♩♫‖♬∮♭♭¶♭‖♯‖¶♭♭‖∮‖‖♭‖§♭‖♬♪♭♯§‖‖♯‖‖♬‖‖♪‖‖♪‖¶§‖‖♬♭♯‖♭♯♪‖‖∮‖♬§♭‖‖‖♩♪‖‖♬♭♭♬‖♩♪‖♩¶‖♩♪‖♩♬‖¶§‖‖♩‖¶♫♭♭♩‖♬♯‖♬§♭‖♭‖♩¶‖‖∮♭♭♬‖‖♭‖♫§‖¶♫‖♩∮♭♭§‖♭§‖♭§§=
复制代码 在线解码:https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=yinyue
得到U2FsdGVkX1/eK2855m8HM4cTq8Fquqtm6QDbcUu4F1yQpA==
根据提示,一眼兔子流,密码是2020
得到welcome_to_payhelp
使用此密码打开hint.txt得到- VmpKMFUxTXhXWGxVV0dob1RUSjRVVll3V2t0aFJscDBZMGhLYTAxWGVIaFZiRkpUWWtaYVZWSnJXbFpOVjJoeVZYcEdZVkpzVG5KVWJHaHBWa1ZWZDFkV1ZtRmtNRFZYVjJ4c2FWSlVWbFJVVnpWdVRXeFZlV1ZHVGxSaVZrWTBXVlJPYzFWR1pFZFRiVGxYWW01Q1dGcEdXbE5UUjBZMlVXMTBWMWRGU2xkV1ZtUXdVekpGZUZOWWJHaFRSVFZWV1d0YVMxTXhjRVZUYTFwc1ZteHdlRlp0ZERCV01VcFlaRE53V0Zac2NIWldSekZMVW1zeFdWSnNTbWxXUjNodlZtMXdUMkl5Vm5OaVNGWnBVbXh3YzFac1VrZFNiRlY0WVVkMFZXSlZXbmxWYlRWUFZsWlplbEZyWkZSaVJrcFFWV3hGYkUwd1VXeE5NRkVsTTBRJTNE
复制代码 放到cyber直接梭

得到flag.txt密码为hello 2020!
解压得到flag
flag{g00d_f0r_y0u}
misc50
题目

我的解答:
哈哈你嘲讽我?好好好等着!
010打开发现尾部有压缩包

foremost分离得到一压缩包,解压两次发现

base64解码得到密码123456(用于解压下一个压缩包)得到

放入cyber解码得到密文含有很多0x,应该是多余的把他们都删除

写个脚本:- import re
- from tqdm import tqdm
- def read_file(filepath):
- with open(filepath) as fp:
- content=fp.read();
- return content
- number = read_file('thienc.txt')
- result = []
- result.append(re.findall(r'.{2}', number))
- result = result[0]
- strings =''
- for i in tqdm(result, total=len(result), desc="处理中"):
- y = bytearray.fromhex(i)
- z = str(y)
- z= re.findall("b'(.*?)'",z)[0]
- strings += z
- b= strings.split('0x')
- strings=''
- for i in b:
- if len(i) ==1:
- i= '0' + i
- strings +=i
- with open('te.txt', 'w') as f:
- f.write(strings)
复制代码 把结果导入010 发现是7z

但是解压需要密码,在哪?我们foremost分离出来的还有个图片,010查看末尾发现

base64+32解码得到KEY{Lazy_Man}
然后解压7z得到

尝试发现是个base64+32循环解码。。。
使用脚本解码- import base64
- import re
-
- f = open('secenc.txt').read().encode('utf-8')
-
- while True:
- if re.match('^[2-7A-Z=]+$', f.decode('utf-8')):
- f = base64.b32decode(f)
- elif re.match('^[0-9a-zA-Z+/=]+$', f.decode('utf-8')):
- f = base64.b64decode(f)
- else:
- print(f.decode('utf-8'))
- break
-
- with open('result.txt', 'w', encoding='utf-8') as file:
- file.write(str(f,encoding='utf-8'))
- print("Decryption complete!")
复制代码 得到
查看代码 brainfuck/Ook加密
在线解码:https://www.splitbrain.org/services/ook
先Ook to text然后再brainfuck to text
得到flag:flag{Welc0me_tO_cTf_3how!}
。。。哎!这题是真的烦。。
misc30
题目

我的解答:
rar解压得到

只有中间的图片可以分析,另外两个都有密码
那就先分析星空,属性里面发现

使用该密码可解压doc文本,发现doc隐写

使用此密码解压图片

扫码得到 flag{welcome_to_ctfshow}
stega1
题目

我的解答:
无密码型jphs隐写
flag{3c87fb959e5910b40a04e0491bf230fb}
misc3
题目
密文:zse4rfvsdf 6yjmko0
提示1:解密后两个字符,小写 提示2:看看自己下面
提交flag{明文}
我的解答:
提示说了解密后就两个字符,而且是小写。。看看自己下面代表看看键盘(你在电脑旁,下面就是键盘)
直接对着键盘画就可得到flag
flag{av}
misc40
题目

我的解答:
只有第三个wav文件需要密码,其他都可以看
打开 conversion.txt- 110001010100011101
- 2>4>8>10
复制代码 二进制转十进制得到202013(先放这里)
打开 一张普通的二维码.png,直接扫不出结果。 010查看图片尾部发现 Brainfuck 编码
解码得到:
和谐民主和谐文明和谐和谐和谐自由和谐平等和谐公正
社会主义核心价值观解码得到:123456
然后使用此密码进行mp3解码- decode -X -P 123456 svega.mp3
复制代码 得到- hint:静默之眼
- 对了~另一个音乐的密码是abc123哦
- 你马上就成功了!
复制代码 使用此密码解压wav
我们需要使用静默之眼打开wav文件(注意这里我们之前解出来的202013还没用到!)

flag{C0ngr4tul4ti0n!}
misc30
题目

我的解答:
发现里面有图片,使用potplayer打开mp3,提取图片(点击属性->媒体内嵌资源->保存)


一眼丁真,图片宽高有问题,如下修改宽高得到


猪圈密码得到

然后mp3隐写解码(。。。居然不是)
那flag就是猪圈解码得出来的结果
flag{well done}
红包题第一弹
题目
86个压缩包

我的解答:
发现每个压缩包里面都有图片,010打开图片末尾都有base64部分,并且每个压缩包里面图片末尾的base64长度一样,刚好每一张的base64长度为100。猜测需要拼接起来然后解码
写个脚本:- import os
- import zipfile
- def zips(): #处理压缩包
- for i in range(1,87):
- zip_file = zipfile.ZipFile(str(i)+'.zip')
- zip_list = zip_file.namelist() #获取压缩包中的文件
- for f in zip_list:
- zip_file.extract(f, './a') #将压缩文件放入‘a’文件夹下
- zip_file.close()
- def base(): #处理图片中的base64
- flag=""
- for i in range(1,87):
- path ="a/"+ str(i)+".jpg"
- num = os.path.getsize(path) #获取图片的大小
- f = open(path,'rb')
- f.seek(int(num)-100)
- s = f.read(100) #读取最后100个字节
- flag+=bytes.decode(s)
- f.close()
- f1 = open('flag.txt','w')
- f1.write(flag)
- if __name__=="__main__":
- zips()
- base()
复制代码 输出结果解码得到二维码

扫码得到flag
flag{gif_is_so_easy}
stega10
题目
最终url需要将lanzous换成lanzoux,否则会出现社死现象

我的解答:
010查看图片发现base64解码得到:

https://www.lanzous.com/i9b0ksd
打开网址
注意提示:把网址的lanzous换成lanzoux。不然就尴尬了。。。
下载得到压缩包(需要密码)
发现压缩包里密码文件夹里有9个txt

一眼丁真,我们使用CRC爆破脚本得到解压密码。- import string
- import binascii
- s=string.printable
- #输入密码文件的CRC码
- c =[0xF3B61B38,0xF3B61B38,0X6ABF4A82,0X5ED1937E,0X09b9265b,0x84b12bae,0x70659eff,0x90b077e1,0x6abf4a82]
- password = ''
- for crc in c:
- for i in s:
- if crc==(binascii.crc32(i.encode())&0xffffffff):
- password =password + i
- print(password)
复制代码 得到密码:447^*5#)7
解压得到

然后我们解压n.zip得到一张反转的png图片

我们给他还原- f=open("n.png","rb")
- data=f.read()
- data=data[::-1]
- file=open("flag.png",'wb')
- file.write(data)
复制代码 得到

扫码即可flag{我好难啊}
stega11
题目

我的解答:
010查看图片发现一串base

MZWGCZ33GZTDCNZZG5SDIMBYGBRDEOLCGY2GIYJVHA4TONZYGA2DMM3FGMYH2
base32解码得到:
flag{6f1797d4080b29b64da5897780463e30}
misc4
题目

我的解答:
010打开文档发现是压缩包

修改后缀解压,进入到documents目录下打开此文件

发现这个地方可疑

搜索此处所有内容,然后拼接得到flag
flag{xps?Oh,Go0d!}
misc5
题目

我的解答:
红色通道4即可看到清晰的flag

flag{so_good_you_are}
misc6
题目
YZYPYUYAXOYWXXYZXWYBYSXAZSYRYCYWYYUUXQ=
我的解答:
base解不了,百度搜索字母解码即可
https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=zimu

flag{ctfshow_nice!}
misc31
题目

我的解答:
只能说这道题信息量彩蛋太多了。。。
hint.txt提示:让你听歌识曲就听歌识曲哦,别想太多哦~
那就听歌识曲得到:歌曲为林俊杰的“关键词”
打开file文件发现末尾有==号,每行第一个还有+号,猜测是base64转图片(直接放到cyber)

得到PDF密码:dlddddhm
解压得到:✿✼✿❂❀❀✿✽✿✿✿❄✿❀❀❄❀❊✿✻=
使用花朵解码:https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=huaduo
得到:qwertyuiop
猜测此结果可能是wav文件的隐写密码。但尝试无果。。。
那么唯一可以用到此密码的只能是PDF了,PDF隐写?
尝试无果。那应该是无密码PDF隐写。
得到:ENTYNSTLWNRNTKYW13287484
然后根据听歌识曲结果可知是关键词解码,关键词就是qwertyuiop
解码得到:CVEFVWETBVDVESFB13287484
使用此密码解压wav文件,然后steghide隐写,密码为文件名:xiaomotuo
flag{du_du_du_du}
misc49
题目

我的解答:
修改后缀解压得到


hint.txt是找到压缩包密码的关键
base解码无果,似乎跟上面那道题很像,我们尝试字母解码

然后音符解码得到- ❀✿✼❇❃❆❇✿❁❇✻✿❀✾✿✻❀❊❆❃❀❊✻❅❀❄✼❂❊❊✾❇❁✽✽✼❁❂❀❀❀❉❃❂❀❉❃❂❊❊✾✼✻✻❀❆✻✻❀❀✻✻✿❄✻✻✿❆✻✻✿❂✻✻❀❀✻✻❀❇✻✻❀✾✻✻❀❊✻✻❀❈✻✻❀❀✻✻❁❊✻✻✿✿✻✻❀❊✻✻❁❊✻✻❀✾✻✻✿✿✻✻❀❁✻✻✿❈==
复制代码 花朵解码得到- 听说水印很强大,我来康康!key{welcome_to_ctf}
复制代码 使用密码解压压缩包得到图片,然后盲水印

flag{y0u_are_we1l}
misc7
题目

我的解答:
010查看特性观察文件头为D0 CF 11 E0,这是旧版offic的文件,改后缀为PPT,打开发现需要密码
爆破密码得到:9919
打开后找到第7页(直接搜索flag就会定位到这一页)然后把文字改为红色即可看到flag。

Flag{okYOUWIN}
注意:不要把F换成f,得到的就是结果呜呜。这里有坑。
misc8
题目

我的解答:
从图片入手找压缩包密码
考点:明文破解

解压得到

扫码得到: flag{ctf_show_ok}
红包题第五弹
题目
多好听的歌,一边听歌一边拿flag不香吗?

我的解答:
我看到此名字感觉要画图(根据以往经验猜测罢了,也不一定。)
mp3里藏有图片,我们使用PotPlayer提取

mp3隐写,需要从图片找到密码?还是说图片steghide隐写?尝试许多无果。。那应该就不是从这个地方入手了。
我们分析一下压缩包发现里面还有个图片

卡里提取出来

尝试steghide隐写,密码猜测123456得到
steghide extract -sf 00017508.jpg
aHR0cHM6Ly93d3cubGFuem91cy5jb20vaTlkcGp4ZQ==
解码得到链接:https://www.lanzous.com/i9dpjxe
根据之前那道题经验把s改为x即可打开蓝奏云。。
下载得到

hex解码得到坐标和颜色值。

我们需要用脚本处理一下数据- import re
-
- # 正则规则 [1-9][0-9]{1,2}匹配三位数和两位数 \s匹配空格
- f1 = open('2.txt', 'w+')
- reg = re.compile(r'[0-9]*,\s[0-9]*,\s[0-9]*')
-
- with open('1.txt') as f:
- data = f.read()
- f.close()
- result = reg.findall(data)
- for i in result:
- print(i)
- f1.write(i + '\n')
复制代码 
然后画图即可(哈哈一开始果然猜对了)- from PIL import Image
-
- x = 72 # x坐标 通过对txt里的行数进行整数分解
- y = 74 # y坐标 x * y = 行数
-
- im = Image.new("RGB", (x, y)) # 创建图片
- file = open('2.txt') # 打开rbg值的文件
-
- # 通过每个rgb点生成图片
-
- for i in range(0, x):
- for j in range(0, y):
- line = file.readline() # 获取一行的rgb值
- rgb = line.split(", ") # 分离rgb,文本中逗号后面有空格
- if (rgb[0]):
- im.putpixel((i, j), (int(rgb[0]), int(rgb[1]), int(rgb[2]))) # 将rgb转化为像素
-
- im.save('flag.jpg')
复制代码 得到

二维码并不是很规范,我们需要修一下,上下位置换一下拼接即可(可用PS实现)
我是直接裁剪的。没用到PS。

扫码得到flag:
flag{ctf_show_fight}
stega2
题目

我的解答:
一眼丁真,宽高爆破

flag{na yi nian wo ye bian cheng le guang}
stega3
题目

我的解答:
这题白给了,查看第二个文件即可。(感觉附件变了,之前应该不是这样,应该没这么简单的)
flag{ntfs_is_so_cool}
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |