僅用于學(xué)習(xí)測試,違法自負!

這里給大家分享幾點關(guān)于越權(quán)漏洞的發(fā)現(xiàn)方法,這類型漏洞通常發(fā)生在Web應(yīng)用提供給用戶基于輸入的對象中,漏洞造成的影響將會致使攻擊者可以繞過授權(quán)限制,訪問到目標(biāo)系統(tǒng)內(nèi)其它不應(yīng)該被訪問到的資源或數(shù)據(jù)。
IDOR簡述
簡單來說,假設(shè)目標(biāo)網(wǎng)站有兩個用戶U1和U2,兩者賬戶中都存儲有個人文件,但只有自己才有權(quán)限查看訪問到這些文件。打個比方,也即U1只能訪問到自己的賬戶文件,不可訪問U2的賬戶文件。
U1訪問他自己賬戶中的文件blahBlah.pdf,具體鏈接如下:
who.com/file/23
上述鏈接中假設(shè)最后的數(shù)字23是與自己賬戶對應(yīng)的一個參數(shù),但好奇的U1用戶卻隨手修改了這個數(shù)字參數(shù),把它改成了50,然后發(fā)起了訪問,鏈接如下:
who.com/file/50
但正好這一改動,U1在自己賬戶權(quán)限內(nèi)竟然看到了U2賬戶的文件。
所以問題出在哪里呢?原因在于Web應(yīng)用在基于用戶輸入的直接對象訪問機制中,缺少了對訪問對象的身份驗證措施。如何來發(fā)現(xiàn)IDOR漏洞?其實,IDOR就像XSS一樣存在廣泛,只要你清楚目標(biāo)Web應(yīng)用的設(shè)計架構(gòu)或工作流,非常容易發(fā)現(xiàn)。這里我分享幾點IDOR漏洞的發(fā)現(xiàn)經(jīng)驗,僅供參考。

