题目链接:
hint : ntfs流
文件下载地址
分析:
下载题目提供文件 :
发现是一个RAR文件 , 打开后发现其中有一个大小只有
注意到压缩包和源文件的大小有着非常大的差距 , 一个四百多K , 另一个只有十几字节
打开这个文本文件得到 :
经过主办方的提示 : NTFS流 通过百度得到一个文章 : 利用NTFS流隐藏文件 将其解压缩后进行手动提起 , 然后通过文章中的命令进行手动提取 :
notepad Misc150.txt:key.zip
这里提取NTFS流文件可以直接利用 NTFS Stream Info 这个工具 ,
手动提取可能会损失文件信息 , 具体的使用方法参考 : NTFS Stream Info 使用方法
发现并没有提取出什么信息 , 好像这个文件并不存在
最后经过反复尝试 , 再次查询资料 , 发现只有使用WinRAR解压才可以保留NTFS流文件
下载了WinRAR进行了解压 , 然后重复上述命令进行解压 , 然后得到如下结果 :
保存为flag.zip , 打开 :
发现压缩包中有两个文件 , 然后还有一段注释 , 解压压缩包 : 研究研究压缩包中的两个文件 :
观察到这两个文件的文件名比较奇怪 , 通过百度后得知 :
在这里卡了好久 , 以为是图片的隐写 , 但是好长时间都没有找到结果...
还发现一个很奇怪的现象 , 那个压缩包竟然可以无穷解压 , 解压后还是和原来的压缩包一模一样...有没有小伙伴儿教教我这个怎么创建...好腻害
最后实在做不出来 , 直接看了官方WriteUp :
秘密就在这个Flag.zip这个压缩包的注释里 :
使用010Editor打开这个压缩包 :
如果细心的话 , 就可以发现这两段颜文字中间会有一篇空白 , 而这些空白并不是单一的空格或者换行 , 是空格和换行按照一定的规则交替出现的 , 因此就可以想到有可能是它们分别代表0/1 , 然后这样就可以携带二进制的信息 :
按照这个思路进行解码 :
在其中发现了 0D 0A , 感觉可能会是分隔符什么的 , 使用换行替换掉 :
然后使用 09 和 20 分别代表 0 和 1 或者 1 和 0 , 分别得到两个结果 :
然后发现这两个字符串的长度都是 98 , 7的倍数而不是8的倍数 , 因此需要补位 , 具体可以参照 : LSB : 最低有效位 / MSB : 最高有效位
补位后 , 分别为 :
分别转换成字符串 , 找出有意义的即可 :
答案:
知识点: