CTFmisc图像题(zsteg取zip、压缩包重组、IDAT数据隐写、Markdown编写LaTeX、零宽字节隐写) |
您所在的位置:网站首页 › 读取idat数据块 › CTFmisc图像题(zsteg取zip、压缩包重组、IDAT数据隐写、Markdown编写LaTeX、零宽字节隐写) |
文章目录
一、题目描述二、题目分析与完成zsteg取zip压缩包重组IDAT数据隐写Markdown编写LaTeX二维码Version零宽字节隐写
三、BMZCTF其他赛题wp
一、题目描述
BMZCTF第二届网络安全公开赛,主办单位:白帽子社区 · WHT战队,2022年1月1日,白帽杯 misc 题目名称:游戏秘籍 题目说明:做为程序员我的,竟然无法调出30条命,我用笔记记录下来了。 游戏秘籍hint:压缩包注意标识,再重组。 游戏秘籍hint2:笔记是用mardown记录的。 下载一张名为30.png的魂斗罗图片: zsteg 30.png查看一下(也可以zsteg -a 30.png): 010editor打开,发现一段提示:Need_Find_The_Passwd_to_unzip_file0 正常压缩包开头是50 4B 03 04,还包括50 4B 01 02和50 4B 05 06等字段。 一个 ZIP 文件由三个部分组成: 压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志 CTF压缩包隐写类(zip、RAR) 50 4B 01 02:目录中文件文件头标记 3F 00:压缩使用的 pkware 版本 14 00:解压文件所需 pkware 版本 00 00:全局方式位标记(有无加密,这里的 01 00为真加密) 08 00:压缩方式将此压缩包重组,搜索05 06、03 04 字段,发现均缺少50 4B,插入这两比特字节,然后用WinRAR自带的修复重组顺序。 用010editor打开,发现很多类似这样的错误: *ERROR: CRC Mismatch @ chunk[17]; in data: 5468655f; expected: 4a57f189 *错误:CRC不匹配@ chunk[17]; 在数据:5468655f; 预计:4a57f189
即新建16进制文本文档,然后在文本选项里选择导入16进制文件,最后在右下角改成UTF8编码。 写python脚本获得密码:What?That_is_a_passwd?! import base64 str1 = "U1kkgG:VbDE3[1oy[1Ee`DEy`0ghSzF>>>>" flag_base64 = "" for i in range(len(str1)): a = ord(str1[i]) ^ 0x03 flag_base64 += chr(a) print(flag_base64) flag = base64.b64decode(flag_base64) print(flag) # What?That_is_a_passwd?!解压压缩包得到Flag.txt。 Markdown编写LaTeX打开txt文档发现是一串下面这样的编码(这里用记事本打开,实际上不是这样排列的): # 游戏笔记 \begin{array}{c}\begin{array}{c}\begin{array}{c|ccccc}\\\uparrow\uparrow&0&1&2&3&4\\\hline0&1&1&1&1&1\\1&1&0&0&0&0\\2&1&0&1&1&1\\3&1&0&1&1&1\\4&1&0&1&1&1\\\end{array}&\begin{array}{c|ccccc}\\\downarrow\downarrow&0&1&2&3\\\hline0&1&1&0&0\\1&0&1&0&0\\2&0&1&0&1\\3&0&1&0&0\\4&0&1&0&0\\\end{array}&\begin{array}{c|ccccc}\\\rightarrow\rightarrow&0&1&2&3&4\\\hline0&1&1&0&1&1\\1&0&1&0&1&0\\2&0&1&0&1&0\\3&1&1&0&1&0\\4&0&0&0&1&0\\\end{array}&\begin{array}{c|ccccc}\\\leftarrow\leftarrow&0&1&2&3\\\hline0&0&0&1&0\\1&1&1&1&1\\2&1&0&1&1\\3&1&1&0&1\\4&1&0&0&0\\\end{array}&\begin{array}{c|cc}\text{ABAB}&1&2&3&4&5\\\hline0&1&1&1&1&1\\1&0&0&0&0&1\\2&1&1&1&0&1\\3&1&1&1&0&1\\4&1&1&1&0&1\\\end{array}\end{array}\\\begin{array}{c}\begin{array}{c|ccccc}\\\uparrow\uparrow&0&1&2&3&4\\\hline0&1&0&0&0&0\\1&1&1&1&1&1\\2&0&0&0&0&0\\3&1&1&1&0&1\\\end{array}&\begin{array}{c|cc}\\\leftarrow\leftarrow&0&1&2&3\\\hline0&0&0&0&1\\1&1&0&1&0\\2&1&0&1&1\\3&1&1&0&1\\\end{array}&\begin{array}{c|cc}\\\rightarrow\rightarrow&0&1&2&3&4\\\hline0&0&1&0&1&0\\1&0&1&0&1&1\\2&1&1&0&0&0\\3&1&0&1&1&0\\\end{array}&\begin{array}{c|cc}\\\downarrow\downarrow&0&1&2&3\\\hline0&0&1&0&0\\1&1&1&0&1\\2&0&0&0&1\\3&1&1&1&1\\\end{array}&\begin{array}{c|cc}\text{ABAB}&1&2&3&4&5\\\hline0&0&0&0&0&1\\1&1&1&1&1&1\\2&0&0&0&0&0\\3&0&0&1&0&0\\\end{array}\end{array}\\\begin{array}{c}\begin{array}{c|ccccc}\\\uparrow\uparrow&0&1&2&3&4\\\hline0&1&0&0&0&0\\1&1&1&1&0&1\\2&1&0&1&1&1\\3&0&1&1&1&1\\\end{array}&\begin{array}{c|cc}\\\downarrow\downarrow&0&1&2&3\\\hline0&0&1&0&1\\1&0&0&1&1\\2&1&1&1&1\\3&0&0&0&0\\\end{array}&\begin{array}{c|cc}\\\rightarrow\rightarrow&0&1&2&3&4\\\hline0&0&0&1&1&1\\1&1&0&0&0&1\\2&0&0&1&1&0\\3&1&0&0&1&0\\\end{array}&\begin{array}{c|cc}\\\leftarrow\leftarrow&0&1&2&3\\\hline0&0&0&0&0\\1&0&1&0&0\\2&0&0&1&0\\3&0&1&1&1\\\end{array}&\begin{array}{c|cc}\text{ABAB}&1&2&3&4&5\\\hline0&1&1&0&1&1\\1&0&0&0&1&0\\2&1&0&1&1&0\\3&1&1&1&0&0\\\end{array}\end{array}\\\begin{array}{c}\begin{array}{c|ccccc}\\\uparrow\uparrow&0&1&2&3&4\\\hline0&0&1&0&0&0\\1&1&0&1&1&1\\2&0&0&0&0&0\\3&1&1&1&1&1\\4&1&0&0&0&0\\\end{array}&\begin{array}{c|cc}\\\downarrow\downarrow&0&1&2&3\\\hline0&0&0&1&1\\1&1&1&1&0\\2&0&0&0&1\\3&1&1&0&1\\4&0&1&0&1\\\end{array}&\begin{array}{c|cc}\text{ABAB}&1&2&3&4&5\\\hline0&0&1&0&1&0\\1&1&1&1&0&1\\2&1&1&0&1&1\\3&1&0&1&0&1\\4&1&0&0&0&1\\\end{array}&\begin{array}{c|cc}\\\leftarrow\leftarrow&0&1&2&3\\\hline0&1&0&1&0\\1&0&1&1&1\\2&0&1&0&1\\3&0&0&1&0\\4&1&1&1&1\\\end{array}&\begin{array}{c|cc}\\\rightarrow\rightarrow&0&1&2&3&4\\\hline0&1&0&0&0&0\\1&1&1&1&1&1\\2&0&1&0&0&0\\3&1&1&0&1&0\\4&1&1&0&0&0\\\end{array}\end{array}\\\begin{array}{c}\begin{array}{c|ccccc}\\\uparrow\uparrow&0&1&2&3&4\\\hline0&1&0&1&1&1\\1&1&0&1&1&1\\2&1&0&1&1&1\\3&1&0&0&0&0\\4&1&1&1&1&1\\\end{array}&\begin{array}{c|cc}\\\downarrow\downarrow&0&1&2&3\\\hline0&0&1&0&1\\1&0&1&0&0\\2&0&1&0&1\\3&0&1&0&1\\4&1&1&0&1\\\end{array}&\begin{array}{c|cc}\\\leftarrow\leftarrow&0&1&2&3\\\hline0&0&0&0&0\\1&0&0&1&1\\2&1&1&0&0\\3&0&1&1&0\\4&1&1&0&0\\\end{array}&\begin{array}{c|cc}\text{ABAB}&1&2&3&4&5\\\hline0&1&0&1&0&1\\1&1&0&1&1&0\\2&0&1&1&0&1\\3&0&0&1&1&1\\4&0&0&0&0&1\\\end{array}&\begin{array}{c|cc}\\\rightarrow\rightarrow&0&1&2&3&4\\\hline0&1&1&1&1&1\\1&0&0&1&1&1\\2&1&1&1&1&1\\3&1&0&1&1&0\\4&1&0&0&1&1\\\end{array}\end{array}\end{array}这是LaTeX代码,结合官方给出Hint2:笔记是用mardown记录的。 Markdown插入LaTeX公式 CSDN的MarkDown编辑器使用的公式定界符为和$$和$,单美元符号包围的是行内公式,双美元符号包围的是块公式。 我们知道在mardown语法中两个$$中可以加入LaTeX代码,就会表示成公式。 看到5行5列的表格,全是由01组成,想到二维码。 根据题目魂斗罗调30条命,百度发现秘籍是:上上下下左右左右BABA(用上上下下左左右右ABAB来排列)。 但是,23x23尺寸的二维码不合理。 二维码官方叫版本为Version。 二维码一共有40个尺寸。Version 1是21 x 21的矩阵,Version 2是 25 x 25的矩阵,Version 3是29的尺寸,每增加一个version,就会增加4的尺寸,公式是:(V-1)*4 + 21(V是版本号)最高Version 40,(40-1)*4+21 = 177,所以最高是177 x 177 的正方形。 version2 二维码的标准大小应该是25x25。想到零宽字节隐写。 零宽字节隐写这里用010editor打开,或者在kali下的vim打开字里行间填充的正是零宽字节的隐写特征。
第二届BMZCTF公开赛-easymisc: https://blog.csdn.net/mochu7777777/article/details/122005160?spm=1001.2014.3001.5501 第二届BMZCTF公开赛-WEB——easy_php、zblog-scshop: https://seizer.top/post/2022-01/BMZCTF/ BMZCTF官方靶场: http://www.bmzclub.cn/ 第二届“BMZCTF”网络安全公开赛CFS题目WriteUp: https://www.bll-l.com/index.php/archives/12/ WHT战队博客(BMZCTF往年真题): https://blog.csdn.net/qq_26243045 第二届“BMZCTF”网络安全公开赛官方解题思路(全部题): https://mp.weixin.qq.com/s/ZEfY-u9TgkWOgX__BK40mw |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |