[Hackthebox]獲取社區邀請碼

獲取Hackthebox邀請碼教程

社區首頁
登錄社區首頁後,下拉頁面,點擊Join按鈕進入邀請頁面。我們需要通過該頁面展示的信息,獲取邀請碼以註冊社區賬號。這是進入訓練社區的一個小挑戰。
在這裏插入圖片描述

流程

可以直接通過瀏覽器F12工具進行整體挑戰,本篇博客使用Burpsuite工具進行輔助

  1. 獲取交互資源(報文、js等靜態文件)
  2. 通過資源分析有用的信息
  3. 執行隱藏指令獲取邀請碼
  4. 解密邀請碼
  5. 完成註冊挑戰

1、獲取交互資源(Burpsuite的使用)

  1. 安裝Proxy Switchyomega:
    進入谷歌應用商店,搜索該插件並進行添加
    在這裏插入圖片描述
  2. 配置代理情景:
    首先進入Burpsuite獲取工具的代理地址
    在這裏插入圖片描述
    然後在omega插件中配新建情景模式,填充剛剛獲取到的代理地址,完成代理配置
    在這裏插入圖片描述
    在瀏覽器插件處,點擊剛剛創建的情景名稱,切換至burp工具的代理情景。當瀏覽器設置爲該情景時,所有報文都會經過Burpsuite:
    在這裏插入圖片描述
  3. 開始獲取交互資源
    進入Burpsuite,關閉報文截取使能(切換爲OFF態):
    在這裏插入圖片描述
    重新訪問Hackthebox的邀請碼頁面,然後進入Burpsuite的Target頁面,查看獲取到的資源:
    在這裏插入圖片描述

2、資源分析

我們可以在獲取到資源中發現一個名叫inviteapi.min.js的文件,從字面上看,它或許能幫助我們拿到邀請碼。
在這裏插入圖片描述
查看該文件可以發現其爲eval函數,明顯被人爲進行eval加密了,我們需要對其進行解密(可搜索eval解密,在任意網站進行解密,獲取原始代碼)
以下是解密後的代碼:

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就是我們要的函數

3、執行隱藏函數獲取邀請碼

進入邀請碼頁面,打開F12-console頁面,輸入makeInviteCode()拿到邀請碼:
在這裏插入圖片描述
可以看到邀請碼被進行base64加密了:

data: "SW4gb3JkZXIgdG8gZ2VuZXJhdGUgdGhlIGludml0ZSBjb2RlLCBtYWtlIGEgUE9TVCByZXF1ZXN0IHRvIC9hcGkvaW52aXRlL2dlbmVyYXRl"
enctype: "BASE64"

解密後的內容爲:

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

我們需要對/api/invite/generate發送一個post請求才能拿到邀請碼
對於簡單的POST請求,我們可以使用curl命令進行請求:

curl.exe https://www.hackthebox.eu/api/invite/generate -X POST

在這裏插入圖片描述
我們獲得了一個encoded了的邀請碼,試試使用Base64解碼:

OOKVA-PSKVK-JOJXC-JLFCX-VSXKM

看來我們拿到了邀請碼。

完成挑戰

將邀請碼輸入填充框,完成初次註冊挑戰。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章