瀏覽器安全 · 7 分鐘

Self-XSS 防護:不要讓控制台變成攻擊入口

Self-XSS 利用使用者自己的操作取得瀏覽器內權限,常見於假客服、假教學與假除錯流程。

整理 Self-XSS 的攻擊情境、前端權限邊界、後端驗證要求、使用者提示與事件回應。

Self-XSS 的本質

Self-XSS 不是傳統意義上由攻擊者注入網站的 XSS,而是誘導使用者自行打開瀏覽器開發者工具,將陌生指令貼進控制台執行。只要使用者當下已登入網站,這段指令就可能讀取頁面資料、呼叫前端可用功能、修改畫面或把使用者導向後續詐騙流程。

常見誘導場景

攻擊話術常包裝成領取獎勵、修復帳號、解除限制、查看隱藏資料、客服協助除錯或驗證身份。攻擊者會要求使用者不要重新整理、不要關閉視窗、不要中斷流程,目的就是避免使用者脫離情境後重新判斷。

不能把權限只放在前端判斷

前端可以協助改善體驗,但不能成為唯一權限防線。敏感操作例如付款、資料匯出、權限變更、信箱修改、API Token 產生與管理員功能,都必須由伺服器重新驗證身份與權限,不能只依賴按鈕是否顯示、欄位是否 disabled 或頁面是否隱藏。

前端提示要準確,不要製造干擾

管理後台、帳號安全頁與說明文件應明確寫出:官方不會要求使用者貼上控制台指令。提醒文字應簡短、固定且不干擾正常流程。若網站有管理員或高權限角色,可在後台加入可見警示,降低客服詐騙或假教學被照做的機率。

技術層的輔助防護

CSP、CSRF Token、SameSite Cookie、短效工作階段、重新驗證、操作紀錄與權限最小化,都是降低 Self-XSS 後續傷害的手段。即使使用者執行了陌生指令,系統仍應避免讓單一前端操作直接完成高風險變更。

已執行陌生指令後的處理

應立即登出所有裝置、變更密碼、撤銷第三方授權、檢查帳號安全設定與近期操作紀錄。若涉及管理員帳號,還應檢查 API Token、備援碼、信箱轉寄規則、付款設定與權限異動紀錄。

維護檢查清單

  • 敏感動作是否由伺服器重新驗證
  • 管理後台是否有明確控制台貼碼警示
  • Cookie 是否使用 Secure、HttpOnly 與 SameSite
  • 高風險操作是否需要重新驗證或二次確認
  • 是否保留可追查的登入與操作紀錄
PDF 下載Self-XSS 風險說明與維護檢核表適合保存、轉發與內部維護使用