官方:https://owasp.org/Top10/zh_TW/A00_2021_Introduction/
接下來簡單對各個漏洞再做個描述
top1:權限控制失效(Broken Access Control)
- 文件包含/目錄遍歷
- 權限繞過(水平越權)
- 權限提升(垂直越權)
- 不安全直接對象的引用
top2:加密失敗(Cryptographic Failure)
- 敏感數據傳輸(通過HTTP、FTP、SMTP等)或以明文形式存儲(在數據庫、文件等中)。
- 使用舊的或較弱的加密算法
- 使用弱加密密鑰或默認加密密鑰,或重復使用受損密鑰
- 與服務器通信時未強制加密或未驗證服務器證書。
top3:注入(injection)
- SQL/NoSQL注入
- 命令注入
- 服務器端模板注入
- 頭部注射
- 內容注入(XSS、HTML注入、CSS注入)
top4:不安全設計( Insecure Design)
-
缺少用戶輸入邊界可能會導致緩沖區溢出等問題
-
使用不安全的API或函數可能會導致妥協:例如,考慮使用沒有任何種子的隨機數,或者在不考慮嵌入文件可能具有的絕對或相對路徑的情況下提取歸檔文件。
-
使用比所需權限更高權限的應用程序。
top5:安全配置錯誤(Security Misconfiguration)
在新的OWASP前十名列表中,XXE和安全錯誤配置(2017年的列表)被合並為安全錯誤配置。
- 過度許可的特權被分配給實體
- 啟用了不必要的功能或服務
- 默認帳戶保持激活狀態,但是默認密碼不變
- 安全標頭未發送或權限過大(例如,權限過大的CORS或CSP策略)
- 未啟用安全功能(防火牆規則、SELinux、Windows Defender等)
top6:Vulnerable and Outdated Components
- 客戶端和服務器端代碼中的易受攻擊組件(操作系統或軟件包、應用程序、運行時環境)。
- 不安全的軟件配置
- 正在使用的組件的依賴關系鏈中的舊的/未修補的依賴關系。
top7:識別和身份驗證失敗 Identification and Authentication Failures
- 無法防止自動攻擊,如憑證內容或暴力破解密碼
- 密碼重置或恢復流程中存在缺陷
- 在電子郵件/密碼更新、注銷、不活動、重新登錄后不處理(使其失效或循環)會話標識符
top8:軟件和數據完整性故障(Software and Data Integrity Failures)
維護
- 始終確保您使用的應用程序是可信的,並且使用了合理的安全措施
- 作為一名開發人員,請確保應用程序已簽名,並且受信任的數據源也是防篡改的
- 確保您的CI/CD管道是安全的,並且沒有任何惡意代碼進入
- 在代碼進入生產之前對其進行審核
- 經常使用你的軟件,以確保高安全級別
top9:安全日志記錄和監控故障 (Security Logging and Monitoring Failures)
- 登錄和失敗的嘗試未被記錄
- 如果本地保存日志的應用程序服務器出現故障,則未備份日志
- 不提供任何有價值的信息或見解的模糊或不正確的日志
- 監控系統無法檢測可疑活動或無法(近)實時發出警報
- 缺少監控和警報系統
- 日志不受完整性保護
top10:服務器端請求偽造 (Server-Side Request Forgery)
也就是ssrf
- 向提供的webhook URL發送GET/POST請求的應用程序
- 顯示URL預覽的應用程序