记一次“CTF”经历————注册HackTheBox

介绍

hackthebox的注册系统非常有趣,要求用户输入注册码,拿到注册码的方式是找到网站的flag(类似CTF),以下记录我在拿flag的过程。

第一次尝试

先打开hackthebox网站,简单浏览了一下,发现没有注册按钮。
hackthebox主页
但很快往下翻翻之后发现了JOIN这个按钮,点击进去,是一个要求输入邀请码的这么一个东西。
JOIN
邀请码页面
Feel free to hack your way in??all right,习惯性的右键查看代码,很快发现了一个隐藏的input标签。在这里插入图片描述
心中窃喜,也不过如此,复制粘贴确定,邀请码错误…。这时第一时间想到可能是base64加密过,百度base64解密,但解密出来是乱码,之后在这一门槛上想了好久,最后觉得可能是制作人故意留这么一条信息来迷惑别人,放弃之。

再次尝试

打开cookie,看看能不能从cookie中找到什么(这里使用的是谷歌插件EditThisCookie),发现又有密文。
在这里插入图片描述
把%3D换成“=”号,第一时间想到base64(密文后面有等号很大概率是base64),这时候解出来是个正常的东西。
在这里插入图片描述
看见“iv”的值又有等号,继续base64解密,但是是乱码。百度关键词“iv value mac”第一个结果就是“laravel cookie加解密原理”,点进去大概浏览了一下,和flag扯不上关系。

突破口

再次重新浏览页面代码,又找到了有趣的东西。
在这里插入图片描述
第二行的js文件名吸引了我,打开后是“一行”代码,整理了一下。
在这里插入图片描述
前面的function的参数packed,让我感觉答案可能就在这里面,但是下面一堆乱七八糟的东西没有头绪(一开始没把注意力放在eval上)。|how|to|generate|verify这几个单词再次让我确认答案就在这里面,当时花了一段时间在考虑这几组单词,但是没想出所以然来,后来发现function对应5组参数,下面正好对应5组参数,带进去后带解出了两个function。
在这里插入图片描述
注意力放在第二个makeInviteCode方法上,看见POST请求,使用谷歌postman插件,访问https://www.hackthebox.eu/api/invite/how/to/generate
在这里插入图片描述
base64解密,解出来的英文是让继续用POST访问一个页面,重复上述操作,会继续拿到base64密文,解密,最后拿到邀请码。
注:得到的JSON数据中加密方式有可能不一样,如果图方便可以多请求几次直到拿到base64的密文。

发布了5 篇原创文章 · 获赞 2 · 访问量 333

猜你喜欢

转载自blog.csdn.net/sdihvai/article/details/103917297
今日推荐