先解碼再掃描:先看清 QR 碼真正導向的網址
QR 碼肉眼無法讀取,但幾秒就能擷取其中內容。了解如何在操作前查看目的地,以及這項檢查無法告訴你的事。
有兩種情況適合這樣做:你即將掃描一個不完全信任的 QR 碼,或你即將列印一個在其他地方產生的 QR 碼。同一種技巧可以處理這兩種情況。
步驟 1——讀取內容,不要開啟它
QR 碼儲存的是文字。掃描器會解碼文字並立即執行——開啟 URL、加入 Wi-Fi 網路、開始通話。解碼器則解碼相同文字,只是把它顯示給你。這個差異就是全部的安全緩衝。
拍下 QR 碼的照片或截圖,然後在我們的 QR 讀取器 中解碼圖片。它完全在你的瀏覽器中執行:圖片不會上傳,也不會開啟任何內容。你會取得原始內容文字。
步驟 2——判斷內容屬於哪種類型
QR 碼內容通常遵循可辨識的格式。讀取開頭,就能知道掃描器原本會做什麼。
| 內容開頭 | 類型 | 掃描器會做什麼 |
|---|---|---|
https:// 或 http:// | URL | 開啟頁面。這是最常見的情況 |
WIFI:T:WPA;S:…;P:…;; | Wi-Fi 憑證 | 提示加入該網路——接受前先確認 SSID |
BEGIN:VCARD | 聯絡人卡片 | 提示儲存聯絡人 |
mailto: / tel: / smsto: | 電子郵件、通話、簡訊 | 預先填入訊息或撥打號碼 |
| 沒有前綴的純文字 | 文字 | 顯示內容。沒有危害 |
javascript: 或陌生的應用程式 scheme | 可疑 | 不要開啟 |
如果你想了解合法 QR 碼是如何建立的,我們的類型頁面說明了各種格式:Wi-Fi、vCard、電子郵件、電話、純文字。
步驟 3——判斷網域
對 URL 內容來說,重要的是網域——從第一個單獨斜線開始由右往左讀取。在 https://pay.cityparking.gov/meter/44 中,網域是 cityparking.gov。在 https://cityparking.gov.pay-now.click/meter/44 中,網域是 pay-now.click,而那個看似熟悉的部分只是裝飾。
| 你看到的內容 | 解讀 |
|---|---|
| 你認得、且與該組織相符的網域 | 直接連結。QR 碼會前往看起來要去的地方 |
| 你不擁有的通用 QR 碼縮網址服務 | 第三方位於路徑中,可以變更或停用目的地 |
| 真實品牌名稱是其他網域的子網域 | 典型的冒充手法。檢查最右側的標籤 |
| 原始 IP 位址 | 印刷品上幾乎不可能是合法內容 |
關於縮網址服務,有一點要注意:認得這項服務,不代表你知道目的地。Unit 42 直接指出:「即使是會注意安全、在掃描前檢查 URL 預覽的人,看到縮短連結時也無法判定最終目的地」——而他們指出最常被濫用的三項服務,都是一般的 QR 產生器重新導向網域。熟悉的縮網址服務並不能帶來安心。
步驟 4——追蹤重新導向鏈
如果內容是短連結,而你需要知道它實際最終前往哪裡,可以在不載入頁面的情況下解析它。在終端機中:
執行 curl -sIL "https://short.example/abc" | grep -i "^location:"——這會顯示每一跳的 Location 標頭,不會執行頁面內容。留意出現了幾跳:單次跳轉到預期目的地很平常,但若經過數個不相關主機,通常表示存在分析或廣告中介,每個中介都能看到請求。QR 代理程式記錄哪些資料 說明了這些跳轉會收集什麼。
有兩點需要注意。重新導向可能根據 IP、使用者代理程式或時間,對你和其他人提供不同目的地——因此乾淨的結果只能證明當下對你發生了什麼,不代表另一個國家的客戶會看到什麼。動態 QR 碼的目的地之後也能隨時變更,而這正是它銷售時主打的功能。
如何檢查透過電子郵件收到的 QR 碼?
請把這視為獨立且更危險的情況。NCSC 指出,釣魚電子郵件特別會使用 QR 碼,因為並非所有安全工具都會掃描圖片,所以 QR 碼可以攜帶惡意連結,避過原本能攔截相同文字連結的篩選器;而掃描會把你帶到防護能力比工作電腦弱的個人手機上。
檢查方法很簡單。把圖片從電子郵件中另存出來,不要直接掃描螢幕上的圖片;解碼檔案並讀取網域。請在電腦上完成,而不是手機上,這樣就不會離開受保護的裝置。如果網域與電子郵件聲稱的寄件組織不完全相符,請停止操作——改用你平常聯絡該組織的方式,而不要使用訊息中的任何連結。
要留意的訊號是「緊急性」與 QR 碼同時出現:配送問題、稅務通知、信箱容量已滿,或帳戶必須今天完成驗證。合法組織極少需要你掃描一個印刷方塊,來處理緊急帳戶問題。QR 網路釣魚 完整說明了這些攻擊模式。
解碼器無法告訴你什麼?
清楚了解限制,才能讓檢查結果保持可靠。
- 目的地是否安全。 解碼器顯示的是地址,不是內容。看似熟悉的網域仍可能託管遭入侵的頁面。
- 其他人會看到什麼。 重新導向可以依 IP、使用者代理程式或時間,提供不同目的地。你的乾淨結果只描述當下那個請求。
- 明天會做什麼。 動態 QR 碼的目的地可以在你檢查後隨時變更。這正是它銷售時主打的功能,也就是為什麼「我驗證過一次」不能長期代表動態 QR 碼的狀態。
- 印刷品是否與檔案相符。 覆蓋貼紙表示你核准的圖稿與牆上的實體物件可能不同。只有解碼實體副本,才能告訴你實體副本的情況。
第一項和最後一項限制,正是本部落格在商業端建議中不斷回到同一個重點的原因:只有將靜態 QR 碼放在你自己的網域上,單次檢查才會持續有效。
步驟 5——列印前檢查自己的圖稿
這只需一分鐘,卻能避免一整類代價高昂的問題。
- 匯出最終圖稿,確保內容與實際列印時完全一致。
- 解碼這個檔案——不要解碼產生器預覽中的檔案。
- 確認內容是你預期的 URL,且位於你擁有的網域上。
- 如果它是其他人網域上的短連結,不要列印。重新產生為靜態 QR 碼。
- 列印校樣送達後掃描一次,確認它仍會前往正確位置。
如果 QR 碼已經印出,而這項檢查來得太晚,人質挾持復原指南 說明了仍可採取的選項。如果它已停止運作,而你還不知道原因,請先查看QR 碼為何停止運作。
常見問題
- QR 碼損壞、髒污或部分被遮住時,我還能解碼嗎?
- 通常可以。QR 碼採用 Reed–Solomon 錯誤更正,在最高等級下,大約 30% 的圖樣遺失時仍能還原內容。不能缺少的是三個大型角落方塊——它們是解碼器尋找網格並判定方向所需的位置標記。缺了一角的 QR 碼通常會失敗;中間有擦痕的通常不會。
- 只為了查看內容而掃描 QR 碼,安全嗎?
- 大多數手機掃描器會在開啟前顯示預覽,這算是相當安全。風險在於養成看到就點擊的習慣。如果有任何疑慮,改為解碼圖片——這能完全消除風險。
- 我怎麼知道 QR 碼是不是動態的?
- 解碼它。如果內容是你不擁有、也不是目的地網站所屬網域上的短連結,它就是動態 QR 碼,會經過該第三方轉送。靜態 QR 碼本身包含目的地 URL。
- 沒有網際網路時,我能在掃描前知道 QR 碼會做什麼嗎?
- 可以。解碼是本機運算——在瀏覽器中執行的解碼器載入頁面後不需要網路,而內容是你可以自行閱讀的文字。
- 如果印刷的 QR 碼解碼後指向我不認得的網域,該怎麼辦?
- 不要掃描;如果它位於公共設施上,請向負責該表面的單位通報。FTC 和 FBI 都曾警告有人在合法 QR 碼上貼覆貼紙;請參閱 QR 網路釣魚。
準備好製作靜態 QR Code 了嗎?
在瀏覽器中產生一個 — 免註冊、免追蹤、免訂閱。你建立的東西就屬於你。
延伸閱讀
Quishing:最常被濫用的網域是 QR 產生器
「免費」QR 產生器加入一般印刷品的重新導向層,正是攻擊者依賴的同一層,而它也移除了掃描器原本最後一道防線。
靜態 vs 動態 QR Code:每位使用者都該知道的事
一種編碼你的內容;另一種編碼一個重新導向。這個差異決定了你的 QR Code 五年後還能不能用。
QR碼遭挾持:只買一個月,絕不要購買長期年方案
處理已被關閉的 QR 碼:確認誰真正控制它、脫身要付出什麼代價,以及阻止問題再次發生的唯一行動。
5 個紅旗:你的 QR 產生器是個陷阱
五個能把誠實 QR 工具與會在日後向你收租、或停用你 Code 的 dynamic-first 產生器區分開來的訊號。
QR 掃描記錄:資料歸服務商,法律責任由你承擔
掃描分析不是額外功能,而是重新導向存在的原因;承擔法律風險的一方,並不是掌握資料的一方。