十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
今儿我儿砸@朋朋给我发了道crypto,是一个1.rar文件,直接打开里面有一个加密了的key.txt,于是我想可能是爆破密码或者是已知明文***(2015XDCTF里用到)就问他题目是怎么来的,他于是又发了张图片来,我放到stegsolve里发现图片文件尾部有附加文件,应该是直接抠出来的。
在广汉等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计、成都网站设计 网站设计制作按需网站开发,公司网站建设,企业网站建设,品牌网站制作,网络营销推广,外贸网站建设,广汉网站建设费用合理。rar文件放到winhex里没看出什么所以然来(其实我忽略了文件头啊= =文件头是PK啊。。)既然不是用爆破,又没有提示,还有密码挡着,我就暂时没辙了。。过了一会儿他跟我说直接修复一下压缩包就行,试了一下果然可以。以下放图
图中上面为修复后导出的无密码文件,下面是源文件。
Google了一下原理,发现利用的是APK伪加密,换句话说就是这个文件其实是个APK(Android Packege file)文件,从其文件头PK可以看出来,而APK文件又是基于ZIP的file format。网上有些文章中写道由于在Windows和Android系统下读取APK文件是有区别的,区别在于APK文件的Central Directory 部分Header里有个位置叫做General purpose bit flags,“其中如果第0位置为1,则表示 Zip 文件的 Central Directory 是加密的,若果使用传统的解压缩软件打开这个Zip文件,在解压该部分 Central Directory 文件时,需要输入密码”
//来自博文https://www.deamwork.com/archives/my-past-ctf.orz6)
关于这个值的含义我们做了测试,其实在Windows\winRAR环境下以偶数形式出现时(00,02,04…)表示为文件没有密码,而以奇数形式出现时则需要输入密码;而在Android环境下不会读到这个位置,所以对于该环境下的编译没有影响。//不过这句话还没有深究。。。
之后我们提取出key.txt文件重新压缩为ZIP文件,与进行过APK伪加密的题目文件进行对比,发现关键处Hex是一致的,不一致的部分推测会根据APK加密工具写法不同而改变。
By the way, 图中可见有两处不同,第一处当然是General purpose bit flags,第二处我们尝试单独删除掉那个1A但是并没有消去密码,而且似乎对文件没有影响。(是因为加在了文件尾?)
总结:关于带密码的压缩文件类CRPTO题目目前有三类思路: 1、APK伪加密(文件头为PK),2、已知明文***(要有已知未加密文件),3、ARPR爆破
CTF坑漫漫,但还是要坚持下去,成为the bee's knee呀。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。