[Security and Privacy]我的卡號被記憶?!

  • 7243
  • 0
  • 2012-06-17

[Security and Privacy]我的卡號被記憶?!

前言

最近『我的密碼沒加密』實在太紅了,讓不少工程師(好吧,可能還是少數人)對資料的機敏性提昇了一些敏感程度。

話說小弟因為上來北部打拼,所以偶爾回家都還是搭高鐵回家。

不過上次在高鐵網站上,透過網路信用卡付款,竟然發現卡號的欄位,有自動完成的功能…天啊!這也太有趣敢了吧。這樣不是歡迎後面的使用者,來看我每一格的卡號資訊嗎?接下來只要猜猜看到期年月,就可以輕鬆刷卡了?!

 

畫面

是滴,這邊就來show一下咖圖,有圖有真相嘛…

卡號自動完成

么壽骨,跳出來個4311,不知道是誰的卡號。

原因是什麼,是因為有個autocomplete的attribute,預設是true,簡單的說,也就是browser會幫你記住輸入的值。server端不用多寫什麼,這邊就只是單純browser可以幫你記住這個值。當然,也可以透過browser來關閉這樣的功能,只是,不是每個人都有這樣的sense啊…

身為一個設計電子商務網站的developer,這種敏感資訊當然要把autocomplete關掉。

這邊就直接透過Chrome來測試一下,把input的autocomplete設成false。

autoCompleteOff

接著再double click一下卡號的input看看,結果就正常了。

afterOff

不過呢…這個關閉的動作,是不溯及以往的,也就是browser裡面如果已經幫你記住值了,除非你去browser清掉暫存的相關資訊,不然,autocomplete再設定成on,以前的資訊還是會被看見。

 

結論

  1. 卡號這種一級的敏感資訊,更甚至說,網路付款的這種功能,應該直接從form上面就把AutoComplete屬性關掉。
  2. 使用者看到這樣的情況,應該重視一下,了解一下會有什麼風險,該怎麼避免。(例如Chrome的無痕視窗)

後記:其實我有寫信去給高鐵網站的客服人員,我的內容是:

Hi, 想提醒一下,目前網路付款使用信用卡時,在網頁設計的部份,應該強迫瀏覽器,不去記憶卡號的資訊,否則卡號容易外洩。

在一天內就收到站方的回信:

謝謝您的來信,有關您反應之問題,本公司網路訂位系統付款時,每一次皆需輸入您的卡號資訊,並未記憶您的卡號。若您使用T-Express手機通關,請您至本公司企業網站下載,網址如下:http://www.thsrc.com.tw/tc/ticket/tic_how_TExpress.asp

so, 我也懶得再寫一次跟他雞同鴨講,不管身為使用者或是開發人員,對這類的設計與使用系統,多留點神,對自己有好無壞。(最好也留意一下『我的密碼沒加密』上面的訊息,被列出來的網站,如果是你常用的email/account/password,趕快亡羊補牢去把密碼改掉,或許還有點救。另外當然把一些重要的網站密碼改掉,也是一個應該做的動作。)

其他類似的設計,還有email應該盡量避免明文顯示在網頁上,不然被爬蟲爬走,這email就是垃圾郵件的攻擊目標。

 

Reference

Web開發人員,可以參考一下CoolShell一篇文章:『Web開發中需要了解的東西』,寫得相當好,對Web開發人員提點了相當多需要注意的地方。Security的部份,則可以參考Mozilla的Secure Coding Guidelines

感謝同事:Dan,補充了一個參考文章:Breaking Browsers: Hacking Auto-Complete (All Materials Available)

slide: 

備註

筆者於2012/6/17使用高鐵網路訂票時,卡號欄位已經將autocomplete設定為off了


blog 與課程更新內容,請前往新站位置:http://tdd.best/