解题思路
下载附件得到一个压缩包,解压得到一张“中国矿业大学的校标”;
根据题目的名字:LSB
我们可知这是一题“LSB”隐写,那什么是“LSB”隐写呢,我们简单来说一下;
LSB隐写术(Least Significant Bit Steganography) 是一种在数字媒体中隐藏信息的技术。它通过将数据隐藏在文件的最不重要的位(即最低有效位)中,使得嵌入的秘密信息不会明显改变文件的外观或行为。
LSB隐写的主要原理:
数字图像:图像中的每个像素通常由红色、绿色、蓝色(RGB)三种颜色的值来表示,每种颜色值用8位二进制表示。LSB隐写术会将秘密信息嵌入到这些颜色值的最后一位(最低有效位)中。例如,如果某个颜色值是,将其最后一位替换为秘密信息中的一位,就可能变成。这种微小的变化人眼几乎察觉不到。
音频或视频文件:同样可以使用LSB隐写术,将信息隐藏在音频或视频文件的每个采样值的最低有效位中。
LSB隐写的优点:
隐蔽性强:因为最低有效位的变化非常细微,通常不会影响文件的整体质量,人眼或耳无法察觉。
适用范围广:可以应用于图片、音频、视频等多种类型的媒体文件。
LSB隐写的缺点:
容易被检测和破坏:由于嵌入的信息只改变了最低有效位,文件经过压缩或编辑时,隐藏的信息很容易被破坏。
信息容量有限:LSB隐写能隐藏的信息量通常有限,取决于文件的大小和数据的位深度。
总的来说就是LSB隐写术常用于CTF比赛中的隐写题目,通过提取图像或音频文件中的最低有效位来获取隐藏的信息。
那这里我们直接丢进常用的工具“Stegsolve.jar”,那有的师傅可能就疑问了,这是一个什么样的工具呢?
Stegsolve.jar 是一款常用的隐写分析工具,主要用于提取图像中的隐藏信息。它在CTF(Capture The Flag)比赛中的隐写题目中广泛应用,帮助参赛者通过图像的各种操作和分析来发现嵌入的秘密数据。
Stegsolve.jar的主要功能:
图像通道分离:
二进制位平面分析(Bit Plane):
图像格式转换和查看:
逐帧分析:
其他图像处理功能:
Stegsolve.jar的使用步骤:
Stegsolve的优点:
那我们直接把图片导入到“Stegsolve.jar”中,那我这里已经是成功导入;
那既然已经打开了,我们就可以点击下方的两个箭头,向左向右翻动;
哎,也是惊奇的发现在“Red plane 0”这个通道最上方发现了一抹说不清是什么的东西;(我们暂且先不管,记住这个通道就行——Red plane 0)
那我们接着往右进行翻找,也是很快在“Green plane 0”发现了同样的;(也是同样的无需理会,记住即可——Green plane 0)
那我们接着往右进行翻找,又在“Blue plane 0”发现了同样的;(同样需要理会——Blue plane 0)
那往后翻找就没有在发现类似的了,那我们继续进行下一步;
首先点击最上方的---->接着选中
我们就能看到;
这时候勾选之前我们看见的:、、
接着再根据题目的提示:LSB
最后勾选完整并且点击:Preview
如图下;
最后的最后,再点击,保存为——flag.png;
最后打开我们保存下来的图片,会得到一个二维码,这时候我们不管使用什么扫描都是可以扫出二维码的,不过要说更为便捷一些,那也还得是我们“MICS”常用到的扫描工具——QR_Research
简单介绍一下“QR_Research”;
“QR_Research” 是一个专注于二维码分析和研究的工具。该工具主要用于帮助用户深入分析和探索二维码的内容和结构,尤其在安全领域,如二维码中的隐写、恶意二维码检测等。它的功能包括:
最后的最后也是成功扫出flag;
至此;
解题思路
下载附件得到一个压缩包,解压得到一个空白无后缀文件——circle;
那我们选中右键——打开方式——使用“010”编辑器打开得到;(当然有“winhex”就不一定需要使用“010”,看自己喜欢即可)
一眼望过去就发现这是一个以ASCll码头部为首的文件,接着又看见十六进制头部为:,那这里我们就不需要再看了直接退出,选中文件将后缀修改为“circle.zip”接着继续打开即可!
接着继续打开压缩包,会发现里面还有一个空白后缀文件;
那我们解压完成继续使用“010十六进制编辑器”进行查看分析,然后发现这次的文件头部还是"PK"、;
那没办法了继续退出文件改为——,改完之后继续打开压缩包,发现里面又有一个一模一样文件名的文件
那我们解压继续丢进“010”分析;
发现也还是跟前面基本一模一样的场景,那到这里就没必要继续进行手动解压改后缀了,因为这里我们遇到压缩包套娃了,那什么是所谓的压缩包套娃呢?
简单解释一下什么是压缩包套娃
在MISC (Miscellaneous) 题目中,压缩包套娃 是一种常见的挑战形式。压缩包套娃的核心思想是将多个压缩文件嵌套在一起,选手需要逐层解压,最终找到目标文件或信息(如 flag)。
以下是压缩包套娃的具体描述:
那这里我们直接丢给GPT帮我写一个自动修改文件后缀并解压的脚本;
脚本如下(Python);
脚本分析;
这个脚本的功能是循环遍历指定文件夹中的文件,将不是 后缀的文件重命名为 ,然后尝试解压这些文件。解压过程会无限进行,直到手动停止。这种方法可以用于解压套娃式的文件,即多个嵌套的压缩包。
脚本深入分析:
模块导入:
无限循环:
遍历文件夹:
处理文件:
检查是否是 文件:
解压 ZIP 文件:
运行也是成功得到了“flag.zip”,最后解压即可得到flag;
这里需要注意的是读取文件的具体路径;
至此;
解题思路
下载附件得到一个压缩包,打开说损坏的,接着使用“010”打开分析,发现存在——伪加密;
那有的师傅可能就有疑问了,那什么是“伪加密”呢?
简单来说ZIP 伪加密 中一个非常经典的破解方式,也叫做“ZIP 伪加密破解”,这是利用 ZIP 加密文件中的漏洞进行破解,而不需要知道密码的情况。
在早期的 ZIP 加密算法(尤其是弱加密算法)的实现中,文件的第 9 和第 15 字节的值被设置为 0,会让 ZIP 文件看起来像是加密的,但实际上它并没有进行有效加密。这是一种非常常见的漏洞,它可以被利用来绕过加密,直接访问压缩包内容。
破解这种伪加密 ZIP 文件的方法通常是通过手动修改文件的这些特定字节,或者使用专门的工具进行自动化操作。具体步骤如下:
识别 ZIP 文件的加密标志: ZIP 文件格式有一个固定的结构,其中包含头部信息。如果发现 ZIP 文件的第 9 和第 15 字节是 ,可以推测该文件可能使用了伪加密。
手动修改 ZIP 文件: 使用二进制编辑器(如 )直接修改文件中的加密标志,删除这两个字节的加密标志,重新保存文件。此时,文件即使有加密提示,也可以被打开。
工具破解: 一些破解工具可以自动检测并绕过这种伪加密,常见的工具包括 或者 等,这些工具通过字节分析找到文件中的加密弱点,并自动破解。
总结来说,这种第九、第十五字节的设置为 0 的现象是 ZIP 文件格式中一种特定的加密漏洞,属于 ZIP 弱加密破解中的一种技巧,也属于 CTF 中 MISC 类题目可能会考察的知识点。
但其实现在也不需要那么麻烦了,现在的MISC很少会出现这种所谓的“送分题”,因为现在很多的解压工具能直接识别并且直接解压出来,刚刚我的其实就自动识别并且解压的,要不是看题目“wp”我甚至都以为这题白送呢;
那如今许多解压工具已经能够自动识别并处理 ZIP 文件中的这种“伪加密”情况。这是因为现代的解压缩工具更加智能化,能够检测并绕过早期 ZIP 文件加密算法中的漏洞。
以下是几种可以自动识别并直接解压伪加密 ZIP 文件的常用解压工具:
WinRAR WinRAR 是一种非常流行的压缩和解压缩工具,支持多种压缩格式。它能够自动识别并绕过伪加密 ZIP 文件,不需要手动破解。
7-Zip 7-Zip 是一款开源的解压缩工具,它同样可以自动识别并解压伪加密 ZIP 文件,省去了手动修改的麻烦。它支持多种格式,尤其以对压缩比和性能的支持而闻名。
Bandizip Bandizip 是另一款支持多种压缩格式的工具,它也具备处理伪加密 ZIP 文件的功能,用户可以直接解压而不会受到加密标志的限制。
这些现代工具通过智能分析 ZIP 文件头部信息,可以识别出伪加密标志,直接解压文件而无需手动破解。这使得伪加密漏洞的破解变得不再是一个复杂的过程,因此这个考点在 CTF 中确实不再常见。
不过这里我用的“360解压”,也是成功直接解压出来;
当然如果还是打不开的,就可以尝试在“010”中修改一下;
修改如下;
接着“Ctrl+s”保存并退出,这时候在打开压缩包就会发现是可以打开了;
至此;
解题思路
下载附件得到一个“提示.txt”以及一个“MISC-yxx.zip”,那我们接着继续打开“MISC-yxx.zip”,发现里面有一个“密文.txt”和一个“明文.txt”,那我们接着先打开“提示.txt”进行分析;
“提示.txt”
一眼就发现了关键的——xor,那这里面可能有的师傅是第一次接触“xor”这个东西,不过那也没关系,我们一起来简单介绍一下什么是“xor”;
什么是“xor”?
其实简单来说,XOR(异或)是一种逻辑运算,常用于计算机科学、密码学和数字电路中。它的全称是“exclusive OR”(排他或),是一种二进制运算,其运算规则如下:
用符号来表示:
XOR 的性质:
XOR 的应用:
那我们再结合“提示.txt”里面的提示,简单分析一下;
初步来看这三个点结合在一起,大致可以解释为一种基于 XOR 运算的加密过程,并且通过十六进制转换为二进制来确保明文和密文的长度一致。下面是每个点的简单分析:
XOR 是一种加密算法的核心运算。它的性质使得 XOR 可以用于对称加密:
由于 XOR 的自反性,使用同一个密钥再次 XOR 密文,就可以还原出明文。
这一步涉及数据表示格式的转换。在加密或解密过程中,数据可能会以十六进制表示。为了使用 XOR 进行运算,通常需要将十六进制数据转换成二进制格式进行位级别的操作。
就是将一个用十六进制表示的数转换成其对应的二进制数。例如:
这样可以使数据适应位操作(如 XOR 运算)。
这一点强调了加密后的密文和明文的二进制表示长度是相等的。因为 XOR 是位操作,在加密和解密过程中,密文和明文的二进制位数需要相同。否则,位级别的 XOR 运算将无确执行。这意味着:
总结
这三个步骤描述了一个加密流程:
那这里我们打开所给出的“密文.txt”以及“明文.txt”来看一下;
“密文.txt”
“明文.txt”
那既然都已经了解成这样了,我们也话不多说直接上脚本吧!
脚本如下;(Python)
运行得到;
至此;
题目描述:
南梦最近天天看冬奥会,这时他突然想到一个思路,出了这道题,大家可以仔细看看图片有啥端倪?请下载附件答题获取到flag进行提交
解题思路
下载附件得到一个压缩包,解压出来得到一张图片如下;
那这里我们对这张图片进行分析的时候,对这张图放发现一个一个的像素点;
如图下;
这样看大家可能就明细一些,那这题是的没错,就是把这些带有颜色的像素点,每一个都可以手动用笔画出来,最后也是可以得出flag,当然这样肯定是费眼睛的,因为后面的背景是黑色的,所以这里我们就可以观察一下这些像素点的规律写一个脚本直接提取出最后的flag;
如果是用笔画的,那可能看这张图会更明细一些;
那这里我们也可以写脚本进行像素提取;
脚本如下;(Python)
运行得到;
flag如图下;
至此;
解题思路
下载附件得到一个压缩包,打开来里面还是一张图片,不过这个图片看起来只有半边身子,别问我为什么看起来只有半边身子,因为这题很“BUU”,那这里我们话不多说直接上实操;
“dabai.png”
其实这种题一眼就是宽高有问题,要不知道是宽高的话,我们可以直接丢进“Kali”中看看图片是否能正常显示,如不能正常显示出来,说明就是图片的宽高有问题,因为“Kali”对图片的宽高有严格的CRC值效验;
其实严格一些来解释就是;
在Kali Linux(或其他操作系统)中,如果图片显示不出来,可能是因为图片的宽高存在以下问题:
图片文件可能在传输、保存、或处理过程中损坏,导致其宽高等元数据无确读取。某些图片查看器无法解析受损的图片,从而无法显示图片。
图片的宽高信息在图片文件头中存储。如果图片的宽高信息不正确(例如宽高为零或负数),图片查看器将无常渲染图像,导致显示错误。
主要其实就是这两点,其它的到无所谓了,因为平时也遇不到;
图片在kali中;
所以这里我们直接使用“010”打开图片修改一下图片的宽高即可;
那这里我们使用“010”来修稿图片的宽高时需要注意一下几点;
不同的图片格式(如 PNG、JPEG、BMP 等)有不同的文件结构,宽高信息存储的位置不同。因此,首先要了解你所使用的图片格式的规范。
. 用 010 Editor 修改宽高
通过正确识别和编辑宽高信息,可以成功修改图片的尺寸,不过修改后图片质量和显示效果可能会受到影响。
那这里我们的图片格式是“png”,而且也只是需要修改图片的高度,所以只需要修改 “IHDR”块的第 20 到 23 字节;
那这里你像我就直接喜欢把图片改到最高,这样不管它藏的在深都能找出来;
修改高:00 03 01 4c
如图下;
修改完之后,注意文件上方的星号,“Ctrl+s”进行保存;
最后选择打开方式为“画图”即可看见flag;
至此;
题目描述:
我猜你找不到我
请下载附件答题获取到flag进行提交
解题思路
下载附件得到一个带锁的压缩包,那没办法我们先丢进“010”简单分析一下;
“压缩包需要密码”
使用“010”打开压缩包,翻到最底下疑似发现密码,尝试输入发现密码正确;
尝试解压发现密码正确——key is PPPaAaS;
解压出来得到两个文件“findme.mp3”以及“secret.rar”;
这时候我们想打开压缩包简单看一下发现也还是需要密码;
那就没办法了,我们先去简单分析一下“findme.mp3”,首先MP3格式的首先我就想到一个常用的分析工具——Audacity
那我们简单来介绍一下“Audacity”这个工具的具体使用方法;
Audacity 是一个免费的开源音频编辑软件,广泛用于录制、编辑和处理音频文件。在 CTF(Capture The Flag)比赛中,Audacity 是一个分析和提取音频文件中隐藏信息的有力工具,通常用于“取证”或“隐写术”类的挑战。
使用方法:
常见的 CTF 场景:
那这里我们直接把文件“findme.mp3”丢进去看一下音频的“频谱图视图”;简单分析一下;
也是根本不需要费什么劲,直接移动到最后也是成功发现音频中的“摩斯密码”,那这里我们直接上“记事本”手敲一下,其实也很简单,”摩斯密码“无非就是长和短的区别;
成功得到;
那既然都得出“摩斯密码”了,我们就直接找一个在线的网站给它解码一下;
摩斯密码在线解码
得到;
得到:D43963E92B012AAB
尝试去解压缩包,但是发现密码不对;
那就暂时没办法了,不过也没有关系,可能是我们刚刚的“findme.mp3”误导了我们(因为一看到MP3格式结尾的文件,可能一些老师傅就率先想到了“Audacity”),那这次我们直接丢进"010"简单分析一下,看它还藏着什么;
哎,直接打开就发现了“Rar!”,这里不需要我多说就明白了吧?那我们直接退出把后缀改为“findme.rar”那这里我们直接解压打开即可;
也是成功又得到两个新的文件“采茶纪.mp3”及“哈哈哈.png”
“哈哈哈.png”
图片暂时没发现有什么用,我们直接来分析"采茶纪.mp3",那就是老规矩嘛,直接“Audacity”里面走一走;
得到;
最后也还是得出“摩斯密码”,解出来和之前的密码一样,那这里没办法了,去看了一眼别的师傅的wp,然后发现这里是把解出来的密码进行“MD5”加密,感觉奇奇怪怪的,题目中也我也暂时没有发现任何关于MD5加密的提示,那这里为了节省些时间,这里我们就不深究下去了,那我们也把解出来的“摩斯密码”进行“MD5”加密;
输入让你无语的MD5
得到;
那这个应该就是最开始我们打不开的压缩包密码了:n1ce_try
那这里输入之后也是成功打开,打开之后得到;
哎哎哎,一看见这两个文件,我相信常用做MISC的老师傅肯定就饥渴难耐了,是的没错,也正如我们所想,一张半个头的图片,谁家图片没事喜欢漏半个头?要在不确认待会直接丢“Kali”里面分析一番,还有这个“GIF”的图片,经常做MICS做多了,现在一看见关于“GIF”后缀就想给它逐帧给它分解咯!什么你问我用什么分解?笨一点的直接百度“GIF在线分解”,机灵些的师傅则默默打开“Stegsolve.jar”,当这里方法不唯一哈,我也只是开个玩笑,方法不一,不轮笨与机灵如有冒犯纯属意外哈~
window正常显示,kali直接加载不出,石锤宽高!
那宽高我们待会再改,我们先来确认一下这个“GIF”图片,那这里我们直接打开“Stegsolve”这个工具;
接着选择——>——>
最后也是在“9 of 40”看见了关键,但是这个我们看不明白是什么的编码或者密码啊,那就没办法了,那我们转个方向,去把图片的宽高改一下;
得到:bFyd_W1l3_Cah
直接把“hint.png”丢进“010”里面进行宽高修改,最后保存退出也是成功发现了“hint!”
右键打开方式选择“画图“;
哎哎哎,看见这个又让我想起来凯撒密码,那为什么看见这个:Veni,Vidi,Vici,就能想起来凯撒密码呢?那我们来一起简单说一下;
其实简单来说就是;
看到“Veni, Vidi, Vici”这句拉丁语短语(意思是“我来,我见,我征服”),让人联想到凯撒密码,主要是因为这句话与凯撒(Julius Caesar)的历史关联。凯撒密码是由古罗马将领尤利乌斯·凯撒发明的一种简单的替换加密方式,因此看到凯撒的名言就容易联想到他发明的加密技术。
凯撒密码(Caesar cipher)是一种经典的加密方式,它通过将字母表中的每个字母按固定位数进行偏移来加密消息。比如将字母表每个字母向右偏移3位,A变成D,B变成E,依此类推。
总的来说,看到这句历史上著名的凯撒名言,自然会联想到凯撒密码,因为凯撒本身是这种密码加密方法的发明者。
那这里再结合之前我们得到的神奇编码:bFyd_W1l3_Cah,直接找一个在线凯撒解码的网站进行解码:
但是这里我们值得注意的是,因为凯撒密码是需要知道具体的一个“偏移量”才能进行正确的解码,但是这里并没有对我们说明,而且也没有任何的“hint”,所以这里我就不得不提一下一个专门解凯撒密码的在线网站的一个“枚举”功能!
AmanCTF - 凯撒(Caesar)加密/解密
至此;
解题思路
这里我们直接下载附件得到一个压缩包,解压得到一张图片“file.jpg”;
“file.jpg”
kali中宽高某问题
那我们直接丢进“010”简单分析一下;
也是在最后发现了很可疑的地方,通过简单的观察,发现这是“Unicode”编码;
那这里既然提到了“Unicode”编码,那我们就简单说一下“Unicode”编码的特征以及规律;
Unicode编码是一种用于处理不同语言和字符集的国际标准字符编码方案,目的是统一全球各种文字、符号和控制字符。它的主要特征和规律包括:
特征:
全球通用:Unicode 包含了世界上几乎所有的书写系统字符,包括拉丁字母、汉字、字母、希腊字母等。它为不同的语言提供统一的字符表示。
兼容性强:Unicode 支持多种现有的字符集,并可以与其他编码标准(如ASCII、ISO-8859-1等)兼容,扩展性好。
多种编码形式:Unicode有多种实现方式,包括UTF-8、UTF-16和UTF-32,它们之间的主要区别在于存储一个字符所需的字节数:
唯一性:每个字符在Unicode中都有一个唯一的编码点(码位),如汉字“中”的Unicode码是U+4E2D。
规律:
基本多文种平面(BMP):Unicode的前65536个码点(从U+0000到U+FFFF)称为BMP,包含常见的字符。超出BMP范围的字符称为增补字符,需要用4字节(在UTF-16中需要两个“代理对”)来编码。
字符的分类与区间:Unicode将字符按类型划分,比如数字、字母、符号、标点等,并在特定范围内编码。例如,拉丁字母在U+0000到U+007F之间,汉字从U+4E00到U+9FFF。
可扩展性:Unicode最多可以表示超过100万个字符,通过编码范围(U+000000至U+10FFFF)确保未来新的字符可以被添加。
那话不多说,我们直接找一个“Unicode”编码转“ASCll”在线网站即可;
在线Unicode转ASCll
至此;
解题思路
下载附件得到一个压缩包,解压得到一个空白的文件“真假flag”;
暂时不知道是什么文件,我们直接右键选择打开方式“010”,简单分析一下;
这里我们直接查找“ASCll”的“flag”,也是成功发现了几个关键点,首先就是发现这个文件系统中出现“ubuntu”,以及“root”,所以有理由怀疑这个空白文件是需要通过“Liunx”进行文件读取的,需要类似于“cat”的这种命令,不过现在我们可以尝试一下;
:通常表示一个文件路径,特别是在 Linux 系统中。 代表的是超级用户()的家目录,路径下的 则指向桌面上的某个文件夹。
所以我们直接将“真假flag”丢进“Liunx”中进行文件读取;
但是直接读取之后发现全部是乱码而且内容太多也看不过来,所以这里决定换一种方式对文件进行读取;
在 Linux 中,读取文件的常见方式包括:
那这里我们换一个“strings”试试看,没关系嘛,一个一个尝试;
哎,往下翻的时候惊喜的就发现了一个“KEY”,尝试提交发现正确;
至此;
解题思路
下载得到一个压缩包解压得到一个文件夹,文件夹中有几张图片;
从文件的大小不难看出谁是真正的有关信息的“文件”,那我们直接话不多说,直接“MISC”基本操作一套带走,最后也是在“Stegsolve”的“Blue plane 0”的通道发现一个二维码,扫描直接得出“flag”;
这里扫描我直接上的“QR_Research”;
至此;
解题思路
下载附件得到一个压缩包,解压出来一个“2.png”;
暂时没发现什么特别的地方,那这里还是老规矩,直接上“MISC”基础操作一套;
最后也是在把图片丢进“Kali”中发现图片既然显示不出来,那多半宽高有一些问题,于是就改了宽高,但是没想到答案一下子就出来了;
“宽高无常显示”
“尝试修改图片的高”在“010”中
“Ctrl+s”保存退出,图片打开方式选择“画图”;
至此;
题目描述:
我藏起了一条重要信息,真是应了一句古语:“鸡蛋不能放在一个篮子里”。所以,额……篮子是不是略多了一点。
解题思路
下载附件得到一个压缩包,解压发现里面一共有“5141”个“txt“文档且每个”txt“文档都有是内容的,而且还发现是都是”base64“加密的字符内容;
“5141个txt文档”
都是“bae64”加密的字符内容
而且我们通过观察文件,偶然发现给个txt文档名字前面都是又26个英文字母的,那我们就尝试把所有的“base64”全部结合在一个txt文档里面会发现什么呢?其实也是没有办法的办法总不能一个一个去文档去解“base64”编码对吧?很显然不切实际;
“发现文档排序是有规律的,尝试讲所文档内容结合在一起”
但是正要准备些脚本的时候,突然发现这个文件名称有点古怪,而且这个排序也并不是我们想的那样,感觉直接使用“26个英文字母”还是会出现很多的“a”、很多“b”,而且最后也不知道能拼出个啥样的来,所以我决定对文件名称研究一下,看看有没有什么规律!
MD5在线解密
哎,拿去进行“MD5”解密的时候发现既然可以解出来,而且还是个数字,那这时候就正式了我们前面的猜想,这个文件的排序并不是简单的文件名“26个字母”排序,还可以进行“MD5解密”得出其中文件的具体数字,那这时候我们就可以根据文件MD5数值把每个文件的内容进行排序拼接试试看!
那这里我们直接上脚本,手动是不可能手动呢那么文件呢!
脚本如下;(Python)
脚本简单分析;
哈希字典生成:
打开 ZIP 文件:
处理文件并重建 base64 字符串:
:创建一个长度为 5141 的空字符串列表 ,用于存储文件内容。每个文件名对应 ZIP 文件中的一个文件,文件名是经过哈希处理的数字。
:遍历 ZIP 文件中所有文件的名字。
:去除 扩展名,获取文件名中包含的 MD5 哈希值。
:通过文件名的 MD5 值查找其对应的数字索引,读取文件内容并存入 的正确位置。每个文件的内容应该是 base64 编码的数据片段。
解码 base64 并写入文件:
:打开或创建一个名为 的文件,准备将解码后的数据写入其中。
:将 列表中的所有字符串连接起来,然后使用 进行解码,得到原始数据并写入 文件。
总结:
运行得到;
打开文件“flag.out”里面有两个文件“flag.jpg”及“hint.txt”;
那我们打开“hint.txt”
这时候观察里面的内容,会发现让我去了解一下图片中的花朵,花朵我们暂且不说,我们现在可以先把下面这窜“base64”解码一下看看是啥;
ps:我也是真服了,套那么多层base64,真好!
在线解码
最终也是经过“9次”解码得出了:劝你还是多看看花吧
那图片中的花也不知道是什么呀,那没办法毕竟是联网的,我们直接上百度识图看看这是什么花,或者看看还有什么提示吧!
百度在线识图
得出的说明中,无不透露着这是“水仙花”,那水仙花又关这个什么事呢?于是也是抱着尝试去百度直接搜索“水仙花”这三个字也是有了惊奇的发现!
这边我用的是“bing”的搜索引擎,这不查不知道一查吓一跳啊,水仙花数兜出来了!那有什么办法,我们只能简单先了解一下什么是“水仙花数吧!”
什么是水仙花数?
水仙花束(Narcissistic Numbers,或称为自恋数)是一种特殊的数字类型。它是指一个n位的正整数,其各个位上的数字的n次方的和等于该整数本身。
水仙花数的特点:
当然水仙花数也可以是指一个 n 位数,它等于其每个位上的数字的 n 次方之和。简单来说,如果一个数满足以下条件:
其中,xxx 是这个数,d1,d2,…,dnd_1, d_2, dots, d_nd1,d2,…,dn 是它的每一位数字,nnn 是数字的位数,那么这个数就是水仙花数。
那这边我们举例最常见的 3位水仙花数有 4个:
153: 13+53+33=1+125+27=1531^3 + 5^3 + 3^3 = 1 + 125 + 27 = 15313+53+33=1+125+27=153
370: 33+73+03=27+343+0=3703^3 + 7^3 + 0^3 = 27 + 343 + 0 = 37033+73+03=27+343+0=370
371: 33+73+13=27+343+1=3713^3 + 7^3 + 1^3 = 27 + 343 + 1 = 37133+73+13=27+343+1=371
407: 43+03+73=64+0+343=4074^3 + 0^3 + 7^3 = 64 + 0 + 343 = 40743+03+73=64+0+343=407
简单分析:
所以常用且常见的也仅仅只有这四个:153、370、371、407
正当又准备没思路的时候,哎!突然又发现水仙花的图片中丢进“010”分析翻到最底下“十六进制”,既然惊奇的发现了“RC4”!,那这时候可能新来的师傅又懵了,什么是“RC4”啊?没关系我们不嫌麻烦这边也简单介绍一下!
水仙花图片在“010”最底部发现“RC4”!
什么是“RC4”?
简单来说就是RC4 是一种流加密算法,由 Ron Rivest 于 1987 年设计,RC4 代表 “Rivest Cipher 4”。它曾广泛应用于多种加密协议(如 SSL/TLS 和 WEP/WPA 等),但由于其弱点,现已被逐步淘汰。
RC4 的工作原理
密钥调度算法 (KSA):
伪随机数生成算法 (PRGA):
RC4 算法步骤:
那这里既然知道是"RC4"加密,我们就去“Cyber”里面简单解码一下;
Cyber在线解码
最后我们也是直接“导入flag.jpg”的图片,至于“RC4”的秘钥就是前面得到的“水先花数”,最后的最后也是翻了很久,终于在文件的最底部发现了flag!
至此;
本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com
本文链接:http://www.dbeile.cn/news/2174.html