HacktheBox Stage 1——入门注册2020-10-24

准备写一个专题系统,专门破解Hack the box上的机器。

工具必备:KALI LINUX,建议使用最新版,Firefox(我比较喜欢在Firefox做一些安全类的测试,所以后续也以Firefox作为默认浏览器)

Day1入门测试:我们进入官网https://www.hackthebox.eu/,然后点击右上角的Join now,会重定向到邀请码界面,这是官网给的一个入门测试,试试自己的水平。https://www.hackthebox.eu/invite

(1)唯一的提示就是Want some help下面的Click Here,点击后提示可以检查下console.

(2)那我们用F12调出调试器,查看console标签。它说这个页面加载了一个有趣的js文件,如下图。

(3)切换到调试器窗口,找下JS

看到有一个inviteapi.min.js,看文件名很像,但是右侧的代码不是很好看,点击最下面的大括号优化下代码显示。

(4)这个代码很难读,有经验的一眼就知道,没经验的我们到网上搜一下,发现都说是一个混淆后的代码,如下图:


(5)打开第一个可以解密的链接,把JS代码粘贴进去,点击解密,得到下面的代码

function makeInviteCode() {

    $.ajax({

        type: "POST",

        dataType: "json",

        url: '/api/invite/how/to/generate',

        success: function(a) {

            console.log(a)

        },

        error: function(a) {

            console.log(a)

        }

    })

}

关键的数据是两个,一个是提交数据的方法是POST,一个是URL:/api/invite/how/to/generate

(6)转到Network标签卡,把上面的URL粘贴到主网站的后面,回车

https://www.hackthebox.eu/api/invite/how/to/generate发现报错了,原因是方法是GET,而我们解密出来要用POST,在请求上右键,选择Edit and Resend



(7)这时响应变成了由405变成了200OK,切换到Response,发现一个data字段,和一个加密算法是ROT13

【TIPS】这里有时候注册可能是Base64,解码过程见(10)

(8)ROT13就是凯撒加密的一种变体,就是按字母表的顺序将第1个与第13字母掉换,第2个与第14个掉换,以此类推,我们直接在网上搜下ROT13解密,将data的内容复制并解密得到In order to generate the invite code, make a POST request to /api/invite/generate

(9)同样还是POST方法,换成了一个新的URL,按照上面的方法再来一次,我们又得到一个编码,以等号结尾,这是一个base64编码的特征。


(10)在KALI中输入echo TFNQUVgtR1RUVEgtUE9JTVctQ1pKRU8tSEhLVVY= | base64 -d

得到原始字符串


(11)退回到Join now的页面,将这个字符串输入到invite code中,点击Sign up,出现了Congratulations! 成功了,继续完成注册过程即可。

知识点汇总:

(1)利用F12带来的各种功能debugger、network(可以Edit and Resend)等(虽然Burp可以实现 以上所有功能)

(2)eval(function(a,b,c,d,e))是javascript压缩和加密常用的手段,可以在线解密

(3)ROT13是凯撒密码的变体,每个字母的位数对应字母表中其后的第13位,依次类推

(4)利用echo xxx | base64 -d 解码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。