返回部落格
旅遊隱私安全

曬票根被盜帳號:Klook 憑證與登機證截圖的 3 層洩漏面|2026 旅遊隱私指南

發佈於17 min read
分享文章

一張票根能問出多少東西

先講一個真實案例,這不是假設情境。

資安記者 Brian Krebs 在 2015 年寫過一篇分析:一位讀者 Cory 看到朋友把登機證拍照貼上 Facebook,他截圖、把條碼放大,丟進網路上免費的條碼解碼網站。幾秒鐘之後,他手上有了那位朋友的常客飛行計畫帳號資訊。

接下來發生的事情才是重點。Cory 可以查看那個帳號底下所有未來的航班、更改已購票乘客的座位、甚至取消任何一趟未來的班機。更麻煩的是,這些資訊足以協助通過航空公司「忘記 PIN」流程的前半段驗證。

朋友只是開心地曬了一張登機證。

很多人忽略了一件事:條碼跟 QR code 不是裝飾圖案,它們是可被機器讀取的資料容器。你看到的是一堆黑白方塊,掃描器看到的是訂位代號、姓名、航班、日期、座位。這個落差,就是整個風險的來源。

塗一半沒有用:QR code 的容錯設計

這段我最想講,因為錯誤的處理方式比不處理更危險:以為安全了,於是放心貼出去。坦白說,這比完全不處理更難救。

QR code 在設計上就內建了強大的容錯與還原能力。它的規格允許在一定比例的區塊毀損、髒污、被遮擋的情況下,掃描器依然能還原出完整資料。這個特性在現實世界很實用(票券被折到、印刷有瑕疵都還掃得到),但用在「我遮一半應該就沒事了吧」這種場景,它就變成漏洞。

台灣的專家已經公開提醒過這個盲點:以為在票券上畫線塗黑就等於作廢,是誤解;QR code 的容錯力超乎多數人想像,部分遮蔽之後掃描器仍可能還原全部資料。

這個說法對不對,我決定自己測一遍。

我實際測了:要遮到多少才真的掃不出來

測試方法很簡單,你也可以重現。我用 Python 的 qrcode 套件產生一組模擬票券憑證的 QR code(內容是帶訂單編號與核銷碼的網址),分別用 M(15%)、Q(25%)、H(30%)三種容錯等級各產一張,然後對每張施加四種遮蔽方式、七種面積比例,最後用 OpenCV 的 QRCodeDetector 嘗試解碼。能還原出完整原始網址才算「掃得出來」。

結果比我預期的更糟。

遮蔽方式 M(15%)失效門檻 Q(25%)失效門檻 H(30%)失效門檻
中央實心方塊 遮 15% 面積 遮 20% 面積 遮 25% 面積
右下角方塊 遮 20% 面積 遮 25% 面積 遮 25% 面積
橫線劃過 遮 10% 面積 遮 20% 面積 遮 20% 面積
中央馬賽克 遮 15% 面積 遮 20% 面積 遮 25% 面積

表格讀法:門檻是「開始失效」的比例,低於這個數字都還掃得出來。

三個發現值得記下來。

第一,高容錯等級的票券,遮掉五分之一的面積照樣能掃。H 等級在遮蔽面積 20% 時,中央方塊、角落方塊、馬賽克三種方式全部還原成功。你在截圖上塗掉一個看起來不小的方塊,實際上什麼都沒擋住。

第二,馬賽克跟實心方塊的表現幾乎一模一樣。這推翻了「馬賽克至少比不遮好」的直覺——在我的測試裡,兩者的失效門檻在三個等級上完全相同。模糊化並沒有比塗黑更安全,它只是讓你看起來做了處理。

第三,橫線劃過反而是四種方式裡最有效的。M 等級只要一條佔 10% 高度的橫線就掃不出來了。原因是橫線橫跨整個符號寬度,破壞的資料區塊分散在多個編碼區段,而集中在一處的方塊反而剛好落在容錯能力的守備範圍內。

