OWASP十大漏洞之一
A01:2021 – 訪問控制中斷
概述
從第五位上升到第五位,94%的應(yīng)用程序接受了某種形式的中斷訪問控制的測(cè)試,平均發(fā)生率為3.81%,并且在貢獻(xiàn)的數(shù)據(jù)集中發(fā)生次數(shù)最多,超過318k。包括值得注意的常見弱點(diǎn)枚舉(CWE-200:敏感信息暴露給未經(jīng)授權(quán)的行為者,CWE-201:通過發(fā)送的數(shù)據(jù)暴露敏感信息, 和CWE-352:跨站點(diǎn)請(qǐng)求偽造。
描述
訪問控制強(qiáng)制實(shí)施策略,以便用戶不能在其預(yù)期權(quán)限之外執(zhí)行操作。故障通常會(huì)導(dǎo)致未經(jīng)授權(quán)的信息泄露、修改或破壞所有數(shù)據(jù),或在用戶限制之外執(zhí)行業(yè)務(wù)功能。常見的訪問控制漏洞包括:
-
默認(rèn)情況下違反最小特權(quán)或拒絕原則,其中應(yīng)僅向特定功能、角色或用戶授予訪問權(quán)限,但任何人都可以使用。
-
通過修改 URL(參數(shù)篡改或強(qiáng)制瀏覽)、內(nèi)部應(yīng)用程序狀態(tài)或 HTML 頁面,或者使用攻擊工具修改 API 請(qǐng)求來繞過訪問控制檢查。
-
通過提供他人的唯一標(biāo)識(shí)符(不安全的直接對(duì)象引用)來允許查看或編輯他人的帳戶
-
訪問缺少 POST、PUT 和 DELETE 訪問控制的 API。
-
特權(quán)提升。在不登錄的情況下充當(dāng)用戶,或在以用戶身份登錄時(shí)充當(dāng)管理員。
-
元數(shù)據(jù)操作,例如重播或篡改 JSON Web 令牌 (JWT) 訪問控制令牌,或者操縱 Cookie 或隱藏字段以提升權(quán)限或?yàn)E用 JWT 失效。
-
CORS 配置錯(cuò)誤允許從未經(jīng)授權(quán)/不受信任的源進(jìn)行 API 訪問。
-
以未經(jīng)身份驗(yàn)證的用戶身份強(qiáng)制瀏覽經(jīng)過身份驗(yàn)證的頁面,或以標(biāo)準(zhǔn)用戶身份強(qiáng)制瀏覽特權(quán)頁面。
如何預(yù)防
訪問控制僅在受信任的服務(wù)器端代碼或無服務(wù)器 API 中有效,攻擊者無法修改訪問控制檢查或元數(shù)據(jù)。
-
除公共資源外,默認(rèn)情況下應(yīng)拒絕。
-
只需實(shí)施一次訪問控制機(jī)制,即可在整個(gè)應(yīng)用程序中重復(fù)使用它們,包括最大限度地減少跨域資源共享 (CORS) 的使用。
-
模型訪問控制應(yīng)強(qiáng)制實(shí)施記錄所有權(quán),而不是接受用戶可以創(chuàng)建、讀取、更新或刪除任何記錄。
-
域模型應(yīng)強(qiáng)制實(shí)施獨(dú)特的應(yīng)用程序業(yè)務(wù)限制要求。
-
禁用 Web 服務(wù)器目錄列表,并確保文件元數(shù)據(jù)(例如 .git)和備份文件不存在于 Web 根目錄中。
-
記錄訪問控制失敗,在適當(dāng)時(shí)提醒管理員(例如,重復(fù)失敗)。
-
速率限制 API 和控制器訪問,以最大限度地減少自動(dòng)攻擊工具的危害。
-
注銷后,有狀態(tài)會(huì)話標(biāo)識(shí)符應(yīng)在服務(wù)器上失效。無狀態(tài) JWT 令牌應(yīng)該是短暫的,以便將攻擊者的機(jī)會(huì)之窗降至最低。對(duì)于壽命較長(zhǎng)的 JWT,強(qiáng)烈建議遵循 OAuth 標(biāo)準(zhǔn)來撤銷訪問權(quán)限。
開發(fā)人員和 QA 人員應(yīng)包括功能訪問控制單元和集成測(cè)試。
攻擊場(chǎng)景示例
場(chǎng)景 #1:應(yīng)用程序在訪問帳戶信息的 SQL 調(diào)用中使用未經(jīng)驗(yàn)證的數(shù)據(jù):
pstmt.setString(1, request.getParameter("acct"));ResultSet results = pstmt.executeQuery( );攻擊者只需修改瀏覽器的"acct"參數(shù)即可發(fā)送他們想要的任何帳號(hào)。如果未正確驗(yàn)證,攻擊者可以訪問任何用戶的帳戶。
https://example.com/app/accountInfo?acct=notmyacct場(chǎng)景 #2:攻擊者只是強(qiáng)制瀏覽以 URL 為目標(biāo)。訪問管理頁面需要管理員權(quán)限。
https://example.com/app/getappInfohttps://example.com/app/admin_getappInfo如果未經(jīng)身份驗(yàn)證的用戶可以訪問任一頁面,則這是一個(gè)缺陷。如果非管理員可以訪問管理頁面,則這是一個(gè)缺陷。
總結(jié)
以上是生活随笔為你收集整理的OWASP十大漏洞之一的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: onedrive已停止工作_4、工作簿的
- 下一篇: 关于图片以及格式UTI