本文記錄了一次水平越權(quán)的全過(guò)程,大致發(fā)生了如下:
修改post參數(shù),導(dǎo)致越權(quán)查看和刪除;
修改路徑(REST風(fēng)格參數(shù)),導(dǎo)致越權(quán)修改;
修改cookie字段,繞過(guò)登錄實(shí)現(xiàn)未授權(quán)訪問(wèn);
越權(quán)編輯植入xssPayload,獲取完整cookie。好了,開始虛構(gòu)。
0x01 越權(quán)查看和刪除
注冊(cè)登錄進(jìn)入個(gè)人中心,一通胡亂測(cè)試,發(fā)現(xiàn)可通過(guò)修改參數(shù)來(lái)越權(quán)查看或修改任意用戶資料。這里就拿教育經(jīng)歷做演示吧。
1、先創(chuàng)建,再修改。
2、抓包攔截重放,通過(guò)infoId去引用對(duì)象,返回用戶信息,并進(jìn)入編輯狀態(tài)。
3、請(qǐng)求包中通過(guò)infoId參數(shù)引用對(duì)象,sql注入無(wú)果,嘗試修改infoId值,引用對(duì)象成功,返回其他用戶信息。刪除時(shí)修改post參數(shù)值同樣可越權(quán)刪除任意用戶信息。
4、繼續(xù)編輯自己的自我評(píng)價(jià),點(diǎn)擊保存。發(fā)現(xiàn)前面infoId的值跑到路徑中去了,也嘗試修改一下(注意這里涉及修改了,就不要隨意修改了,可以嘗試修改另外的測(cè)試賬號(hào)的內(nèi)容)。
5、返回修改成功(去目標(biāo)賬號(hào)中刷新,發(fā)現(xiàn)資料確實(shí)被修改了)。
6、為什么路徑也能作為參數(shù)測(cè)試點(diǎn)呢,因?yàn)檫@里使用的是REST風(fēng)格參數(shù)。
0x02 繞過(guò)登錄未授權(quán)訪問(wèn)
前面一頓操作,一直沒(méi)能獲取到手機(jī)號(hào)郵箱等敏感信息,結(jié)果發(fā)現(xiàn)這些基本信息的編輯使用的不是同一套流程,為了能扒出來(lái),就有了下文。
1、下面是預(yù)覽資料的請(qǐng)求,沒(méi)看到get/post參數(shù)啊,自然不存在“不安全的直接對(duì)象引用”這類越權(quán)漏洞。
很明顯是通過(guò)cookie鑒別的,又這么多字段,一般這種我都不考慮越權(quán)(頭不夠鐵),不過(guò)乍一看cookie中字段值貌似都為base64編碼。竟然都是base64編碼的,這!
2、控制變量法,逐個(gè)字段刪除,找出有效的字段(刪除某個(gè)字段,頁(yè)面無(wú)變化說(shuō)明該字段是無(wú)效字段,相信大家都知道這個(gè)技巧)。
一番刪除操作,只留下了 career_id 這個(gè)字段。重放返回該個(gè)人資料,修改刪除該字段便異常,說(shuō)明服務(wù)端僅校驗(yàn)該字段。
僅校驗(yàn)一個(gè)字段,看似使用是簡(jiǎn)單的base64編碼,不錯(cuò)不錯(cuò)!
3、解碼看看,5160397估計(jì)就是該用戶id了。
4、通過(guò)Burpsuite的Intruder模塊遍歷career_id字段,抓個(gè)別的id看看。
5、使用該id,成功越權(quán)訪問(wèn)到該用戶的個(gè)人簡(jiǎn)歷信息。
6、接下來(lái),復(fù)制該cookie替換掉自己瀏覽器中的cookie,成功繞過(guò)登錄,未授權(quán)訪問(wèn)其他用戶個(gè)人中心,且可進(jìn)行資料編輯刪除等操作。
0x03 利用“self-xss“獲取更多權(quán)限
正經(jīng)的越權(quán)到上面差不多就結(jié)束了,下面就是利用的“歪門邪道”了。
1、進(jìn)一步摸索發(fā)現(xiàn),其實(shí)僅僅是個(gè)人中心的訪問(wèn)憑證是只校驗(yàn) career_id 這一個(gè)字段,其他頁(yè)面還校驗(yàn)了更多的cookie字段,只有校驗(yàn)通過(guò)才可訪問(wèn)更多頁(yè)面查看崗位信息、投遞簡(jiǎn)歷等操作。
2、其實(shí)吧,編輯資料這里還存在個(gè)存儲(chǔ)型XSS。簡(jiǎn)歷編輯頁(yè)的存儲(chǔ)型xss,基本是個(gè)self-xss無(wú)疑了,一般誰(shuí)能訪問(wèn)到我的簡(jiǎn)歷編輯頁(yè)。
3、竟然都能越權(quán)編輯他人簡(jiǎn)歷了,那我們是不是可以在編輯別人的簡(jiǎn)歷的時(shí)候向其中植入xssPayload,一套“越權(quán) + self_xss”組合拳。
另外,不難從前面的請(qǐng)求包中看出,這些資料編輯操作,一定是存在CSRF漏洞的。那么,又一套“CSRF + self\_xss”組合拳。
當(dāng)然,CSRF肯定不如我們?cè)綑?quán)編輯穩(wěn)當(dāng)。
接下來(lái)就等目標(biāo)訪問(wèn)了。..。..
這里就簡(jiǎn)要分析下思路,就不做演示了。
0x04 總結(jié)
總結(jié)一下測(cè)試水平越權(quán)漏洞的基本思路:
控制變量法刪除參數(shù)或cookie字段,找到有效參數(shù)或cookie字段;
盡可能的對(duì)參數(shù)或cookie字段去模糊化,再進(jìn)一步測(cè)試;
修改參數(shù)值或cookie字段,對(duì)增刪改查等操作進(jìn)行越權(quán)測(cè)試;
越權(quán)結(jié)合其他漏洞提升危害等級(jí)。越權(quán)漏洞也可以結(jié)合Authz這類burp插件來(lái)測(cè)試,不過(guò)一般都局限于查看操作的越權(quán)。
-
編碼
+關(guān)注
關(guān)注
6文章
933瀏覽量
54731 -
Cookie
+關(guān)注
關(guān)注
0文章
30瀏覽量
10390 -
漏洞
+關(guān)注
關(guān)注
0文章
203瀏覽量
15352
原文標(biāo)題:一次水平越權(quán)漏洞的利用
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論