OWASP Top 10

OWASP(Open Web Application Security Project)發布的十大網頁應用程式安全風險。

A01 - Broken Access Control

權限控制失效。應用程式在身份驗證、授權和 Session 管理等方面出現不當配置或實作,導致攻擊者能夠訪問未經授權的資源或執行未經授權的操作。

A02 - Cryptographic Failures

加密機制失效。軟體應用程式中所使用的加密方式或加密實作出現錯誤,導致加密過程的失敗,最終可能會使攻擊者能夠以某種方式讀取或修改敏感資訊,或者讓攻擊者能夠對系統進行未授權的操作。

A03 - Injection

注入式攻擊。在應用程式中,未對使用者輸入的資料進行充分驗證或過濾,導致攻擊者能夠向應用程式的執行環境中插入並執行惡意指令或程式碼。

常見類型:

  • SQL Injection
  • XML Injection
  • LDAP Injection
  • OS Command Injection
  • Code Injection

通常是開發人員沒有正確地對使用者輸入的資料進行驗證、過濾或轉義,或是使用了不安全的程式庫或方法所導致。

A04 - Insecure Design

不安全的設計。軟體設計上有缺陷,導致系統無法有效地防禦攻擊。這些缺陷可能包括:

  • 不當的系統架構
  • 不完善的安全模型
  • 安全風險分析不充分
  • 權限管理不當

A05 - Security Misconfiguration

不安全的設定配置。因為應用程式和系統的未經適當配置、更新、保護和監控,使其容易受到攻擊和入侵。攻擊者可能會利用這些設定上的漏洞,取得未授權的存取權限,並竊取敏感資料或者破壞系統。

A06 - Vulnerable and Outdated Components

易受攻擊和過時元件。應用程式中使用的外部組件、資料庫、框架等元件存在安全漏洞或已經過時,攻擊者可以利用這些漏洞對應用程式進行攻擊。

A07 - Identification and Authentication Failures

身分認證、驗證失效。系統無法適當地識別和驗證使用者的身分。這種漏洞可能發生於:

  • 帳號密碼管理不當
  • Session 管理不當
  • 未能保護身分識別憑證
  • 身分識別管理不當

A08 - Software and Data Integrity Failures

軟體和資料完整性錯誤。在應用程式中,未能防止惡意的修改、刪除或篡改資料或軟體。這可能會導致應用程式運行失常,或是開啟了不當的訪問權限,進而造成機密性和可用性的風險。

A09 - Security Logging and Monitoring Failures

資安記錄和監控失效。網站或應用程式缺乏有效的安全監控機制,無法將所有安全事件、錯誤、攻擊等記錄下來並及時做出相應的反應。缺乏適當的監控機制可能會導致被攻擊後且未能發現。

A10 - Server-Side Request Forgery (SSRF)

伺服器端請求偽造。當應用程式未能適當限制外部用戶端所提交的請求,或者未能適當驗證應用程式所收到的請求時,攻擊者可以利用這個漏洞向受害系統發出任意請求。

測試工具

Zed Attack Proxy (ZAP)

OWASP 官方維護的開源網頁滲透測試工具,可對系統進行模擬攻擊和分析來確定其安全性漏洞。