坦白說,第三點跟我原本要寫的結論相反。專家提醒「畫線塗黑不等於作廢」是對的——那句話講的是票券的有效性與資料可讀性,而不是說畫線一定無效。但問題如果換成「哪種塗法比較擋得住掃描器」,這批數據給的答案是橫線贏過方塊。這種差別只有實際測了才知道。

遮哪裡,比遮多少更重要

真正實用的發現在最後一組測試。

QR code 的三個角落有大方塊,那是定位圖案(finder pattern),掃描器靠它判斷方向與邊界。我把左上角那一個蓋掉,結果三種容錯等級全部無法解碼——而它只佔整張圖面積的 2.0% 到 3.6%。

換句話說:遮住 2% 的正確位置,勝過遮住 20% 的錯誤位置。

務必注意這個測試的邊界。我用的是 OpenCV 的解碼器、單一 payload、單一版本的 QR code;商用掃描器或手機相機的實作不同,容錯還原能力可能更強。所以請把上面的門檻當成下限,不是保證值——真實世界的攻擊者用的解碼器,很可能比我的測試環境更寬容。

那實務上該怎麼辦?標準只有一個:整塊完全覆蓋,蓋到超出邊界。不是遮一角、不是畫幾條線、不是打馬賽克。如果條件不允許(例如只能用手機內建的塗鴉工具),至少確保三個定位角有一個被完整蓋掉。發遊記時要一次處理整批行程截圖的話,背包客棧發遊記的完整流程那篇有把這步驟排進發文順序裡。

一句話:遮不乾淨,等於沒遮。

旅遊場景裡的三層洩漏面

我把旅遊常見的截圖分成三層來看,風險性質完全不同,處理方式也不一樣。

層級 常見來源 洩漏內容 最壞情況
第一層:可掃描憑證 Klook/KKday 電子憑證、演唱會電子票、登機證 票券本體、訂位代號、常客帳號線索 票被別人先用掉、帳號被接管
第二層:文字識別資訊 Trip.com/Agoda 訂房確認信、訂單編號、房號 姓名、入住日期、住宿地址 冒名致電飯店、社交工程
第三層:影像內嵌資料 直接翻拍螢幕的照片 EXIF 中的 GPS、拍攝時間、裝置 推知你當下位置或住家

第一層最急,而且急的程度其實被嚴重低估。電子憑證的價值就在那個碼本身,被搶先掃走,你到現場才會發現票已失效。高雄就發生過歹徒竊取網路上的演唱會票券照片,變造後拿去詐騙想買票的人——受害的不只是曬票的人,還有被騙的買家。

第二層看起來人畜無害,實際上是社交工程的燃料。姓名 + 入住日期 + 飯店名稱,足以讓人打電話到櫃檯冒充你更動訂房,或是反過來冒充飯店打給你要求「重新確認信用卡」。這類詐騙在旅遊旺季特別多。

第三層最常被漏掉。手機的截圖通常不含 GPS,但如果你是拿另一支手機拍螢幕,那張照片就會帶上你拍攝當下的座標。這種情況比想像中常見,尤其是要把電腦畫面傳給別人的時候。

資安署建議的處理步驟

台灣的資安主管機關在 2026 年 6 月針對「曬票」風險提出過四個步驟,方向很清楚:

第一,最安全的做法是不要分享含票券的貼文。第二,如果一定要分享,確保條碼或 QR code 被完全遮蔽。第三,遮蔽採用實體方式(例如用紙、用手擋住再拍)。第四,票券與憑證在丟棄前要徹底銷毀。

第三點特別聰明。實體遮擋——先用手或紙蓋住碼再按快門——比拍完再用軟體塗有效得多,因為原始檔案裡從一開始就沒有那段資料。用軟體塗黑的話,你還要祈禱分享出去的是處理後的檔案,而不是不小心傳成原檔。

