內行跟外行差在哪

最近EC技術界 路老闆覺得還滿大條的是莫過於

啟元界功能表: 關於現有電子商務 網路購物平台的漏洞問題
https://blog.lupopi.com/?p=188

ibon有漏洞?所有票券都只要1塊錢
http://news.ltn.com.tw/news/life/breakingnews/1444898

借一下 啟元 那篇部落格的圖

這張圖不是直接把價錢放在 input 內

而是他直接把數量改成負值

結果 server 接到也沒檢查

就直接算出負值的價格

這張最經典

竟然把商品價格寫在 input 裡面

由客戶的瀏覽器來決定價格

這跟 Dell 螢幕賣 1元 簡直有異曲同工之妙

網頁會這樣寫的真的外行到不行

運費啊 商品價格啊

server 不是都有嘛?

幹嘛傳到 client 去

然後在從 client 接收算總金額?

最扯的是付費結帳

金流那邊回覆付款狀態

當然是要檢查當初買單的金額

跟付費金額有沒有一致

我猜他們是有檢查啦

但因為一開始加總就被改了

所以資料庫的總計金額也是1元

刷卡也是1元

所以從頭GG到尾

各大商城都中標 還不乏台灣最大店商Y!

實在是很慘

一般金流都會提供一把 private key

讓串接金流的網站 把所有要 post 到金流的參數做 hash

產生出一個 hash 過的字串

一起送到金流去

這種方法就可以避免掉 攻擊端(啟元) 的這種修改法

因為被竄改的數值送到金流去 經過 hash 後

會跟原本送出的 hash 字串不同

金流就會發現欄位被竄改了

至於 攻擊端 有沒有能力也把 hash 字串也重新產生?

有可能

因為我也有看過有智障直接把 hash key 放到 post form 裡面的

不過基本讓如果懂金流給的規格跟機制

一般來說是不會允許這種金額竄改的攻擊

除非串金流的人看不懂規格

很多人會覺得

一樣是購物網站

為什麼有人開價3萬

有的人開價30萬

差在哪裡?

就差在這裡

雖然我不能保證開30萬的一定不會有這種蠢問題

但是一分錢一分貨

你喜歡用便宜的

就要承擔這種風險

還有那種自己做EC的老闆

喜歡貪小便宜嘛

想請一個 ‘資深的’ 來帶一堆 ‘資淺的’

以為一個有經驗 就會 ‘傳授’ 給沒經驗的

殊不知 ‘資深的’ 也不是做 EC 起家的

大家湊合在一起好像很歡樂

結果就是悲劇一場

另外就是個人小短評

張啟元這位小弟

其實並沒有很專業喔

他沒有受過什麼 資工/資管 的科班教育

但你看 坐在辦公室裡面有多少是 資工資管碩士博士

結果寫出來的東西還是被沒受過專業訓練

搓兩下就爆了

而且其實這個議題他也不是原創

我想他是看到之前高鐵線上買票的新聞

受到啟發

所以去找這方面的資訊來 try

才 try 出這麼多問題

這表示什麼?

這表示台灣做EC的人都沒有在注意這方面的網路安全議題

其實這都很老的議題了 大概跟 SQL Injection 一樣老了

(連商品價錢/運費都寫在表單裡面)

這是EC的悲哀

檯面上一些騙錢的服務

就算了

騙錢的服務

連服務本身的品質都是騙人的

一天到晚討論怎麼行銷

結果東西都是爛的

本末倒置

都要等到有問題了再來修

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料