前情提要:跟我一起複習資安睡前故事 什麼是 OWASP Top 10 ? OWASP Top 10 2021版(上) OWASP Top 10 2021版(下)
我們就從排名第十的風險開始,跟著Gemini 的解說,逐步揭曉當今的大魔王。
話不多說,直接上菜。
第 10 名:異常狀態處理不當
A10 - 異常狀態處理不當 (Mishandling of Exceptional Conditions) 是 2025 全新入榜的風險,主要有以下幾種崩潰現場:
1. 過度誠實的大嘴巴 (Information Leakage)
這是最常見的一種。當系統出錯時,因為工程師忘記把「除錯模式」關掉,系統就會在報錯頁面上顯示一堆不該給外人看的內部資訊。
- 餐廳情境: 客人點了一道菜叫「油炸獨角獸」(不存在的菜)。
- 正常的反應應該是服務生說:「不好意思,沒有這道菜。」
- 但是在漏洞下,服務生突然情緒失控,拿著大聲公對全餐廳廣播:「出錯啦!找不到獨角獸肉!因為我們的肉都放在地下二樓左轉第三個冰櫃,而且進貨廠商是黑心食品公司,加上老闆的私房錢藏在冰櫃夾層,導致我無法出餐!」
- 技術真相: 當你在網站上輸入錯誤資訊導致程式掛掉(Crash)時,畫面跳出一大串英文亂碼(Stack Trace)。駭客很可能因此得到:
- 你用的資料庫版本(哦,你是用這一版,那我知道有什麼漏洞可以用)。
- 你的檔案路徑(哦,原來密碼檔放在這)。
- 你的程式邏輯(哦,原來你是這樣寫判斷式的)。
2. 放棄治療的保全 (Fail Open)
這是最危險的一種。有個術語叫「Fail Safe」(失效安全)和「Fail Open」(失效開放),這項漏洞就是指設計成了 Fail Open。
- 餐廳情境: 餐廳門口有一台指紋辨識機,要刷指紋才能進去。 突然,這台機器當機了,電線短路冒煙。
- 正常的設計 (Fail Safe): 門應該自動鎖死,誰都進不去,直到維修員來。
- 錯誤的設計 (Fail Open): 機器心想:「既然我壞了,無法判斷你是誰……那算了,門全部打開吧!大家隨便進!」
- 技術真相: 許多驗證系統在遇到「例外狀況」時,如果沒有寫好「例外處理」,程式可能會直接跳過驗證步驟,預設允許通過。駭客就會故意製造這種「錯誤」,讓系統為了避免當機而「門戶大開」。
3. 鑽牛角尖的服務生 (Resource Exhaustion / DoS)
這會導致服務癱瘓。系統因為一個小錯誤,陷入無限迴圈,耗盡所有資源。
- 餐廳情境: 客人惡作劇,跟服務生點了一杯「0 除以 0 的拿鐵」。
- 有經驗的服務生會翻白眼走開。
- 但死腦筋的服務生會瘋狂計算 0 除以 0 等於多少,直到大腦過熱、口吐白沫、擋住整條走道,後面幾百個客人都沒辦法點餐。
- 技術真相: 駭客輸入一個極端值(例如超長字串或特殊符號),觸發了程式邏輯的漏洞,讓 CPU 飆升到 100% 或是記憶體被吃光,網站直接掛掉。
總結
所謂 「異常狀態處理不當」,就是當團隊在開發軟體時,只想著「如果使用者很乖,照著步驟做會怎樣」,卻忘了設計「如果使用者亂搞,或是運氣不好出事時,系統該怎麼辦」。
這就是這條新入榜漏洞要教會我們的事。
