我補一點他們沒提、但旅遊情境特別需要的:分享對象的範圍控制。家族群組看起來安全,但群組裡有誰、誰會轉發到別的群組,你控制不了。行程資訊該給的是「哪天去哪裡」,不是憑證本身。

那我想給同行的人看行程怎麼辦

這是最實際的問題。行程資訊本來就需要協作,同行者要知道集合時間、票券內容、住宿地址。

優先順序是這樣的:

第一選擇是用平台原生的分享功能。 Klook、KKday、Trip.com 這類平台多半支援把訂單分享或轉贈給同行者,走官方管道的話,憑證的有效性由平台控制,不會產生一張到處流傳的截圖。

第二選擇是傳文字,不傳圖。 「9/26 早上 9 點,環球影城正門,票我帶」——這句話包含所有必要資訊,零風險。

第三選擇才是分享圖片,而且要加保護。 如果真的需要傳畫面(例如複雜的行程表、地圖截圖),用有存取控制的方式,不要貼在公開貼文裡。

用 lpic.cc 的話,可以在上傳時設一組查看密碼,拿到的短連結就算被轉發出去,沒有密碼的人也打不開。密碼是經過 bcrypt 雜湊儲存的,不是明碼比對。對「只想給這五個人看」的行程截圖來說,這比丟進群組讓它自由流傳可控得多。

限制一樣要說在前面:單張圖片上限 8MB,檔案在最後一次被查看後保留 30 天,而且上傳的檔案會自動壓縮最佳化,原始檔不會保留。另外——密碼保護能擋住不該看的人,但擋不住有權限的人截圖轉發。任何分享機制都有這個天花板,別把它當成萬能。

強烈建議的最後一道防線,還是那句老話:真正敏感的憑證,一開始就不要變成圖片檔。

常見問題 FAQ

Q1:我已經把登機證貼出去很久了,現在刪掉還有用嗎?

刪掉能減少後續曝光,但不能假設沒人抓過。務必做的是另外兩件事:立刻更改該航空公司帳號的密碼與安全問題答案,並檢查未來訂位有沒有被異動。Krebs 那個案例裡,攻擊者能做的第一件事就是改座位跟取消班機。

Q2:Klook 的電子憑證被別人掃過,我到現場還能入場嗎?

看票種。一次性核銷的憑證被搶先使用,到現場就會顯示已使用。這種情況要立刻聯繫平台客服說明,但處理結果不保證,而且旺季客服回應慢。這是為什麼預防遠比補救重要。

Q3:把 QR code 打上馬賽克夠嗎?

不夠,而且我實測過它幾乎沒有比較好。在三種容錯等級下,馬賽克與實心方塊的失效門檻完全相同——高容錯等級的票券要遮到 25% 面積才掃不出來。要遮就用不透明實心色塊完整覆蓋整個碼區,或者更好——拍照當下就用實體物件擋住。

Q4:訂房確認信只有訂單編號跟名字,這樣也有風險嗎?

有。姓名加上訂單編號在某些平台足以查詢訂單狀態,加上入住日期就構成完整的社交工程材料。這是真實案例裡反覆出現的模式:攻擊者不需要拿到密碼,只需要蒐集到足夠的片段資訊去說服客服。

Q5:那旅遊照片本身呢?也要處理嗎?

照片的風險主要在 EXIF 的 GPS 座標,性質跟票券不同。多數社群平台上傳時會清掉 EXIF,但用雲端硬碟或「傳送原始檔案」分享時通常會完整保留。想確認各服務怎麼處理,站內有一篇逐欄位檢查 8 個圖床 EXIF 保留情況的實測報告。

參考資料

#QR Code#電子憑證#登機證#旅遊隱私#票券安全#訂單截圖#帳號盜用
K

作者

Kevin Wu

資安顧問

關注隱私保護與資料安全,幫你避開圖片分享的隱藏風險。