OWASP Top 10 完整解析:2025 最新版十大網站安全風險(附 2021 vs 2025 差異)
OWASP Top 10 完整解析:2025 版十大網站安全風險與 2021 vs 2025 差異
重點摘要
OWASP Top 10:2025:全球公認的網站十大安全風險清單,2025 版是自 2021 年以來的首次改版,每 3-4 年更新一次
2025 兩大新增:軟體供應鏈失效(A03)、異常條件處理不當(A10)
最大變動:SSRF 併入存取控制失效、安全設定錯誤從第 5 名躍升第 2 名
排名第一:存取控制失效(Broken Access Control)連續蟬聯最常見且危險
合規參考:PCI DSS、NIST 等多項標準皆採用此清單
94% 的網站至少有一個 OWASP Top 10 漏洞。
這不是危言聳聽。根據 Veracode 的報告,絕大多數的網站都有已知的安全弱點。
好消息是,這些漏洞都有明確的防護方式。只要你知道它們是什麼。
這篇文章會逐一解析 OWASP Top 10:2025 的每個漏洞,用白話文告訴你它是什麼、怎麼被攻擊、怎麼防護,並整理 2021 版到 2025 版的完整差異。
什麼是 OWASP Top 10?
由來與重要性
OWASP Top 10 是由 OWASP 組織 發布的「十大網站安全風險清單」。
這份清單不是隨便列的。它是根據全球數百間企業提供的真實漏洞數據,統計出最常見、最危險的 10 種弱點。
為什麼重要?
業界標準:被 PCI DSS、NIST 等合規標準採用
風險導向:排名越前面,風險越高
實用性強:每個漏洞都有具體的防護建議
如果你只能學一份資安清單,就是這份。
更新週期與決策機制
OWASP Top 10 大約每 3-4 年更新一次。
歷年版本:
2003 年:第一版
2004 年:第二版
2007 年:第三版
2010 年:第四版
2013 年:第五版
2017 年:第六版
2021 年:第七版
2025 年:第八版(目前最新正式版)
2025 版何時發布?
OWASP 基金會的 Top 10:2025 已於 2025 年 11 月的 OWASP Global AppSec 大會公布、2026 年 1 月定案,是自 2021 年以來的第一次改版。這是第八版「十大安全風險」清單,建立在超過 280 萬個應用程式的資料上(號稱歷來最大、最完整的應用程式安全資料集),並分析了約 17.5 萬筆對應到 CWE 弱點分類的 CVE 紀錄。
2025 版重大變更:
變更類型說明🆕 新增A03:2025 軟體供應鏈失效(Software Supply Chain Failures),由 2021 版「使用有漏洞的元件」擴大而來🆕 新增A10:2025 異常條件處理不當(Mishandling of Exceptional Conditions)⬆️ 上升安全設定錯誤從 #5 升至 #2⬇️ 下降加密失效從 #2 降至 #4⬇️ 下降注入攻擊從 #3 降至 #5🔀 整合SSRF(原 2021 版 A10)已併入 A01 存取控制失效
怎麼決定排名?
OWASP 先從貢獻的資料排出 12 個候選類別,取其中發生率最高的 8 個,再保留 2 個名額給社群問卷票選出來、但資料上還沒完全反映的新興風險。資料來源包括:
資安公司的掃描數據
弱點賞金平台的回報
企業的真實事件統計
約 17.5 萬筆 CVE 對應 CWE 的紀錄分析
然後根據「發生率(有多少比例的應用程式至少中一次)」和「影響程度」來排名。
OWASP Top 10:2025 十大漏洞逐項解析
以下逐一解析 OWASP Top 10:2025(目前最新正式版)的十大漏洞。
A01:Broken Access Control(存取控制失效)
連續蟬聯第一,最常見也最危險。2025 版把 SSRF 併入本類。
什麼意思?
使用者能存取他不該存取的資料或功能。
真實案例:
你是一般會員,但改一下網址參數,就能看到管理員頁面。
原本:https://example.com/user/profile?id=123
改成:https://example.com/user/profile?id=1
結果:看到別人的個資
常見攻擊方式:
水平越權:看到同級別其他用戶的資料
垂直越權:一般用戶存取管理員功能
IDOR(不安全的直接物件參考):直接修改 ID 存取他人資料
SSRF(伺服器端請求偽造):2025 版把原本獨立成一類的 SSRF 併入存取控制失效——攻擊者誘騙伺服器對它不該存取的內部資源發出請求,本質上就是一種存取控制破口。經典案例是 Capital One 資料外洩:攻擊者利用 SSRF 讓 AWS 伺服器去請求內部 Metadata Service,取得 IAM 憑證後存取 S3 中的客戶資料。
防護方式:
預設拒絕所有存取,再逐一開放
每個 API 都要做權限檢查
避免在 URL 暴露資源 ID
驗證與過濾使用者輸入的 URL、用白名單限制可請求目標、阻擋對內部網段的請求(防 SSRF)
實作速率限制
A02:Security Misconfiguration(安全設定錯誤)
2025 版從第 5 名躍升第 2 名——最容易避免,卻最常發生。
什麼意思?
系統設定沒改好,留下安全漏洞。
常見錯誤:
錯誤風險預設密碼沒改被輕易登入錯誤訊息太詳細洩漏系統資訊開了不必要的服務增加攻擊面沒關 Debug 模式洩漏敏感資訊沒更新安全 Patch已知漏洞被利用
真實案例:
某公司的 S3 Bucket 設成公開,結果客戶資料被整包下載。
防護方式:
建立安全基準設定(Baseline)
自動化設定檢查
定期掃描和審計
移除不必要的功能和帳號
A03:Software Supply Chain Failures(軟體供應鏈失效)
2025 版全新類別,由 2021 版「使用有漏洞的元件」擴大而來,一舉升到第 3 名。
什麼意思?
風險範圍從「用了有已知漏洞的套件」擴大到「整條軟體供應鏈的任何失效」。不只是舊元件,還包括:
第三方程式碼與相依套件被植入惡意修改
建置、發佈或更新流程被入侵
用了已停止維護、沒人再修補的元件
缺乏整條供應鏈的版本清單追蹤
CI/CD pipeline 與開發工具鏈本身的弱點
缺乏變更管理與權責分離
真實案例:
2021 年 Log4j 漏洞(Log4Shell),影響了全球數百萬個 Java 應用程式——一個被廣泛引用的日誌函式庫有洞,全世界跟著遭殃。
問題在哪?
現代軟體大量依賴第三方套件。你的專案可能直接依賴 50 個套件,但這 50 個套件又各自依賴更多套件。任何一個環節有漏洞或被動手腳,你就有風險。
防護方式:
維護軟體物料清單(SBOM)
定期掃描套件漏洞(OWASP Dependency-Check)
及時更新有漏洞的套件、移除不再使用或已停止維護的套件
保護 CI/CD pipeline 與建置環境、驗證來源簽章
做好版本清單追蹤與變更管理
A04:Cryptographic Failures(加密機制失效)
2025 版從第 2 名降至第 4 名。敏感資料沒有好好保護。
什麼意思?
密碼用明文存、信用卡號沒加密、用了過時的加密演算法。
真實案例:
2019 年 Facebook 被爆料,數億用戶的密碼以明文形式存在內部日誌中。
常見問題:
問題說明明文傳輸沒用 HTTPS明文儲存密碼沒 Hash弱加密用 MD5、SHA1金鑰管理差金鑰寫死在程式碼
防護方式:
全站 HTTPS
密碼用 bcrypt 或 Argon2 Hash
敏感資料加密儲存(AES-256)
金鑰用 Vault 或 KMS 管理
A05:Injection(注入攻擊)
2025 版從第 3 名降至第 5 名,但仍是經典中的經典。
什麼意思?
攻擊者在輸入欄位塞入惡意程式碼,讓伺服器執行。
最常見的類型:
SQL Injection:
-- 正常查詢
SELECT * FROM users WHERE id = '123'
-- 攻擊者輸入:123' OR '1'='1
SELECT * FROM users WHERE id = '123' OR '1'='1'
-- 結果:撈出所有用戶資料
XSS(跨站腳本攻擊):
Command Injection:
# 網站讓用戶輸入檔名
filename=report.pdf
# 攻擊者輸入:report.pdf; rm -rf /
# 伺服器執行:cat report.pdf; rm -rf /
防護方式:
使用參數化查詢(Prepared Statement)
輸入驗證和過濾
輸出編碼(HTML Encoding)
最小權限原則
擔心你的網站有 SQL Injection?預約免費資安評估,讓專家幫你檢測。
A06:Insecure Design(不安全設計)
設計層面就有問題,不是程式寫錯。2025 版排第 6 名。
什麼意思?
不是程式寫錯,是設計就有問題。
真實案例:
某電商的「忘記密碼」功能:
輸入 Email
系統寄驗證碼(4 位數字)
輸入驗證碼重設密碼
問題在哪?4 位數字只有 10,000 種可能,攻擊者可以暴力破解。
常見設計缺陷:
缺乏速率限制
沒有防止自動化攻擊
業務邏輯漏洞
缺乏威脅建模
防護方式:
在設計階段做威脅建模
使用安全設計模式
加入防濫用機制
定期做設計審查
A07:Authentication Failures(身份驗證失效)
登入機制有漏洞。2025 版由原本的「Identification and Authentication Failures」簡化更名為「Authentication Failures」。
什麼意思?
攻擊者能繞過登入,或輕易取得他人帳號。
常見問題:
允許弱密碼(123456)
沒有防止暴力破解
Session 管理不當
沒有多因素驗證
攻擊方式:
攻擊說明暴力破解用程式嘗試所有密碼組合憑證填充用外洩的帳密嘗試登入Session 劫持偷取登入後的 Session
防護方式:
強制密碼複雜度
實作登入失敗鎖定
使用多因素驗證(MFA)
安全的 Session 管理
A08:Software or Data Integrity Failures(軟體或資料完整性失效)
沒有驗證軟體或資料的完整性,可能被植入惡意程式。2025 版由「Software and Data Integrity Failures」微幅更名為「Software or Data Integrity Failures」。
什麼意思?
沒有驗證軟體或資料的完整性,可能被植入惡意程式。
常見問題:
CI/CD Pipeline 沒有完整性檢查
自動更新沒有驗證簽章
反序列化漏洞
真實案例:
SolarWinds 供應鏈攻擊。攻擊者入侵 SolarWinds 的建置環境,在軟體更新中植入後門,影響了包括美國政府機關在內的數千個組織。
防護方式:
驗證軟體簽章
保護 CI/CD Pipeline
使用安全的反序列化方式
A09:Security Logging and Alerting Failures(安全日誌與告警失效)
被打了都不知道。2025 版由「Security Logging and Monitoring Failures」更名為「Security Logging and Alerting Failures」(監控 → 告警)。
什麼意思?
沒有足夠的日誌和告警,無法發現或調查攻擊。
問題在哪?
根據統計,企業平均需要 197 天 才能發現資料外洩。很多時候是被外部通知才知道。
常見問題:
沒有記錄登入失敗
日誌沒有集中管理
沒有告警機制
日誌保留時間太短
防護方式:
記錄所有安全相關事件
集中化日誌管理(SIEM)
設定告警規則
定期審查日誌
A10:Mishandling of Exceptional Conditions(異常條件處理不當)
2025 版全新類別。系統遇到異常或未預期的狀況時,處理方式不安全。
什麼意思?
程式在遇到錯誤、例外或未預期輸入時,沒有安全地處理——包括錯誤處理不當、邏輯錯誤,以及最危險的「fail-open(失效時反而放行)」:本來該擋下的操作,因為某個例外沒被正確攔截,結果變成通過。
常見問題:
例外沒被捕捉,把堆疊追蹤(stack trace)與系統內部資訊洩漏給攻擊者
錯誤處理邏輯本身有漏洞,攻擊者故意觸發異常來繞過檢查
權限或驗證檢查在出錯時預設放行(fail-open)而非拒絕(fail-safe)
邊界條件、race condition 沒有妥善處理
防護方式:
所有例外都要明確捕捉與處理,對外只回傳通用錯誤訊息
安全機制設計成「失效時拒絕」(fail-safe / fail-closed)
對邏輯錯誤與邊界條件做完整測試
記錄異常事件供監控與調查
歷年版本比較
2021 vs 2025 主要變化
2025 版是自 2021 年以來的第一次改版。下表逐項對照 2021 版與 2025 版的名次與名稱變化:
2021 版2025 版變化A01 Broken Access ControlA01 Broken Access Control蟬聯第 1,SSRF 併入本類A02 Cryptographic FailuresA04 Cryptographic Failures下降 2 名A03 InjectionA05 Injection下降 2 名A04 Insecure DesignA06 Insecure Design下降 2 名A05 Security MisconfigurationA02 Security Misconfiguration上升 3 名A06 Vulnerable and Outdated ComponentsA03 Software Supply Chain Failures擴大改名、上升 3 名A07 Identification and Authentication FailuresA07 Authentication Failures名次不變、更名A08 Software and Data Integrity FailuresA08 Software or Data Integrity Failures名次不變、微幅更名A09 Security Logging and Monitoring FailuresA09 Security Logging and Alerting Failures名次不變、更名(監控→告警)A10 Server-Side Request Forgery (SSRF)併入 A01SSRF 併入存取控制失效—A10 Mishandling of Exceptional Conditions全新類別
一句話看懂 2021→2025:兩個全新類別(軟體供應鏈失效、異常條件處理不當)、SSRF 併入存取控制、安全設定錯誤大幅上升,其餘經典項目名次微調或更名。
為什麼有這些變動?
供應鏈成主戰場:Log4Shell、SolarWinds 之後,供應鏈攻擊被獨立拉出來擴大成 A03,不再只是「有漏洞的元件」。
設定錯誤越來越常見:雲端、容器、IaC 普及後,設定錯誤在資料中的發生率大增,因此從第 5 名升到第 2 名。
SSRF 回歸本質:OWASP 認為「誘騙伺服器發出它不該發的請求」本質上就是存取控制失效,因此把 SSRF 併回 A01。
存取控制仍是第一:因為它在真實世界應用程式中的發生次數最多。
2017 → 2021 曾經的變化(歷史回顧)
2017 版本2021 版本變化A1: InjectionA03: Injection下降 2 名A2: Broken AuthenticationA07: Auth Failures下降 5 名A3: Sensitive Data ExposureA02: Cryptographic Failures上升 1 名,改名A5: Broken Access ControlA01: Broken Access Control上升到第 1 名A7: XSS併入 A03 Injection合併-A04: Insecure Design2021 新增-A10: SSRF2021 新增(2025 又併回 A01)
如何使用 OWASP Top 10
知道漏洞是什麼只是第一步。重點是怎麼用這份清單。
開發團隊自檢清單
每次上線前,對照 Top 10:2025 做檢查:
A01 存取控制:
每個功能都有權限檢查?
無法透過修改參數存取他人資料?
有防止 SSRF(伺服器對內部資源發請求)?
A02 設定錯誤:
移除預設帳密、關閉 Debug 模式?
有安全基準設定並自動化檢查?
A03 供應鏈:
有維護 SBOM、掃描套件漏洞?
CI/CD pipeline 與建置環境有保護?
A04 加密:
敏感資料有加密儲存?
全站使用 HTTPS?
A05 注入:
使用參數化查詢?
有做輸入驗證?
以此類推,把 10 項都檢查一遍。
程式碼審查重點
Code Review 時,特別注意(括號內為 2025 版對應項目):
程式碼特徵可能的漏洞字串拼接 SQLA05 Injection直接輸出使用者輸入A05 XSS(注入)沒有權限檢查的 APIA01 Access Control硬編碼的密碼或金鑰A04 Cryptographic Failureseval() 或 exec()A05 Injection例外未捕捉/失效時放行A10 Mishandling of Exceptional Conditions
滲透測試覆蓋範圍
做滲透測試時,確保覆蓋 Top 10:2025 所有項目:
□ A01: 測試越權存取(含 SSRF)
□ A02: 測試設定錯誤
□ A03: 掃描供應鏈與套件漏洞
□ A04: 測試加密強度
□ A05: 測試各種注入
□ A06: 測試業務邏輯/設計漏洞
□ A07: 測試登入機制
□ A08: 測試軟體/資料完整性
□ A09: 檢查日誌與告警覆蓋
□ A10: 測試異常條件處理(fail-open)
想用專業工具自己掃描?看 OWASP ZAP 完整教學。
想動手練習這些攻擊?試試 OWASP Juice Shop 實戰教學。
想用 OWASP Top 10 做內部稽核?預約資安評估,我們提供專業評估服務。
常見問題 FAQ
Q1:OWASP Top 10 最新是哪一版?多久更新一次?
目前最新的正式版本是 OWASP Top 10:2025,已於 2025 年 11 月的 OWASP Global AppSec 大會公布、2026 年 1 月定案,是自 2021 年以來的第一次改版。OWASP Top 10 大約每 3-4 年更新一次。此外 OWASP 也有其他專門清單會更頻繁更新,例如 API Top 10(2023)、LLM Top 10(2025)。
Q2:OWASP Top 10 2021 和 2025 的最大差異?
主要有四點:(1)新增兩個類別——A03 軟體供應鏈失效、A10 異常條件處理不當;(2)SSRF 從獨立的 A10 併入 A01 存取控制失效;(3)安全設定錯誤從第 5 名躍升第 2 名;(4)加密失效、注入、不安全設計各往下掉了 2 名。存取控制失效則連續兩版都是第 1 名。整體來看,2025 版更強調供應鏈與異常處理這兩塊。
Q3:中小企業需要遵守 OWASP Top 10 嗎?
不是「遵守」,而是「參考」。OWASP Top 10 不是法規,沒有強制性。但如果你的網站處理客戶資料、金流或敏感資訊,遵循 Top 10 是保護自己和客戶的最佳實務。中小企業更應該重視,因為資安事件可能直接導致公司倒閉。
結語:從知道到做到
OWASP Top 10 是每個開發者和資安人員的必修課。
但光是知道這 10 種漏洞還不夠。你需要:
理解原理:知道為什麼會有這個漏洞
動手練習:實際嘗試攻擊和防禦
融入流程:把檢查機制納入開發流程
建議的下一步:
閱讀 OWASP 完整指南 了解更多 OWASP 資源
用 OWASP ZAP 掃描你的網站
在 Juice Shop 練習這些攻擊
或者,讓專家直接幫你檢查。
預約免費資安評估,用 OWASP Top 10 標準檢視你的網站安全。
參考資源
OWASP 完整指南
OWASP ZAP 完整教學
Juice Shop 實戰教學
OWASP API Top 10 指南
OWASP LLM Top 10 詳解
OWASP Top 10 官方網站
OWASP Top 10:2025 官方頁面
OWASP Cheat Sheet Series