TL DR;
- 使用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
```
詳細步驟
- 查看邀請頁面請求的內容,其中
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部分解密就可以看到邀請碼了。