CTF show misc之旅 (wp详解一部分) |
您所在的位置:网站首页 › ctfshow萌新必刷的杂项签到怎么做 › CTF show misc之旅 (wp详解一部分) |
前言 首先感谢ctf show平台提供题目 其次感谢各位读者,对我的支持( •̀ ω •́ )y 有什么问题和建议可以私聊我 废话不多话开启你们的CTF之旅吧 希望你们在旅途中玩的开心,学的开心✌( •̀ ω •́ )y 目录 1.杂项签到 2.misc2 3.Miscx 4.misc50 5.misc30 6.stega1 7. misc3 8. misc40 9.misc30 10. 红包题第一弹 11.stega10 12.stega11 13.misc4 14. misc31 15.misc49 16.misc6 17.misc7 18.misc8 19.红包题第五弹 20.stega2 21.stega3 加油各位( •̀ ω •́ )y 期待与君再相逢 1.杂项签到就让这个签到题来开启我们的CTF misc之旅吧 下载附件发现是个压缩包 但解压需要密码 但没有找到任何提示 所以有理由怀疑是伪密码 拖到010里发现确实是伪密码 经过修改 解压得到flag flag{79ddfa61bda03defa7bfd8d702a656e4} ( •̀ ω •́ )y 2.misc2下载附件得到应该无后缀的file文件 根据提示 知道是个软盘 所以直接新建虚拟机并载入软盘镜像 运行直接得到flag flag{ctfshow} ( •̀ ω •́ )y 3.Miscx 下载附件里面 未加密的misc1.zip 加密的flag.txt 加密的hint.txt 还有 附加文本: 2020快乐! rat?or? 后俩都需要密码所以先研究misc1.zip 查看misc1压缩包 内含加密的music.doc文件跟一个png后缀的图片 将图片拖进010里发现 判断为误导信息 结合前面提示 猜想doc文件解压密码为2020 解压music.doc出来是音符编码 提供在线网站https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=yinyue 盲猜Base64 继续转码 结果不是 想起前面的附加文本提示 猜想是rabbit加密 密钥是2020 得到welcome_to_payhelp 想到有俩加密的txt文档 以此为密码只解压出了hint.txt 看见这种代码先base64 发现有效果 最后多次base64转码得到 这一看就是url编码 成功得到密码 hello 2020! 给flag.txt解压得到flag flag{g00d_f0r_y0u} ( •̀ ω •́ )y 4.misc50下载附件里面只有一张图片 废话不多说010拖一波 发现中间有一串代码 Sk5DVlM2Mk1NRjVIU1gyTk1GWEgyQ1E9Cg== Base64再来一波 JNCVS62MMF5HSX2NMFXH2CQ= 然后base32 得到 KEY{Lazy_Man} 很明显了 肯定是哪个压缩包的解压密码或者那种隐写的密钥 所以图片foremost一下 得到一个压缩包 应证之前的猜想 打开压缩包发现有提示 GEZDGNBVGYFA==== Base32来一下得到123456 是压缩包的密码 解压得到thienc.txt 里面是一大堆数字 仔细观察这一堆数字,发现3078重复出现 后面跟两个十六进制的字符 你如果用心去找发现3078 就是0x 所以思路就来了 删除0x 转化成压缩包格式 在这里就必须用到脚本了(python不好的朋友可要好好学习哦) import re def read_file(filepath): with open(filepath) as fp: content=fp.read(); return content number = read_file('1.txt') result = [] result.append(re.findall(r'.{2}', number)) result = result[0] strings ='' for i in result: 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('test.txt', 'w') as f: f.write(strings)得到一个压缩包
解压出来是一个txt文本 在文本结尾发现== 废话不多说直接上base64 因为文本太长了所以只能用脚本 Base64脚本 import base64 import re def read_file(filepath): with open(filepath) as fp: content=fp.read(); return content url = read_file('1.txt') url = re.findall("b'(.*?)'",url)[0] url = base64.b64decode(url) with open('2.txt', 'w') as f: f.write(str(url))Base32脚本 import base64 import re def read_file(filepath): with open(filepath) as fp: content=fp.read(); return content url = read_file('2.txt') url = re.findall("b'(.*?)'",url)[0] url = base64.b32decode(url) with open('3.txt', 'w') as f: f.write(str(url))经过多次转换这串字符总共经历了16次的base64与base32混合加密 得到这种编码 但因为有\n所以不是很规范 从网上找个脚本 def read_file(filepath): with open(filepath) as fp: content=fp.read(); return content result = read_file('test15.txt') result = result.replace(r'\n',' ') with open('test16.txt', 'w') as f: f.write(result) 提供一个在线网站 Brainfuck/Ook! Obfuscation/Encoding [splitbrain.org]
继续
得到flag
flag{Welc0me_tO_cTf_3how!} ( •̀ ω •́ )y 5.misc30下载附件是一个无后缀的rar文件 根据提示自然要加上rar的后缀 解压之后里面是 没有加密一个星空.jpg 加密的flag.png 加密的眼见不一定为实.doc 所以先从星空.jpg下手
little stars 盲猜是解压密码 直解开了眼见不一定为实.doc 你会发现底下是有东西的 所以先尝试改变颜色成功 Hello friend! 怀疑是另一个的解压密码 成功解压出一张二维码 扫码得到flag flag{welcome_to_ctfshow} ( •̀ ω •́ )y 6.stega1下载附件解压得到jpg图片一张 在尝试多种隐写分离无果时 想到了jphs隐写 工具下载 在软件里打开 没有密钥直接点OK
flag{3c87fb959e5910b40a04e0491bf230fb} ( •̀ ω •́ )y 7. misc3 密文:zse4rfvsdf 6yjmko0 最开始没看提示各种解密试半天 看吧提示才想到有可能是键盘布局 再根据提示得到flag flag{av} ( •̀ ω •́ )y 8. misc40下载附件解压 得到一个txt文件 一个mp3文件 一个png二维码 还有一个加密的wav文件 打开txt 盲猜进制转换 提供在线网站https://www.osgeo.cn/app/s1653 二进制 到 四进制 到 八进制 到 十进制 110001010100011101 到 301110131 到 612435 到 202013 202013盲猜是密码或密钥 不着急先看看别 扫码得到 flag不在这里 可能没有这么简单 所以010拖一波 果然在尾部发现了一串编码 在线网站 得到 和谐民主和谐文明和谐和谐和谐自由和谐平等和谐公正 社会主义核心价值观编码 得到123456 还有一个音频 经过尝试MP3Stego隐写 秘密是刚刚的123456 工具下载地址 MP3Stego音频隐写工具-编解码文档类资源-CSDN下载MP3Stego算法主要集中于编码参数域的隐写MP3压缩原理和MP3Stego算法概述MP更多下载资源、学习资料请访问CSDN下载频道. 得到一个文本 提示说密码是abc123 先解压 还有提示说hint是静默之眼不知道是什么 后来百度才知道是silent eye 工具下载 silent eye Key是之前解出来的202013 flag{C0ngr4tul4ti0n!} ( •̀ ω •́ )y 9.misc30 下载附件 发现压缩包需要密码 因为没有提示所以第一想到的是伪加密 先用win修复一下 成功得到里面的音频 又是各种隐写发现没用 就想到可能是藏东西所以Kali foremost一下 分理出一张图片 看见图片就试试常规操作改高度 得到 这一看典型的猪圈密码 这是对照表 最后得到 flag{well done} ( •̀ ω •́ )y 10. 红包题第一弹 下载附件解压得到86个压缩包 每个压缩包里面还有图片 这是不能慌 我们先打开一个图片放进010里分析分析 看头这可能是一个GIF的文件给分割成一块一块的 再看尾 明显的base64代码 再去看看其他图片和这一样除了代码不一样 所以思路来了 把所以代码整合到一起然后破译 当然肯定要用脚本 import zipfile for i in range(1, 87): # 读取压缩包 z = zipfile.ZipFile('D:\py\flag.zip/' + str(i) + '.zip', 'r') # 读取压缩包内的图片内容 filename = z.namelist()[0] content = str(z.read(filename)) # 把base64编码部分打印出来 len1 = len(content) content1 = content[len1 - 101:len1 - 1] print(content1)得到base64代码 直接用base64转图片 在线网站 得到二维码 扫码得到flag flag{gif_is_so_easy} ( •̀ ω •́ )y 11.stega10下载附件 解压得到一张图片 老规矩010里走一波 发现了一串编码 盲猜base64 得到一个https://www.lanzous.com/i9b0ksd 根据经验把s改成i 得到下载页面 都需要密码所以只能从文本下手 所以上脚本 上网找的 import zipfile import string import binascii crc = [] zip = zipfile.ZipFile('C:/ctfshow/misc/flag.zip', 'r') for i in zip.namelist(): crc += [zip.getinfo(i).CRC] crc = crc[1:10] for i in range(9): for j in string.printable: c = binascii.crc32(j.encode('utf-8')) if c == crc[i]: print(j, end='')运行得到 447^*5#)7 怀疑是压缩包密码 解开了n.zip的压缩包 却得到了你无法打开的图片 那就010走一下 仔细观察头和尾发现代码反了 所以找脚本 f = open('C:/Users/lujin/Desktop/n.png', 'rb').read() res = open('C:/Users/lujin/Desktop/1n.png', 'wb') res.write(f[::-1])运行得到二维码一张 扫码得到flag flag{我好难啊} ( •̀ ω •́ )y 12.stega11下载附件得到图片 老规矩010走 发现一串编码 直接base32 没想到直接出来了 flag{6f1797d4080b29b64da5897780463e30} ( •̀ ω •́ )y 13.misc4下载附件是一个无后缀的rar文件 不要想后缀rar加上 解压得到一个文档 虽然是乱码,但发现PK开头,zip格式压缩包 ,修改后缀后解压得到一推东西 只能一个一个找替你们排坑了 最后在办公文档\Documents\1\Pages\1.txt得到线索 最后得到flag{xps?Oh,Go0d!} ( •̀ ω •́ )y 14. misc31下载附件得到 file , hint.txt ,听歌识曲 是没有加密的 剩下的需要加密所以从这几个入手 解密file 拖010 看尾巴像base64 因为文本太多了 想到了base64转图片 在线网站 得到dlddddhm 解密pdf 得到小花 花朵符号解密 得到qwertyuiop 发现目前没什么用 所以肯定没那么简单 猜测pdf可能还有隐写 经过多次尝试 工具下载 wbStego4.3open 进行pdf 解密,没有秘钥 得到 只剩下xiaomotuo.wav 这两个信息提示的是关键字 所以就想到了关键字密码 在线网站 得到CVEFVWETBVDVESFB13287484 是xiaomotuo.wav的密码 各种音频隐写没用 来一波steghide分离 得到flag flag{du_du_du_du} ( •̀ ω •́ )y 15.misc49下载附件发现里面只有一个txt的文本打开 打开发现文件的头是PK 尝试更改后缀zip 并解压 发现只有hint.txt可以解压 1.png 2.png需要密码 打开hint.txt 有大写字母有=号尝试base32 64都没有用 所以尝试文本加密为字母 提供一个在线网站https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=zimu 发现是音符编码在线网站https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=yinyue 文本加密为音乐符号 发现是个套中套 花朵编码 在线网站https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=huaduo 找到压缩包密码key{welcome_to_ctf} 解压出两张图片 想到前面有提示 所以尝试盲水印 利用盲水印工具或者脚本 得到flag flag{y0u_are_we1l} ( •̀ ω •́ )y 16.misc6下载附件得到文本 发现=字母所以首先尝试base32 64,但发现无果 碰码不慌千千秀字 最后得到flag flag{ctfshow_nice!} ( •̀ ω •́ )y 17.misc7下载附件得到一个无后缀的文件 查看属性无果 拖进010里查格式发现文件头是D0 CF 11 E0 A1 B1 1A E1 查询了一下这是旧版offic的文件的格式 所以尝试添加后缀,发现pdf可以打开 但文档被加密了所以尝试使用Advanced Office Password Recovery爆破 使用密码打开后直接搜索字符得到flag 改变字体颜色 得到Flag{okYOUWIN} ( •̀ ω •́ )y 18.misc8下载附件得到flagnothere.jpg跟org.zip 且压缩包加密 压缩包中也含有flagnothere.jpg 根据之前经验盲猜明文破解 工具下载 成功了 得到二维码 扫码得到flag flag{ctf_show_ok} ( •̀ ω •́ )y 19.红包题第五弹下载附件发现里面是一个音频 根据提示利用各种音频工具去破解 才发现自己被骗了 所以废话不多说压缩包直接进行分析 在查找之后发现有压缩包里可能有图片 所以直接kali分离 先不试别的在进行一次foremost分离发现没有用 所以换一种分离方式steghide 分离出一个txt文本 有大小写有= 先来一波base64 发现网址但打不开 根据经验吧s改成i https://www.lanzoui.com/i9dpjxe 下载附件 发现里面是一个十六进制的文本 首先想到的是直接转进制或者转文本但都以失败告终 后来仔细观察里面的字母并没有大于f的 按正常思路,每俩个字符,转文本 经过多次尝试 十六进制转换得到坐标 提供一个在线网站https://gchq.github.io/CyberChef/#recipe=From_Hex('None')To_Binary('Space',8/breakpoint) 看这个结构,我们应该可以确定,是坐标与颜色值, 发现是(255, 255, 255)和(0, 0, 0),这不是R.G.B嘛,(255, 255, 255)代表白色,(0, 0, 0)代表黑色 所以必须用脚本把这个文本画出来 使用脚本格式化,整理成坐标,让文本规范起来 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')再使用gbk脚本解出来 用脚本把这个文本画出来 rom 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') # 也可用im.save('flag.jpg')保存下来得到jpg图片 一看就知道需要重新拼接图片 这时候就需要用到PS了 用剪切得到完整的二维码 最后扫码得到flag flag{ctf_show_fight} ( •̀ ω •́ )y 20.stega2下载附件得到一张png格式的图片 最开始是我想复杂还用了分离 后来发现直接改高度就行 最后拿到flag flag{na yi nian wo ye bian cheng le guang} ( •̀ ω •́ )y 21.stega3下载附件解压发现里面只有一张图片 所以便尝试了各种隐写 结果以失败告终 于是便想到了NTFS数据流隐写 便利用Ntfs Streams Editor2工具 工具下载 找到了txt文件拿到了flag flag{ntfs_is_so_cool} ( •̀ ω •́ )y 加油各位( •̀ ω •́ )y 期待与君再相逢 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |