Hack The Box 獲取邀請碼

zhuxiaoxi發表於2019-01-22

TL DR;

  1. 使用curl請求下面的地址
    curl -X POST https://www.hackthebox.eu/api/invite/generate
    {"success":1,"data":{"code":"RlFLVEEtVUhZR0wtQ1RYUk4tSElYQUctSUhDTUo=","format":"encoded"},"0":200}
  2. 在返回結果的code部分使用base64解密獲取邀請碼
    echo 'RlFLVEEtVUhZR0wtQ1RYUk4tSElYQUctSUhDTUo=' | base64 -D
    FQKTA-UHYGL-CTXRN-HIXAG-IHCMJ

詳細步驟

  1. 檢視邀請頁面請求的內容,其中https://www.hackthebox.eu/js/inviteapi.min.js這個是所需要的,將裡面的內容解密。解密過程很簡單,網上又很多的線上JavaScript解密工具都可以完成。
    解密後的JavaScript
    function verifyInviteCode(code) { var formData = { "code": code }; $.ajax({ type: "POST", dataType: "json", data: formData, url: '/api/invite/verify', success: function(response) { console.log(response) }, error: function(response) { console.log(response) } }) } function makeInviteCode() { $.ajax({ type: "POST", dataType: "json", url: '/api/invite/how/to/generate', success: function(response) { console.log(response) }, error: function(response) { console.log(response) } }) }

  2. 上面這個檔案解密後就很清楚了,我們先執行第二個函式第二個,在控制檯輸入makeInviteCode()
    返回下面的內容

    {0: 200, success: 1, data: {…}}

    這裡的data部分是被加密的,加密方式是隨機的幾種,網上搜尋對應的解密工具即可。返回值中包含了加密的文字和加密方式,解密後得到下面的內容。
    In order to generate the invite code, make a POST request to /api/invite/generate

  3. 照著上面的內容去做,你可以使用任何工具
    之前都是在控制檯,這次也在控制檯輸入下面內容。這裡的$就是jQuery不是Chrome裡querySelector,因為這個頁面已經載入了jQuery。
    $.post('https://www.hackthebox.eu/api/invite/generate',function(data){console.log(data)})
    返回結果

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

    這裡和上面一樣,把date的code部分解密就可以看到邀請碼了。

相關文章