前言
别问为什么一个web手写了个misc的题,问就是web根本不会。这次比赛连签到题全队做了3题,并列70-80名那一带。
write up
直接上题吧。首先进去是个网页,要我们进行一个陆的登,当然我们既不知道账号也不知道密码,那我们就点击获取实例进去,发现跳转到一个新的网页,我们可以通过获取提示文档来获得一个example.zip。虽然网页怂恿我们把其中的内容发送到一个邮箱里,但hint告诉我们此乃谎言。
打开zip发现是加密文档,但是有一点很奇怪,就是zip内有一个示例.txt和一个该文件的副本,我们合理怀疑这里有个伪加密,因此我们备份一个文件,然后拿example.zip扔进ZipCenOp里跑一下:
1 | java -jar ZipCenOp.jar r example.zip |
果然我们发现这个副本文件是伪加密,跑完ZipCenOp后打开example.zip就可以直接将副本文件解压出来了。解压出来后就是明文破译zip密码了,这里压缩副本文件时一定要用winrar,否则明文破译会失败。
我们用AZPR来跑:
密码是qwe@123
这样password.zip就被我们解压出来了,点开之后发现又是加密文档,不过这回的文档里是一个swp文件和3个大小为6的txt文件,CRC32又是已知的(分别为0x21137233;0x4B8F7BE7;0x1028C889),很容易判断出来我们要对这三个txt进行CRC碰撞,这里我们用crc32 tools进行crc碰撞,如果大小超过6位这个脚本就不能用了。
碰撞结果:
我们这里分析拼接,得到zip的密码应该是welc0me_sangforctf,解压出.password.swp,用010Editor打开文件,翻到最后,发现这么几行:
这就是我们的账号和密码了,我们直接用账号和密码登录,网页也提示我们成功找到了flag,可是我们发现f12和鼠标右键被禁用了,因此我们需要在登录前就提前打开f12,再进行登陆,终于找到了flag:
总结
这次比赛我明白了几个道理:
- web不是人能做的
- 带easy的题目是最难的
- 不务正业也挺快乐的(bushi
下周极客大挑战结束再写一份wp,这周划了。