Hack The Box - Invite Code

Thu, Sep 5, 2019 2-minute read

題目:invite code

Invite Code

Challenge Info

進入 Hack The Box 的第一關,要得到 invite code 才能註冊

Solution

開啟開發人員工具(⌘+⌥+I)、點開 Console 會看到提示訊息:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.                                                                                 .
.                      uuuuuuu                                                    .
.                  uu$$$$$$$$$$$uu                                                .
.               uu$$$$$$$$$$$$$$$$$uu                                             .
.              u$$$$$$$$$$$$$$$$$$$$$u                                            .
.             u$$$$$$$$$$$$$$$$$$$$$$$u                                           .
.            u$$$$$$$$$$$$$$$$$$$$$$$$$u                   K E E P  C A L M       .
.            u$$$$$$$$$$$$$$$$$$$$$$$$$u                                          .
.            u$$$$$$"   "$$$"   "$$$$$$u                        A N D             .
.            "$$$$"      u$u       $$$$"                                          .
.             $$$u       u$u       u$$$                        H A C K            .
.             $$$u      u$$$u      u$$$                                           .
.              "$$$$uu$$$   $$$uu$$$$"                         T H I S            .
.               "$$$$$$$"   "$$$$$$$"                                             .
.                 u$$$$$$$u$$$$$$$u                             B O X             .
.                  u$"$"$"$"$"$"$u                                                .
.       uuu        $$u$ $ $ $ $u$$       uuu                                      .
.      u$$$$        $$$$$u$u$u$$$       u$$$$                                     .
.       $$$$$uu      "$$$$$$$$$"     uu$$$$$$                                     .
.     u$$$$$$$$$$$uu    """""    uuuu$$$$$$$$$$                                   .
.     $$$$"""$$$$$$$$$$uuu   uu$$$$$$$$$"""$$$"                                   .
.      """      ""$$$$$$$$$$$uu ""$"""                                            .
.                uuuu ""$$$$$$$$$$uuu                                             .
.       u$$$uuu$$$$$$$$$uu ""$$$$$$$$$$$uuu$$$                                    .
.       $$$$$$$$$$""""           ""$$$$$$$$$$$"           HackTheBox v0.9.3       .
.        "$$$$$"                      ""$$$$""           info@hackthebox.eu       .
.          $$$"                         $$$$"                                     .
.                                                                                 .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

看來 invite code 會在附近


接下來看 Network 欄位,看到有個檔案叫 inviteapi.min.js,在最後有 makeInviteCode 看起來就很棒

1
'response|function|log|console|code|dataType|json|POST|formData|ajax|type|url|success|api|invite|error|data|var|verifyInviteCode|makeInviteCode|how|to|generate|verify'.split('|'), 0, {}))

回到 Console 輸入 makeInviteCode() 並按Enter,得到回傳資料:

1
2
data = "SW4gb3JkZXIgdG8gZ2VuZXJhdGUgdGhlIGludml0ZSBjb2RlLCBtYWtlIGEgUE9TVCByZXF1ZXN0IHRvIC9hcGkvaW52aXRlL2dlbmVyYXRl"
enctype = "BASE64"

得知資料使用 base64 編碼(也有可能是ROT13),解碼之後得到:

1
In order to generate the invite code, make a POST request to /api/invite/generate

要用 POST 對 https://www.hackthebox.eu/api/invite/generate 發出請求

可以用指令解決: curl -XPOST https://www.hackthebox.eu/api/invite/generate

正好網頁中有個 form(輸入 invite code 那個),就拿它來改一下:

1
2
3
4
<!-- 原本大概長這樣 -->
<form action="https://www.hackthebox.eu/invite" id="verifyForm" method="post">...</form>
<!-- 改成 -->
<form action="https://www.hackthebox.eu/api/invite/generate" id="verifyForm" method="post">...</form>

按下 Sign Up 按鈕得到:

1
{"success":1,"data":{"code":"WERNVlEtQk5KUFMtR0NKSVgtWlVSWVYtQ0dKR0k=","format":"encoded"},"0":200}

用 base64 解碼之後得到 invite code

{< admonition info >} 一開始想註冊發現沒註冊鈕,直接猜註冊網址是 https://www.hackthebox.eu/register,結果還真的中了…

輸入完資料後才發現需要 invite code,白高興一場XD {< /admonition >}

Flag

XDMVQ-BNJPS-GCJIX-ZURYV-CGJGI