健保卡片驗證元件 Cross-Site WebSocket Hijacking - HITCON ZeroDay

Vulnerability Detail Report

Vulnerability Overview

  • ZDID: ZD-2020-00195
  •  發信 Vendor: 衛生福利部中央健康保險署
  • Title: 健保卡片驗證元件 Cross-Site WebSocket Hijacking
  • Introduction: 元件有 CSWH 漏洞,可能導致個資外洩

處理狀態

目前狀態

公開
Last Update : 2020/06/15
  • 新提交
  • 已審核
  • 已通報
  • 已修補
  • 未複測
  • 公開

處理歷程

  • 2020/04/15 20:28:33 : 新提交 (由 鄉民 更新此狀態)
  • 2020/04/16 14:41:45 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2020/04/16 18:09:12 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2020/04/16 18:09:12 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2020/04/16 18:09:12 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2020/06/12 08:40:58 : 已修補 (由 組織帳號 更新此狀態)
  • 2020/06/15 03:00:05 : 公開 (由 HITCON ZeroDay 平台自動更新)

詳細資料

  • ZDID:ZD-2020-00195
  • 通報者:鄉民
  • 風險:低
  • 類型:其他 (Other)

參考資料

暫無資料
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)

相關網址

wss://iccert.nhi.gov.tw:7777/echo

敘述

「健保卡片驗證元件」在本地端的 7777 port 開啟 WebSocket 服務
以便接收來自網頁的要求來讀取健保卡的資訊

不過 WebSocket 服務並不會驗證來源
所以任一網頁都可以跟「健保卡片驗證元件」溝通
進而取得健保卡的資料

重現漏洞方式

  1. 首先先確認「健保卡片驗證元件」能正常運作
    可以使用官方的「檢測健保卡認證」:https://cloudicweb.nhi.gov.tw/cloudic/system/SMC/webtesting/SampleY.aspx

  2. 接著找一個可以測試 WebSocket 的網站,例如:http://cow.cat/cswsh.html
    接著在輸入框填上:wss://iccert.nhi.gov.tw:7777/echo
    然後按下 「Connect」
    圖片

  3. 連接成功後,輸入「GetBasic」,並按下「Send Message」
    圖片

  4. 成功的話,就會看到健保卡的卡號與身分證字號
    圖片

可利用的攻擊手法

在攻擊者可控制的網頁中嵌入 javascript,來讀取健保卡的資訊

修補建議

「健保卡片驗證元件」驗證 Origin http header 是不是來自合法的來源

擷圖

留言討論

聯絡組織

 發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。
;