在用戶注冊處發(fā)現(xiàn)IDOR漏洞
在網(wǎng)站注冊機制中發(fā)起數(shù)據(jù)包攔截,目標(biāo)網(wǎng)站whocare.com調(diào)用了一個賬戶注冊API,Burp捕獲的賬戶注冊請求數(shù)據(jù)包如下:
POST /analytics/index.php/plus/registerportal?user_id=43657&key=344246b382b1d70c25ea14ed6f2760c6 HTTP/1.1
Content-Type: Application/x-www-form-urlencoded
Content-Length: 239
Host: api.whocare.com
Connection: close
Accept-Encoding: gzip, deflate
User-Agent: okhttp/3.4.1
[email protected]&password=as&username=&firstname=tvbb&lastname=gvcz&mobile=&country=test&city=hfhdggd&birthday_full=&gender=fknefjn
可以看到,在上述數(shù)據(jù)包的POST操作中包含了user_id參數(shù),這里出于測試目的,我們把它修改為其它字符串隨機值,然后服務(wù)端響應(yīng)回來的消息中有了這樣的提示:用戶已經(jīng)存在!更為重要的是,服務(wù)端響應(yīng)回來的信息中包含了與該注冊用戶相關(guān)的姓名、郵箱、聯(lián)系地址等等。響應(yīng)數(shù)據(jù)包如下:
HTTP/1.1 200 OK
Date: Tue, 05 Mar 2019 12:53:30 GMT
Content-Type: text/html
Connection: close
Set-Cookie: __cfduid=dc4d54bb59b5c4a2c8501e3ed1cd5952b1551790409; expires=Wed, 04-Mar-20 12:53:29 GMT; path=/; domain=.whocare.com; HttpOnly
Vary: Accept-Encoding
Server: cloudflare
CF-RAY: 4b2c3badddb3ce21-LHR
Content-Length: 311
{"error":"exist","user":[{"id":"34666","username":"admin","firstname":"Pappu","lastname":"Rahul","email":"[email protected]","mobile":null,"gender":"male","birthday":null,"country":"","city":null,"address":null,"address1":[Reducted],"postcode":[Reducted],"ip_address":[Reducted],"app_id":[Reducted]}]}
而且通過這樣,我甚至可以通過暴力枚舉用戶參數(shù)user_id,大量獲取目標(biāo)網(wǎng)站用戶信息,當(dāng)然其中也會包含管理員信息。
在郵件訂閱列表中發(fā)現(xiàn)IDOR漏洞
同樣,我們以whocare.com為目標(biāo)網(wǎng)站,它為新用戶提供了一個訂閱選項,可以通過用戶郵件方式獲取一些網(wǎng)站的最新資訊。而在用戶設(shè)置面板中,存在一個訂閱取消按鈕,當(dāng)點擊該按鈕之后,它會向注冊用戶發(fā)送一個取消訂閱的通知鏈接,URL如下:
who.com/deleteNewsletter/dGVzdGVybWFpbEBnbWFpbC5jb20=
仔細看可知道,它結(jié)尾包含了一個base64編碼的字符串,解密后dGVzdGVybWFpbEBnbWFpbC5jb20= : [email protected],這里看似這種動作未對請求做身份校驗,所以,在此我們需要其他注冊用戶的綁定郵箱來進行測試,看看是否能對其他注冊用戶執(zhí)行訂閱取消操作。
這里的一種攻擊可能性為:我們要以收集大量目標(biāo)網(wǎng)站注冊用戶的郵箱,然后分別把它們進行base64編碼,形成字典,放到Burp的Intruder模塊中,進行自動化攻擊測試,這樣一來,就形成了對批量用戶的訂閱取消動作。這里可以綜合利用上述的注冊處IDOR漏洞來形成更大的威脅。
在意見反饋的郵件轉(zhuǎn)發(fā)處發(fā)現(xiàn)IDOR漏洞
比如還是在whocare.com中,如果用戶向目標(biāo)網(wǎng)站提交意見反饋(Feedback)的數(shù)據(jù)包如下:
POST /Services/PostContactUsEmail HTTP/1.1
Host: www.whocare.com
Connection: close
Content-Length: 327
Accept: */*
Origin: https://www.whocare.com
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: https://www.whocare.com/feedback
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Cookie: [REDUCTED]
ContactUs_Name_Txt=hiname&[email protected]&ContactUs_MessageType_Txt=%D8%A7%D8%B3%D8%AA%D9%81%D8%B3%D8%A7%D8%B1&[email protected]%23%D8%A7%D9%84%D8%AF%D8%B9%D9%85+%D8%A7%D9%84%D9%81%D9%86%D9%8A&ContactUs_MessageBody_Txtthis+is+the+comment&ContactUs_Captcha_Txt=QBAQLU
仔細看其中提交的參數(shù),它包含了以下幾個重要信息:
ContactUs_Department_Txt= 將會收到反饋意見的郵箱地址
ContactUs_Email_Txt= 當(dāng)前用戶用來發(fā)送反饋意見的郵箱地址
ContactUs_MessageBody_Txt= 用戶發(fā)送的反饋意見信息
上面有兩個地方的郵箱地址我們可以進行修改,那就是:
ContactUs_Email_Txt=任何你想發(fā)送郵件的用戶郵箱地址,或者惡意一點,把它設(shè)為網(wǎng)站所有用戶郵箱地址。
這樣一來,所有網(wǎng)站用戶都會收到一封來自管理員郵箱的郵件,這可以用來作為釣魚攻擊的一個切入點。
IDOR的修復(fù)
1、請求或其它操作動作中實施合理的訪問權(quán)限控制措施;
2、對涉及用戶相關(guān)的參數(shù)使用強加密或隨機數(shù)生成,不要使用如id=3這種簡單直白的數(shù)字形式;
關(guān)注小白學(xué)嘿客,手把手教你學(xué)習(xí)嘿客攻防、Android/ target=_blank class=infotextkey>安卓滲透、網(wǎng)絡(luò)安全等相關(guān)知識。