114/9月開始,中華電信針對小烏龜(數據機)做了第二道加密鎖,需要有工程人員的專用程式解密後,才能進入小烏龜(數據機)設定了
但有用戶透過瀏覽器開發者工具 / Tampermonkey / 攔截器修改網頁回應或直接呼叫 /cgi-bin/UserLoginCheck 跳過 QR-code 驗證,直接用管理者帳密登入。
當使用者直接呼叫 /cgi-bin/UserLoginCheck 跳過 QR 流程,伺服器端會缺少 QR 流程所產生的「前置狀態/握手痕跡」。
重點就是找出「正常流程必有但被繞過時必缺」的痕跡,並以這些缺失作為偵測條件與告警來源。
找出一筆成功登入但對應 session 沒有 qr_verified 的紀錄(應有 session id、IP、時間、body 欄位)。
找出 POST /UserLoginCheck 的 Referer 為空白或非管理頁面域名。
找到短時間內幾筆成功登入,UA 都是 Tampermonkey 或 python-requests(或 header 缺 Sec-Fetch-*)。
以上都是直接佐證繞過的指標。
偵測限制與注意事項(誠實說明)
HTTP header、UA 與 JS 欄位皆可被使用者偽造,單一指標不可作為定罪證據。最佳做法是多個指標疊加(例如:缺 QR token + header 異常 + IP 異常 → 高置信度)。
若攻擊者控制真實瀏覽器或能夠執行 JS(例如有人透過瀏覽器插件自動化),部分偵測會被繞過 → 需設計 server 綁定狀態與短期一次性 token。
短期(立刻可做)的檢測/緩解建議(優先順序)
立刻開啟完整 request logging(如上需要欄位),把最近 N 小時失敗&成功的 /UserLoginCheck 都拉出來比對。
在 SIEM 中建立上述兩三條主要告警(缺 qr_verified + header 異常 + 短時間大量嘗試)。
對高風險帳號啟用額外驗證:二階段或 IP 白名單(臨時緩解)。
把 QR token 設為一次性、短有效期(例如 30 - 120 秒)並且 server 綁 session(減少重放)。
在管理介面增加一個由 JS 發出的「隱形 ping」(包含 navigator 指紋或動態 signature),並在 server 端要求該 ping 在登入前出現。
