事件概述
數位發展部資通安全署(資安署)在 115 年 7 月月報中揭露,兩起政府機關網站的 密碼重設 與 一次性密碼(OTP) 機制失效案例。攻擊者藉由前端資訊外洩或封包截取,成功繞過 雙重驗證,直接修改使用者密碼,甚至取得管理帳號的登入權限。此類漏洞不僅威脅政府資料安全,也為民間企業敲響警鐘。
兩大漏洞剖析
-
驗證碼明碼外洩
某機關網站提供「以電子郵件驗證碼重設密碼」功能,卻把驗證碼以明碼寫入網頁原始碼。攻擊者只要事先知道目標的電子郵件地址,即可不必登入信箱,直接從原始碼擷取驗證碼完成 密碼重設。
-
封包截取導致 OTP 回傳瀏覽器
另一案例中,攻擊者先取得管理員的電子郵件,透過偽造請求找出密碼重設路徑,並在未完成身分驗證的情況下送出新密碼。網站隨即把 OTP 直接回傳給瀏覽器,而非透過簡訊或郵件送給合法使用者,導致攻擊者在封包中取得 OTP,進一步繞過第二階段驗證,成功登入管理帳號。
兩者共同的根本問題是 驗證資訊 暴露於前端,或後端未對重設流程與使用者身分做嚴格檢查,致使多層防禦機制被逐一突破。
資安署三項防護建議
-
強化密碼重設流程驗證
-
重設 Token 必須 限時、單次、綁定原帳號。
-
產生方式需採用安全隨機演算法,並在伺服器確認憑證有效後才允許修改密碼。
-
-
避免驗證資訊暴露於前端
-
電子郵件驗證碼與 OTP 不得出現在 HTML、隱藏欄位或伺服器回應中。
-
前端僅負責收集使用者輸入,所有憑證的保存與驗證應由伺服器或可信身分驗證服務完成。
-
-
重設密碼後即終止既有存取權限
-
完成密碼重設即使重設憑證失效,並強制終止所有現有工作階段。
-
使用者必須重新走完整的登入與 OTP 驗證流程,且應即時收到通知,以便及早發現異常操作。
-
未來展望與實務啟示
此波漏洞提醒所有機關與企業,前端資訊的保護 同樣重要。除了加強後端驗證邏輯,開發團隊也應落實安全程式碼審查,杜絕明碼寫入、資訊回傳等低階失誤。未來,結合多因素驗證(MFA)與行為分析(BA)等先進防禦機制,才能在攻擊者的多階段滲透手法面前保持韌性。對於資訊安全負責人而言,持續檢視網站重設流程、定期進行滲透測試,將是降低類似風險的關鍵步驟。
