作者 |林海文 上??匕部尚跑浖?chuàng)新研究院汽車網(wǎng)絡(luò)安全組
來(lái)源 |鑒源實(shí)驗(yàn)室
01
前 言
當(dāng)談及安全測(cè)試時(shí),邏輯漏洞挖掘一直是一個(gè)備受關(guān)注的話題,它與傳統(tǒng)的安全漏洞(如SQL注入、XSS、CSRF)不同,無(wú)法通過(guò)WAF、殺軟等安全系統(tǒng)的簡(jiǎn)單掃描來(lái)檢測(cè)和解決。這類漏洞往往涉及到權(quán)限控制和校驗(yàn)方面的設(shè)計(jì)問(wèn)題,通常在系統(tǒng)開(kāi)發(fā)階段未充分考慮相關(guān)功能的安全性。
舉例來(lái)說(shuō),攻擊者可以利用這些邏輯漏洞,通過(guò)利用程序員在設(shè)計(jì)中的疏忽,實(shí)施交易數(shù)據(jù)篡改、敏感信息盜取以及資產(chǎn)竊取等操作。這種類型的漏洞潛在危害極大,可能導(dǎo)致企業(yè)遭受資產(chǎn)損失和聲譽(yù)受損的風(fēng)險(xiǎn),而傳統(tǒng)的安全防御設(shè)備和措施往往無(wú)法有效應(yīng)對(duì)這些問(wèn)題,顯得力不從心。
02
挖掘思路總結(jié)(部分)
當(dāng)提到邏輯漏洞時(shí),有各種各樣的漏洞類型。其中,賬戶、驗(yàn)證碼、越權(quán)這三個(gè)模塊是最常見(jiàn)且相對(duì)較容易被攻擊的部分。下面,我們可以看一下這三個(gè)模塊中常見(jiàn)的挖洞姿勢(shì)。
03
一些挖掘?qū)嵗?/p>
3.1 驗(yàn)證碼
3.1.1修改返回包繞過(guò)
這種方法基于返回的狀態(tài)碼來(lái)驗(yàn)證用戶憑證的正確性,通常情況下,正確的驗(yàn)證碼返回狀態(tài)碼為1,錯(cuò)誤則為0。因此,攻擊者可以通過(guò)抓取響應(yīng)包,并將錯(cuò)誤的狀態(tài)碼修改為1,從而成功繞過(guò)驗(yàn)證。
找到系統(tǒng)登錄界面修改賬戶密碼的地方,采用郵箱修改密碼;選擇發(fā)送驗(yàn)證碼后,隨機(jī)輸入一串驗(yàn)證碼,發(fā)送數(shù)據(jù),然后抓包。請(qǐng)求包如下:
再攔截一下響應(yīng)包。如下圖,可以直接看到“data:false”進(jìn)行了一個(gè)判斷。修改false為true后放包:
成功繞過(guò),直接跳轉(zhuǎn)到修改密碼處:
填入新的密碼,點(diǎn)擊確認(rèn),修改成功。
3.1.2驗(yàn)證碼傳遞特殊參數(shù)繞過(guò)
驗(yàn)證碼安全控制的失效問(wèn)題。通常,常見(jiàn)的系統(tǒng)安全措施包括設(shè)置6位數(shù)驗(yàn)證碼,有效期為30分鐘或更短,驗(yàn)證失敗6次后驗(yàn)證碼會(huì)直接失效。然而,有些系統(tǒng)采用標(biāo)志位來(lái)控制驗(yàn)證碼的狀態(tài)和生命周期。當(dāng)標(biāo)志位為1時(shí),系統(tǒng)將驗(yàn)證碼標(biāo)記為失效,用戶無(wú)法再使用該驗(yàn)證碼來(lái)修改密碼;而當(dāng)標(biāo)志位為0時(shí),系統(tǒng)將驗(yàn)證碼標(biāo)記為有效,用戶可以繼續(xù)完成密碼修改流程。
同樣的,在個(gè)人中心處發(fā)現(xiàn)存在修改密碼的功能點(diǎn),仍舊是通過(guò)郵箱重置密碼。點(diǎn)擊“獲取驗(yàn)證碼”:
等待6分鐘后輸入正確的驗(yàn)證碼并抓包(此處6分鐘為驗(yàn)證碼過(guò)期時(shí)間),響應(yīng)報(bào)文提示驗(yàn)證碼已經(jīng)失效。請(qǐng)求及響應(yīng)包如下:
將此處sourceFlag標(biāo)注為u從1修改為0,發(fā)送報(bào)文,看到右側(cè)響應(yīng),成功繞過(guò)時(shí)效性以及錯(cuò)誤次數(shù)的限制:
3.2 賬戶
3.2.1遍歷猜解已有賬號(hào)
這種漏洞可能存在于用戶注冊(cè)、密碼重置或驗(yàn)證碼驗(yàn)證流程中。在注冊(cè)過(guò)程中,如果系統(tǒng)內(nèi)部已存在相同賬戶,通常無(wú)法成功注冊(cè)。對(duì)于密碼重置策略不夠安全的網(wǎng)站,比如允許用戶通過(guò)相對(duì)簡(jiǎn)單的信息(如用戶名、電子郵件地址或手機(jī)號(hào)碼)來(lái)重置密碼,攻擊者可以通過(guò)遍歷或猜測(cè)這些信息來(lái)找到有效的用戶賬號(hào)。此外,如果網(wǎng)站在驗(yàn)證碼驗(yàn)證過(guò)程中沒(méi)有足夠的限制或防護(hù)機(jī)制,攻擊者可以嘗試多次提交驗(yàn)證碼,通過(guò)遍歷可能的驗(yàn)證碼值來(lái)找到有效的組合。
同樣的,在個(gè)人中心處發(fā)現(xiàn)存在修改密碼的功能點(diǎn),仍舊是通過(guò)郵箱重置密碼。點(diǎn)擊“獲取驗(yàn)證碼”:
等待6分鐘后輸入正確的驗(yàn)證碼并抓包(此處6分鐘為驗(yàn)證碼過(guò)期時(shí)間),響應(yīng)報(bào)文提示驗(yàn)證碼已經(jīng)失效。請(qǐng)求及響應(yīng)包如下:
修改email為不存在的用戶郵箱,發(fā)送報(bào)文得到response,提示當(dāng)前用戶不存在。那么可以采用常見(jiàn)用戶遍歷的方式進(jìn)行猜解:
3.3 越權(quán)
3.3.1越權(quán)修改賬戶密碼
網(wǎng)站未能有效驗(yàn)證和控制用戶在修改郵箱地址時(shí)的權(quán)限。攻擊者可以繞過(guò)身份驗(yàn)證,訪問(wèn)其他用戶的郵箱地址修改頁(yè)面,并進(jìn)行未經(jīng)授權(quán)的郵箱地址修改。這表明在系統(tǒng)設(shè)計(jì)階段可能沒(méi)有進(jìn)行全面的用戶身份驗(yàn)證,或者存在身份驗(yàn)證方面的漏洞,因此可能導(dǎo)致任意賬戶密碼的重置。
在個(gè)人中心修改賬戶密碼的地方,采用郵箱修改密碼;選擇發(fā)送驗(yàn)證碼后,輸入正確的驗(yàn)證碼,點(diǎn)擊下一步,成功驗(yàn)證進(jìn)到修改新密碼這一步。
輸入新密碼,發(fā)送數(shù)據(jù),然后抓包。請(qǐng)求包如下:
修改email地址為admin@*.com(admin用戶的id),將攔截到的報(bào)文給發(fā)送出去:
成功修改admin賬戶的密碼:
使用admin用戶的新密碼登錄成功:
3.3.2越權(quán)修改其他用戶密碼
在正常情況下,當(dāng)用戶試圖修改他們自己的密碼時(shí),系統(tǒng)應(yīng)該首先驗(yàn)證用戶的身份,以確保他們有權(quán)訪問(wèn)和修改他們自己的帳戶信息。身份驗(yàn)證通常包括要求用戶提供當(dāng)前密碼或其他身份驗(yàn)證憑證。然而,在某些情況下,系統(tǒng)未充分執(zhí)行身份驗(yàn)證檢查,例如將 "id" 參數(shù)設(shè)置為目標(biāo)用戶的帳戶標(biāo)識(shí)。這使得攻擊者可以通過(guò)篡改請(qǐng)求中的 "id" 參數(shù)來(lái)偽裝成其他用戶的帳戶,而無(wú)需提供正確的身份驗(yàn)證憑證。
利用已知賬戶登錄進(jìn)系統(tǒng),選擇更改登錄口令功能,修改新口令點(diǎn)擊確定,抓包如下:
burp攔截報(bào)文,可發(fā)現(xiàn)它的Id字段可控:
修改id為2,根據(jù)服務(wù)器回應(yīng)的報(bào)文,成功篡改id為2的用戶的密碼:
3.3.3越權(quán)登陸
通常情況下,登錄過(guò)程應(yīng)依賴于用戶提供的憑據(jù),例如用戶名和密碼。然而,在某些系統(tǒng)中,存在由客戶端提供的參數(shù),如certSn,用于標(biāo)識(shí)用戶會(huì)話。攻擊者可以修改certSn參數(shù)以繞過(guò)授權(quán)檢查,導(dǎo)致服務(wù)器未能正確驗(yàn)證會(huì)話是否屬于請(qǐng)求的用戶。這種漏洞使得攻擊者能夠手動(dòng)修改certSn的數(shù)值,從而進(jìn)行賬戶猜解攻擊。
插入一張key(非RA管理員),點(diǎn)擊登錄,抓包如下:
觀察到其存在Certsn參數(shù):
可增加或者減小當(dāng)前數(shù)值來(lái)修改該參數(shù),成功登錄RA管理員賬號(hào):
審核編輯 黃宇
-
漏洞
+關(guān)注
關(guān)注
0文章
205瀏覽量
15429
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
華為榮獲BSI全球首批漏洞管理體系認(rèn)證
Web安全之滲透測(cè)試基礎(chǔ)與實(shí)踐
華為數(shù)字能源獲BSI全球首批漏洞管理體系認(rèn)證
華為通過(guò)BSI全球首批漏洞管理體系認(rèn)證
![華為通過(guò)BSI全球首批<b class='flag-5'>漏洞</b>管理體系認(rèn)證](https://file.elecfans.com/web2/M00/81/E6/pYYBAGORftaABrbPAAAAjgjvZ2U927.jpg)
常見(jiàn)的漏洞分享
![常見(jiàn)的<b class='flag-5'>漏洞</b>分享](https://file1.elecfans.com/web1/M00/F5/8D/wKgZoWc-45eAEM8XAANvd3nqAgk111.png)
物聯(lián)網(wǎng)系統(tǒng)的安全漏洞分析
MES系統(tǒng)的最佳實(shí)踐案例
漏洞掃描一般采用的技術(shù)是什么
漏洞掃描的主要功能是什么
使用邏輯和轉(zhuǎn)換優(yōu)化微型逆變器系統(tǒng)
![使用<b class='flag-5'>邏輯</b>和轉(zhuǎn)換優(yōu)化微型逆變器<b class='flag-5'>系統(tǒng)</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
《七劍下天山》之“七劍利刃”:“新一代”漏洞掃描管理系統(tǒng)
中科曙光受邀參加第十屆中國(guó)數(shù)據(jù)挖掘會(huì)議
特斯拉修補(bǔ)黑客競(jìng)賽發(fā)現(xiàn)的漏洞,Pwn2Own助其領(lǐng)先安全領(lǐng)域
淺析配電室智能監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)踐探索
![淺析配電室智能監(jiān)控<b class='flag-5'>系統(tǒng)</b>的設(shè)計(jì)與<b class='flag-5'>實(shí)踐</b>探索](https://file1.elecfans.com//web2/M00/C0/24/wKgZomXS8VGAWKpPAACgkUltCUo34.jpeg)
評(píng)論