在知乎上找到一个关于CTF入门的回答,答主很专业的给出了建议和一些对应的训练平台,这里我试了试几个,自己半吊子水平,只能玩一些简单的,这里把自己做的过程记录下来,这几个基本都能查到通关秘籍(我是怎么知道的?没错我太渣没法通关去查秘籍了),我写下来只当是自己的备忘,大牛请无视。。。。

ISA TEST看起来貌似是深圳职业技术学院计算机学院信息安全协会做的一个闯关小游戏,一共7关,难度较低,我这种渣渣都能做,不过最后一关还是查了writeup。


第一关:

wKiom1Z4GbXSaHCbAABVVvXWuUE941.png

和类似闯关游戏的套路相同,第一关都很简单,密码肯定藏在网页源码里,查看源码在注释里得到密码为26212baa24fecb0e22ebb545534ea766,密码是自动随机生成的,这里给出密码并没有什么意义……进入下一关。

wKiom1Z4GkKDg3O1AAAYhu7MzT0125.png


第二关,简单的加密,

wKioL1Z4GqjSmOb8AABN1bgx-Nw010.png

刚好之前了解了一些简单的加密知识,看出来这是base64加密过的密码(也是随机生成的),去找一个可以解密base64的网站解密得到dd94ee970c52d62052ff6f635bf5eaa7,进入第三关。


第三关是一个绕过本地验证的题目:

wKioL1Z4G4SDT3CTAABGjv1ecD8983.png

查看源码,发现提交表单的时候会触发function check(),通过源代码中的函数代码可以看出这段函数的功能是:判断密码框是否为空,如果为空就提示密码不能为空,如果不为空在判断长度是否超过了30位(如果不加任何修改就提交或者输入任何长度超过30的密码),如果超过了30位就提示密码长度不能超过30 ,如果既不为空长度也在30以内就提示密码是balabala然后再把框里的内容改成这个密码,而无论哪一种情况,函数都会返回false,也就是没法完成提交。所以这里我们的思路就是绕过这个函数,这里提供两种思路,一个是:既然是通过调用js函数实现验证,那就禁用js好了,我用的chrome浏览器,可以单独对这个域名禁用js脚本,禁用之后重新刷新进入第四关,不过不要忘了把js再启用;第二个思路是利用firebug强大的网页即时修改功能,把调用函数的那一步跳过,比如把onsubmit事件改为“return true”(如下图),无论如何都提交表单,这样也可以进入下一关,而且还能看到一个通关成功的提示。

wKioL1Z4H2zTR2eJAAAi2D2nsfU555.png


第四关:

这也是很常见的在文件里面藏key的做法,社团logo这张图片下载到本地,用UE打开为16进制和文本,按照一般套路,直接拉到文件最下面,看到

wKioL1Z4IDXjYP2DAABYy_z_N5E821.png

……可以感受到作者希望我们找到密码的真挚迫切的心情。


第五关:

一个社工题:

wKiom1Z4INzBtxYSAAA3b29BLNM995.png

协会的门牌号,这个就要去这个协会的相关网站上去找找了,先去到主域名,是一个主页,链接到论坛、游戏等等,进入论坛,不难找到页面最下方有关于协会的介绍,当然也有门牌号401


第六关:

wKioL1Z4IbXC4DPBAABMrMvorjo548.png

这种游戏的提示一般都会起两种作用:提供线索或者扰乱思绪,这里明显是前者,作者说已经给我了,我第一反应是藏在前几个关卡中,自己没主意疏忽了,又从头过了一遍前面的题目,没有发现,又想服务器给了我http的响应包,会不会藏在包里,或者,会不会藏在cookie里面。这里试探性用chrome上非常强大的插件edit this cookie看了下果然cookie里面有一项ISA_Level_6_password,它的值就是通关密码。

wKioL1Z4Ir_x4C7cAAAcW9P8Lb4223.png


最后一关:这是我觉得最难最难也是最有意思的一关,实话说,这一关我没做出来,我搜的答案,我没理解作者说的惯性思维会阻碍我是啥意思,而且作者又说把密码告诉我了……我就又去查了cookie,又去抓了包,没有找到任何有价值的信息,最后实在没办法去搜了答案……看来我脑洞还不够大……作者确实告诉了我们密码是什么,因为密码就是“什么”……

wKiom1Z4I2GRCUFIAABChXPaZbE890.png

这个闯关游戏做的比较简单,适合我这种新手,而且也很有意思,界面做的我觉得很棒,能让我这种门外汉YY一把高手的感觉。。。

还是那句话,我是渣渣,此文仅作备忘,如果有什么错误的地方(肯定有)还请大家指教,我也在努力学习中……