吴思奇的个人博客(⁄ ⁄•⁄ω⁄•⁄ ⁄)~

04月 11

记一次做zip压缩包解密题的过程

今天遇到一道zip压缩包的解密题,第一次接触CTF相关的东西,感觉挺有意思的。
压缩包结构如下
                                |---flag.zip----->flag
timestamp.zip----->111.zip----->|---setup.sh
                   trips.txt

过程


打开压缩包,注释里提供了NmRpZ2l0cw==的字段,通过base64解密得知明文为6digits,意思为6位数字

1.jpg


得知长度为6为纯数字,我打开了ARCHPR,设定好条件进行爆破,很快,密码破解成功

2.jpg


输入密码,打开111.zip,发现里面还有flag.zip和setup.sh
trips.txt则为一段嘲讽的话~

4.jpg
3.jpg


解压出111.zip,发现还有flag.zip(套娃啊),到了这一步,我没发现任何提示了,尝试解压提示需要密码,换7-zip解压,提示头部错误。

5.jpg


诶嘿,头部错误?那得看看头部有啥了
打开16进制编辑器查看压缩包文件头信息,把0x6个字节改为01,保存后,成功解压出setup.sh

6.jpg


在Linux中.sh文件是脚本文件,打开看看里面有什么线索
打开setup.sh,发现只有一行脚本
zip -e --password=`python -c "print(__import__('time').time())"` flag.zip flag 

意为把flag文件压缩为flag.zip,密码用Python的"print(__import__('time').time())"代码执行结果,而这句Python代码的意思为获取当前的unix时间戳。
也就是它用的密码,是当时创建这个压缩包时的时间的Unix时间戳
此时才恍然大悟,为什么文件名是timestamp.zip了,满满的提示呀~~

7.jpg


于是查看flag的修改日期,计算出时间戳为1598871159
在这前后进行爆破就能得知密码了

8.jpg


此外,Python2的时间戳是保留小数点后2位,而Python3最多7位小数
先从简单的小数点后2位(1598871159.00前后)开始穷举,爆破密码

9.jpg


填入密码,成功拿到flag

10.jpg

总结


总共分为三层
第一层:根据注释进行base64解密,得到提示是6个数字,暴力破解6位数字,然后进入第二个zip文件。
第二层:解压flag.zip,然后用十六进制修改把111.zip的第0x6个字节改为01,解压出setup.sh,查看setup.sh源代码。
第三层:分析setup.sh里的代码。当初出题人压缩的时候,密码通过python设置为了当时的时间戳,由于不确定出题人使用的python版本(python 2时间戳是小数最多2位,python3时间戳小数最多7位),所以根据这个线索,在flag、flag.zip文件包含的几个创建时间、修改时间附近穷举,先从简单的可能出发,假设密码是python2格式的时间戳,就保留2位小数,在那几个创建时间、修改时间上下一段时间范围内进行穷举,最终得出密码。

感想

初次接触这种题,莫名的感觉有点坑啊~
所涉及的知识面比较广,得懂Python、文件格式、时间戳等知识,相互结合起来分析。
不过最后拿到flag还是挺有成就感的。

扩展

《压缩包Zip格式详析》https://blog.csdn.net/qq_43278826/article/details/118436116
转载请注明出处(https://wusiqi.cn/archives/548/)
来源网站:547的Blog - 萌萌哒 ~

标签:CTF, 密码破解, 压缩包, zip

还不快抢沙发

添加新评论

关于我

90后/留学党/不可爱的蓝孩子
欢迎来新浪微博找我玩
Email:admin@wusiqi.cn

最新文章

最近回复

  • Ether:感谢,今天手贱又更新了系统,之前1903的改过的BIOS微码又寄...
  • X99:谢谢 解决了我的问题
  • WuSiqi:感谢提醒,已经修复啦。最近工作太忙,都没怎么看这个破站。哈哈哈哈
  • 丘先森:好用,记录一下。你好你网址的SSL过期了。
  • WuSiqi:微信:2.8.0.112到最新版本都支持 QQ:9.2.3.26...
  • chen:博主,请问下这个补丁对QQ和微信的版本有限制吗?
  • teidl:怎么会有高增益 高增益不是有单独的放大电路么
  • ete:到了各种事情导致心情很不好
  • nzeo:谢谢!解决了我的问题
  • 奶牛君:日版A845亲测有效 感谢分享
  • 友情链接

    其它