訪問(wèn)之后提示我們?nèi)鄙賲?shù),我們往上一級(jí)目錄,也就是api目錄訪問(wèn)看看

發(fā)現(xiàn)了說(shuō)明文檔

我們直接點(diǎn)delete就可以直接對(duì)指定用戶進(jìn)行刪除,但是這里回顯是401權(quán)限不足,根據(jù)靶場(chǎng)提供的信息我們wiener用戶,再次訪問(wèn)即可刪除。當(dāng)然,我們也可以通過(guò)抓包,去查看這個(gè)api的使用參數(shù),仿照發(fā)送請(qǐng)求,達(dá)到任意控制效果

常見(jiàn)支持HTTP的方法

研究api端點(diǎn)時(shí),測(cè)試方法很重要,比如我們知道端點(diǎn)/api/tasks,我們可以嘗試以下方法

靶場(chǎng)二:查找利用未使用的API端點(diǎn)

該靶場(chǎng),首先我們需要找到未被使用的api端點(diǎn),上面一個(gè)靶場(chǎng)我們是找不到的,這里根據(jù)靶場(chǎng)提示,我們挨個(gè)點(diǎn)擊靶場(chǎng)中購(gòu)買,走一遍購(gòu)買流程,我們可以在數(shù)據(jù)記錄中,找到一個(gè)隱藏的api

這個(gè)是我們?cè)谔峤毁?gòu)買的時(shí)候產(chǎn)生的,我們將這個(gè)發(fā)送到重放器中

嘗試使用不同的方式進(jìn)行排查,比如我們可以嘗試使用/api/products/1,或者/api/products、/api來(lái)排查所有的內(nèi)容,但是這里均無(wú)法響應(yīng)

那么下一步我們可以嘗試不同的方式

比如我這里使用post

這里提示不支持該方法,并且告訴了我可用的方法,這里我們?cè)囋?/p>

提示內(nèi)部服務(wù)錯(cuò)誤,我們?cè)谙旅婕由侠ㄌ?hào)

提示我們?nèi)鄙賞rice參數(shù)

加上參數(shù)

提示必須是非負(fù)整數(shù),我們?nèi)サ粢?hào)試試

提示我們需要Content-Type: application/json

我們復(fù)制放到下面

這里成功修改了價(jià)格,我們將價(jià)格修改為0元,購(gòu)買即可通關(guān)。

本關(guān)卡以api傳遞參數(shù)的方式,讓我們成功修改了參數(shù)。

識(shí)別隱藏參數(shù)

我們通常可以看到,一個(gè)api請(qǐng)求,他會(huì)允許我們修改某些東西

PATCH /api/users/請(qǐng)求它允許用戶更新他們的用戶名和電子郵件,并包含以下JSON

{
"username": "wiener",
"email": "wiener@example.com",
}

返回的信息是以下JSON

{
"id": 123,
"name": "John Doe",
"email": "john@example.com",
"isAdmin": "false"
}

這表示隱藏的id和參數(shù),可能可以進(jìn)行改變使用

我們想要測(cè)試上面的isadmin參數(shù),可以將上面的參數(shù)修改后發(fā)送到PATCH請(qǐng)求

{
"username": "wiener",
"email": "wiener@example.com",
"isAdmin": false,
}

如果我們將false修改為true,那么在沒(méi)有充分驗(yàn)證的情況下,有可能會(huì)錯(cuò)誤綁定對(duì)象,獲取權(quán)限。

靶場(chǎng)三:利用批量分配漏洞

該靶場(chǎng),我們需要分析一下,流量包中的api,根據(jù)提示,我們?cè)谫?gòu)買的過(guò)程中,找到兩個(gè)api的包

一個(gè)get一個(gè)post兩個(gè)數(shù)據(jù)包,這里我們可以在post數(shù)據(jù)包中看到一個(gè)數(shù)據(jù)結(jié)構(gòu)

在GET數(shù)據(jù)包中,可以在返回包中發(fā)現(xiàn)一些隱藏的數(shù)據(jù)傳遞方式

我們可以嘗試拼接到post數(shù)據(jù)包中進(jìn)行嘗試

這里報(bào)錯(cuò)提示我們資金不足, 我們嘗試改變內(nèi)容

嘗試數(shù)據(jù)

改成100,直接通關(guān)了

返回true,完成了關(guān)卡。

該靶場(chǎng)的問(wèn)題,在于,我們可以從GET中獲取到一些隱藏的參數(shù),在得到隱藏參數(shù)之后,我們可以通過(guò)post或者其他的方法進(jìn)行發(fā)送,嘗試執(zhí)行。

文章轉(zhuǎn)自微信公眾號(hào)@SecNL安全團(tuán)隊(duì)

上一篇:

確保OAuth 2.0訪問(wèn)令牌安全,使用持有者憑證證明

下一篇:

Anthropic 新政罰款 20 萬(wàn)?API 審計(jì)合規(guī) 7 天落地模板(內(nèi)含完整代碼)
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊(cè)

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門場(chǎng)景實(shí)測(cè),選對(duì)API

#AI文本生成大模型API

對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對(duì)比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)