web漏洞类型概述(owasp top10笔记)
一、owasp top10是什么
OWASP,開放式Web應用程序安全項目(OWASP,Open Web Application Security Project)是一個非營利組織,不附屬于任何企業或財團,它提供有關計算機和互聯網應用程序的公正、實際、有成本效益的信息。其目的是協助個人、企業和機構來發現和使用可信賴軟件。
????????OWASP項目最具權威的就是其“十大安全漏洞列表”(OWASPTop 10),OWASP Top 10不是官方文檔或標準,而只是一個被廣泛采用的意識文檔,被用來分類網絡安全漏洞的嚴重程度,目前被許多漏洞獎勵平臺和企業安全團隊評估錯誤報告。這個列表總結了Web應用程序最可能、最常見、最危險的十大漏洞,可以幫助IT公司和開發團隊規范應用程序開發流程和測試流程,提高Web產品的安全性。
二、owasp top10變遷
????????owasp top10每4年更新一次,所以選取了2017和2021年的top10進行比較。
????????相較于2017年,失效的訪問控制,加密機制失效,安全配置錯誤,自帶缺陷和過時的組件,安全日志和監控故障的排名上升,而注入,身份識別和身份驗證錯誤排名下降,同時新增了不安全設計,軟件和數據完整性故障,服務端請求偽造的漏洞。
圖片來自:OWASP—Top10(2021知識總結)_1erkeU的博客-CSDN博客_owasp top10
三、owasp top10詳解
A01失效的訪問控制(從2017年的第五上升到2021的第一):
攻擊方式
????????沒有檢查身份,直接導致攻擊者繞過權限直接訪問
漏洞原因
????????在未對通過身份驗證的用戶,實施恰當的訪問控制。攻擊者可以利用這一漏洞,訪問未經授權的功能或數據。
漏洞影響
? ? ? ? 1、繞過路徑,如未讀取的參數做檢查,導致路徑繞過讀取到敏感文件
????????eg:CVE-2020-5410 (以下示例為vulfocus靶場)
? ? ? ? 2、權限提升,如未對權限做檢查,導致攻擊者變更權限
????????eg:CVE-2021-21389 垂直越權 (詳情可見WordPress BuddyPress 存在越權漏洞RCE(CVE-2021-21389)_whatever`的博客-CSDN博客,靶場為虛擬機自主搭建)
?
ps:越權包括垂直越權和水平越權:
????????垂直越權:攻擊者可以從普通的用戶權限提升到管理員的權限訪問應用程序
????????水平越權:攻擊者可以從普通用戶A的權限提升到普通用戶B的權限訪問應用程序
漏洞防護
? ? ? ? 1、對參數的白名單過濾
? ? ? ? 2、對權限的控制管理重新設計與限制
? ? ? ? 3、限制下載文件的類型
A02加密機制失效:
攻擊方式
????????常見的攻擊方式主要是掃描應用程序獲取到敏感數據
漏洞原因
???????對數據加密存在有機可乘的漏洞(比如弱密碼或者加密后很容易破解),或者網絡協議、算法本身的弱點,如 telent、ftp、md5 等
漏洞影響
? ? ? ? 1、應用程序、網站被修改
? ? ? ? 2、個人資料、公司資料泄露,被用于售賣獲利等
漏洞防護
????????1、對應用程序處理、存儲或者傳輸的數據分類,并根據相關要求確認哪些數據敏感
? ? ? ? 2、對于沒有必要存儲的敏感數據,應當盡快清除
????????3、確保加密存儲所有的敏感數據
? ? ? ? 4、確保使用了最新的,強大的標準算法、協議和密鑰,并且密鑰管理到位
? ? ? ? 5、禁用緩存對包含敏感數據的響應
? ? ? ? 6、不要使用傳統協議HTTP、FTP等來傳輸敏感數據
A03注入:
攻擊方式
???????惡意代碼的輸入攻擊者到應用程序迫使其執行命令妥協數據或整個應用程序。最常見的注入攻擊類型是 SQL 注入和XSS,但也有代碼注入,命令注入、CSS注入等。???????。
漏洞原因
? ? ? 注?可以導致數據丟失或被破壞,缺乏可審計性或拒絕服務。注?漏洞有時甚?可導致攻擊者的惡意數據可以誘使解析器在沒有適當授權的情況下執行非預 期命令或訪問數據
漏洞影響
? ? ? 注?可以導致數據丟失或被破壞,缺乏可審計性或拒絕服務。注?漏洞有時甚?可導致完全接管主機。
漏洞防護
????????防止注入需要將數據與命令和查詢分開:
????????1、推薦的選擇是使用安全的API
????????2、使用肯定或者白名單服務器端輸入驗證
????????3、對于任何殘余的動態查詢,使用該解釋器的特定轉義語法轉義特殊字符
????????4、在查詢中使用LIMIT和其他SQL控件,以防止在SQL注入的情況下大量披露記錄
A04不安全設計
攻擊方式
???????2021 年的新類別側重于與設計和架構缺陷相關的風險,并呼吁更多地使?威脅建模、安全設計模式和參考架構。主要包括:未受保護的憑證存儲,信任邊界違規,受保護的憑證不足。
漏洞原因
? ? ??不安全設計是?個?泛的類別,代表許多不同的弱點,表現為“缺失或?效的控制設計”。缺少不安全的設計是缺少控制的地?。
漏洞影響
????????廣泛
漏洞防護
????????1、與 AppSec 專業?員建?并使?安全的開發?命周期,以幫助評估和設計與安全和隱私相關的控制
????????2、建?和使?安全設計模式庫或準備使?組件的鋪好的道路
????????3、將威脅建模?于關鍵?份驗證、訪問控制、業務邏輯和關鍵流
????????4、編寫單元和集成測試以驗證所有關鍵流都能抵抗威脅模型
?
A05安全配置錯誤
攻擊方式
????????攻擊者利用錯誤配置攻擊,獲取敏感數據或者提升權限???????
漏洞原因
????????開發或者維護人員設置了錯誤的配置
漏洞影響
漏洞防護????????
? ? ? ?1、可重復的強化過程使部署另?個適當鎖定的環境變得快速?輕松。開發、QA 和?產環境都應配置相同,在每個環境中使?不同的憑據。這個過程應該是?動化的,以最?限度地
減少設置新安全環境所需的?作。
? ? ? ? 2、?個沒有任何不必要的功能、組件、?檔和?例的最?平臺。刪除或不安裝未使?的功能和框架。
? ? ? ? 3、作為補丁管理流程的?部分,審查和更新適?于所有安全說明、更新和補丁的配置的任務(請參閱 A06:2021-易受攻擊和過時的組件)。查看云存儲權限(例如,S3 存儲桶權
限)。
? ? ? ? 3、分段應?程序架構通過分段、容器化或云安全組 (ACL) 在組件或租戶之間提供有效且安全的分離。? ? ? ?
? ? ? ? 4、向客戶端發送安全指令,例如安全標頭
? ? ? ? 5、驗證配置和設置在所有環境中的有效性的?動化過程
A06自帶缺陷和過時的組件
攻擊方式
? ? ? ?利用應用程序技術棧中的框架、庫、工具等的已知漏洞進行攻擊,獲取高權限或者敏感數據???????
漏洞原因
? ? ??應用程序技術棧中使用的框架、庫、工具爆出了漏洞,應用程序未能及時更新與修復
漏洞影響
? ? ? ? 1、敏感數據泄露
????????2、提升權限
? ? ? ? 3、遠程代碼執行
漏洞防護????????
? ? ? ? 1、及時更新、修復組件漏洞
? ? ? ? 2、移除不再使用的依賴組件
A07身份識別和身份驗證錯誤
攻擊方式
? ? ? 攻擊者利用網站應用程序中的身份認證缺陷獲取高權限并進行攻擊應用服務???????
漏洞原因
? ? ??應用程序身份認證系統認證缺陷
漏洞影響
漏洞防護???? ? ? ?
? ? ? ? 1、要使?任何默認憑據進?交付或部署,尤其是對于管理員?戶。
????????2、實施弱密碼檢查,例如針對前 10,000 個最差密碼列表測試新密碼或更改的密碼。
????????3、將密碼長度、復雜性和輪換策略與 NIST 800-63b 的第 5.1.1 節中關于記憶秘密的指南或其他現代的、基于證據的密碼策略保持?致。
? ? ? ? 4、通過對所有結果使?相同的消息,確保注冊、憑據恢復和 API 路徑能夠抵御帳戶枚舉攻擊。
????????5、限制或增加延遲失敗的登錄嘗試。當檢測到憑證填充、暴?破解或其他攻擊時,記錄所有故障并提醒管理員。
? ? ? ? 6、使?服務器端、安全、內置的會話管理器,在登錄后?成新的?熵隨機會話 ID。會話 ID 不應在 URL 中,安全存儲,并在注銷、空閑和絕對超時后失效。
A08軟件和數據完整性故障
攻擊方式
? ? ? ?在不驗證完整性的情況下做出與軟件更新、關鍵數據和CI/CD管道相關的假設。???????
漏洞原因
? ? ? ?在對象或數據被編碼或序列化為攻擊者可以看到和修改的結構的情況下,很容易受到不安全的反序列化的影響。另?種形式是應?程序依賴來?不受信任的來源、存儲庫和內容交付?絡 (CDN) 的插件、庫或模塊。不安全的 CI/CD 管道可能會導致未經授權的訪問、惡意代碼或系統受損。許多應?程序現在包括?動更新功能,其中更新在沒有充分完整性驗證的情況下被下載并應?于以前受信任的應?程序。攻擊者可能會上傳??的更新以分發并在所有安裝上運?。
漏洞影響
? ? ? ? 1、序列化,反序列化漏洞
? ? ? ? eg:Fastjson1.2.47和1.2.24 反序列化漏洞(Fastjson命令執行漏洞復現(1.2.47和1.2.24)_whatever`的博客-CSDN博客)
? ? ? ? 2、?需簽名即可更新
? ? ? ? eg:許多家?路由器、機頂盒、設備固件和其他固件不通過簽名固件驗證更新。未簽名固件是攻擊者越來越多的?標,預計只會變得更糟。這是?個主要問題,因為很多時候除了在未來版本中修復并等待以前的版本過時之外,沒有任何補救機制。
? ? ? ? 3、惡意更新
? ? ? ? eg:眾所周知,國家會攻擊更新機制,最近的?次著名攻擊是 SolarWinds Orion 攻擊。開發該軟件的公司擁有安全的構建和更新完整性流程。該公司向 18,000 多個組織分發了?個?度針對性的惡意更新,其中?約 100 個組織受到了影響。這是歷史上此類性質最深遠、最重?的違規?為之?。
漏洞防護??
????????1、確保未簽名或未加密的序列化數據不會在沒有某種形式的完整性檢查或數字簽名的情況下? ? ? ? ? 2、發送到不受信任的客戶端,以檢測序列化數據的篡改或重放
? ? ? ? 3、通過簽名或類似機制驗證軟件或數據來?預期來源
? ? ? ? 4、確保庫和依賴項(例如 npm 或 Maven)使?受信任的存儲庫
? ? ? ? 5、確保使?軟件供應鏈安全?具(例如 OWASP Dependency Check 或 OWASP CycloneDX)來驗證組件不包含已知漏洞
????????6、確保您的 CI/CD 管道具有正確的配置和訪問控制,以確保流經構建和部署過程的代碼的完整性。
A09安全日志記錄和監控失敗:
攻擊方式
? ? ? 對于日志記錄的監控不足,造成攻擊者攻擊系統、應用、盜取數據等操作無法被發現和追查。???????
漏洞原因
? ? ? ?運維或者開發人員并未進行足夠的日志記錄,或者日志記錄被惡意刪除
漏洞影響
? ? ? ? eg:?家主要的歐洲航空公司遭遇了 GDPR 可報告的違規?為。據報道,該漏洞是由攻擊者利?的?付應?程序安全漏洞引起的,他們收集了超過 400,000 條客戶?付記錄。該航空公司因此被隱私監管機構罰款 2000 萬英鎊。
漏洞防護??
? ? ? ? 1、啟用日志監控、告警機制
? ? ? ? 2、啟用異地監控,C/S架構的監制機制
????????3、確保以?志管理解決?案可以輕松使?的格式?成?志
? ? ? ? 4、確保?志數據編碼正確,以防?對?志或監控系統的注?或攻擊。
? ? ? ? 5、確保?價值交易具有帶有完整性控制的審計跟蹤,以防?篡改或刪除,例如僅追加數據庫表或類似的。
? ? ? ? 6、盡可能的完整記錄所有日志
A10服務器端請求偽造 (SSRF) 概述:
攻擊方式
? ? ? 對于日志記錄的監控不足,造成攻擊者攻擊系統、應用、盜取數據等操作無法被發現和追查。???????
漏洞原因
? ? ? ?由于服務端提供了從其他服務器獲取數據的功能但沒有對目標地址做過濾與限制。攻擊者可以利用改漏洞獲取內部系統的一些信息(因為它是由服務端發起的,所以它能夠請求到與它相連而與外網隔離的內網系統。即使是在有防火墻,VPN獲其他類型的網絡訪問控制列表保護的情況下)。
漏洞影響
? ? ? ? 1、對外網、服務器所在內網、本地進行端口掃描(如果?絡架構是未分段的,攻擊者可以繪制內部?絡,并根據連接結果或連接或拒絕 SSRF 負載連接所?的時間來確定內部服務器上的端?是打開還是關閉。)
? ? ? ? 2、向內部任意主機的任意端口發送payload來攻擊內網服務
? ? ? ? 3、DOS攻擊(請求大文件,始終保持連接Keep-Alive Always)
? ? ? ? 4、攻擊內網的web應用,如直接SQL注入、XSS攻擊等
? ? ? ? 5、利用file、gopher、dict協議讀取本地文件、執行命令等
? ? ? ? 6、可以無視網站CDN
? ? ? ? 7、遠程代碼執? (RCE) 。
????????eg:CVE-2021-21287(vulfocus靶場,詳情MiniO未授權SSRF漏洞(CVE-2021-21287)_whatever`的博客-CSDN博客)
????????修改host頭為vps地址;借用vps起一個nc服務,監聽811端口,即可獲取到該主機的權限。
?
漏洞防護??
????????1、禁止跳轉
????????2、禁用除http和https外的協議,如:file://、gopher://、dict://等。
????????3、限制請求的端口為http常用的端口,如 80、443、8080。
????????4、統一錯誤信息,避免用戶可以根據錯誤信息來判斷遠程服務器的端口狀態。
????????5、對請求地址設置白名單或者限制內網IP,以防止對內網進行攻擊。
? ? ? ?6、 強制執?“默認拒絕”防?墻策略或?絡訪問控制規則,以阻?除基本 Intranet 流量之外的所有流量
? ? ? ? 7、清理和驗證所有客戶端提供的輸?數據
? ? ? ? 8、不要向客戶端發送原始響應
? ? ? ? 9、注意 URL ?致性,以避免 DNS 重新綁定和“檢查時間、使?時間”(TOCTOU) 競爭條件等攻擊。
????????10、不要通過使?拒絕列表或正則表達式來緩解 SSRF。攻擊者擁有有效負載列表、?具和技能來繞過拒絕列表。
參考文獻:
【OWASPTOP10】2021年常見web安全漏洞TOP10排行 - 百度文庫
SSRF漏洞原理解析_未完成的歌~的博客-CSDN博客_ssrf漏洞原理
owasp top10 | 十大常見漏洞詳解 - 知乎
總結
以上是生活随笔為你收集整理的web漏洞类型概述(owasp top10笔记)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在C#中自定义异常
- 下一篇: python 论坛自动发帖功能