Jianyuan Lab
發(fā)布時間:2023-10-09 作者:上海工業(yè)控制安全創(chuàng)新科技有限公司 點(diǎn)擊次數(shù):次
01
前 言
當(dāng)談及安全測試時,邏輯漏洞挖掘一直是一個備受關(guān)注的話題,它與傳統(tǒng)的安全漏洞(如SQL注入、XSS、CSRF)不同,無法通過WAF、殺軟等安全系統(tǒng)的簡單掃描來檢測和解決。這類漏洞往往涉及到權(quán)限控制和校驗(yàn)方面的設(shè)計(jì)問題,通常在系統(tǒng)開發(fā)階段未充分考慮相關(guān)功能的安全性。
舉例來說,攻擊者可以利用這些邏輯漏洞,通過利用程序員在設(shè)計(jì)中的疏忽,實(shí)施交易數(shù)據(jù)篡改、敏感信息盜取以及資產(chǎn)竊取等操作。這種類型的漏洞潛在危害極大,可能導(dǎo)致企業(yè)遭受資產(chǎn)損失和聲譽(yù)受損的風(fēng)險(xiǎn),而傳統(tǒng)的安全防御設(shè)備和措施往往無法有效應(yīng)對這些問題,顯得力不從心。
02
挖掘思路總結(jié)(部分)
當(dāng)提到邏輯漏洞時,有各種各樣的漏洞類型。其中,賬戶、驗(yàn)證碼、越權(quán)這三個模塊是最常見且相對較容易被攻擊的部分。下面,我們可以看一下這三個模塊中常見的挖洞姿勢。
03
一些挖掘?qū)嵗?/strong>
3.1 驗(yàn)證碼
3.1.1 修改返回包繞過
這種方法基于返回的狀態(tài)碼來驗(yàn)證用戶憑證的正確性,通常情況下,正確的驗(yàn)證碼返回狀態(tài)碼為1,錯誤則為0。因此,攻擊者可以通過抓取響應(yīng)包,并將錯誤的狀態(tài)碼修改為1,從而成功繞過驗(yàn)證。
3.1.2 驗(yàn)證碼傳遞特殊參數(shù)繞過
驗(yàn)證碼安全控制的失效問題。通常,常見的系統(tǒng)安全措施包括設(shè)置6位數(shù)驗(yàn)證碼,有效期為30分鐘或更短,驗(yàn)證失敗6次后驗(yàn)證碼會直接失效。然而,有些系統(tǒng)采用標(biāo)志位來控制驗(yàn)證碼的狀態(tài)和生命周期。當(dāng)標(biāo)志位為1時,系統(tǒng)將驗(yàn)證碼標(biāo)記為失效,用戶無法再使用該驗(yàn)證碼來修改密碼;而當(dāng)標(biāo)志位為0時,系統(tǒng)將驗(yàn)證碼標(biāo)記為有效,用戶可以繼續(xù)完成密碼修改流程。
3.2 賬戶
3.2.1 遍歷猜解已有賬號
這種漏洞可能存在于用戶注冊、密碼重置或驗(yàn)證碼驗(yàn)證流程中。在注冊過程中,如果系統(tǒng)內(nèi)部已存在相同賬戶,通常無法成功注冊。對于密碼重置策略不夠安全的網(wǎng)站,比如允許用戶通過相對簡單的信息(如用戶名、電子郵件地址或手機(jī)號碼)來重置密碼,攻擊者可以通過遍歷或猜測這些信息來找到有效的用戶賬號。此外,如果網(wǎng)站在驗(yàn)證碼驗(yàn)證過程中沒有足夠的限制或防護(hù)機(jī)制,攻擊者可以嘗試多次提交驗(yàn)證碼,通過遍歷可能的驗(yàn)證碼值來找到有效的組合。
3.3 越權(quán)
3.3.1 越權(quán)修改賬戶密碼
網(wǎng)站未能有效驗(yàn)證和控制用戶在修改郵箱地址時的權(quán)限。攻擊者可以繞過身份驗(yàn)證,訪問其他用戶的郵箱地址修改頁面,并進(jìn)行未經(jīng)授權(quán)的郵箱地址修改。這表明在系統(tǒng)設(shè)計(jì)階段可能沒有進(jìn)行全面的用戶身份驗(yàn)證,或者存在身份驗(yàn)證方面的漏洞,因此可能導(dǎo)致任意賬戶密碼的重置。
3.3.2 越權(quán)修改其他用戶密碼
在正常情況下,當(dāng)用戶試圖修改他們自己的密碼時,系統(tǒng)應(yīng)該首先驗(yàn)證用戶的身份,以確保他們有權(quán)訪問和修改他們自己的帳戶信息。身份驗(yàn)證通常包括要求用戶提供當(dāng)前密碼或其他身份驗(yàn)證憑證。然而,在某些情況下,系統(tǒng)未充分執(zhí)行身份驗(yàn)證檢查,例如將 "id" 參數(shù)設(shè)置為目標(biāo)用戶的帳戶標(biāo)識。這使得攻擊者可以通過篡改請求中的 "id" 參數(shù)來偽裝成其他用戶的帳戶,而無需提供正確的身份驗(yàn)證憑證。
3.3.3 越權(quán)登陸
通常情況下,登錄過程應(yīng)依賴于用戶提供的憑據(jù),例如用戶名和密碼。然而,在某些系統(tǒng)中,存在由客戶端提供的參數(shù),如certSn,用于標(biāo)識用戶會話。攻擊者可以修改certSn參數(shù)以繞過授權(quán)檢查,導(dǎo)致服務(wù)器未能正確驗(yàn)證會話是否屬于請求的用戶。這種漏洞使得攻擊者能夠手動修改certSn的數(shù)值,從而進(jìn)行賬戶猜解攻擊。