TL DR;
- 使用curl請求下面的地址
curl -X POST https://www.hackthebox.eu/api/invite/generate
{"success":1,"data":{"code":"RlFLVEEtVUhZR0wtQ1RYUk4tSElYQUctSUhDTUo=","format":"encoded"},"0":200}
- 在返回結果的code部分使用base64解密獲取邀請碼
echo 'RlFLVEEtVUhZR0wtQ1RYUk4tSElYQUctSUhDTUo=' | base64 -D
FQKTA-UHYGL-CTXRN-HIXAG-IHCMJ
詳細步驟
檢視邀請頁面請求的內容,其中
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) } }) }
上面這個檔案解密後就很清楚了,我們先執行第二個函式第二個,在控制檯輸入
makeInviteCode()
。
返回下面的內容{0: 200, success: 1, data: {…}}
這裡的data部分是被加密的,加密方式是隨機的幾種,網上搜尋對應的解密工具即可。返回值中包含了加密的文字和加密方式,解密後得到下面的內容。
In order to generate the invite code, make a POST request to /api/invite/generate
照著上面的內容去做,你可以使用任何工具
之前都是在控制檯,這次也在控制檯輸入下面內容。這裡的$
就是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部分解密就可以看到邀請碼了。