Categories: 工具

開發者模式 vs 統聯訂票


最近很紅的資訊安全事件新聞
電腦天才又駭了 1元買車票提醒統聯 – 某人以線上刷卡方式,購買統聯客運台中往台北,以瀏覽器的「開發者模式」修改銀行網站上的票券金額,讓票券變成1元即可購得…

 

 

前言

事發至今,已經過很多天了
我也不確定兩方是否都有修正問題(統聯與銀行方面)
(不過就新聞內容看來的確是銀行方面有問題)

在前一篇文章中有提到 如何破解鎖右鍵的網站, 利用開發人員工具(開發者模式)!
我們除了可以依上篇文章拿到圖片網址之外,
也可以利用開發者模式, 修改網頁上的數值(金額)

當然, 並不是要教大家怎麼做個 駭客什麼的…
只是簡單說明資訊安全
很基本、簡單的動作!

 

 

測試

就直接拿事主來做個測試(希望統聯不要告我…)
ps:我最後有取消訂票, 也沒有送出到銀行端
單純讓大家知道 開發者模式的功能和資安問題

步驟直接走到, 在確認座位與票價時…
打開 , 開發者模式之後

使用 elements(元件)頁籤, command + f 或 ctrl + f 使用搜尋功能

搜尋幾個項目就能看見下圖的畫面…
(我們的目標是100 元的票價金額)

直接點擊 100, 輸入任何數字…
<input type=”hidden” name=”BookingDataPrice_1″ id=”BookingDataPrice_1″ value=”100″> 
上面這行html碼, 表示一個隱藏輸入框, 裡面的 value=”100″ 即為準備被傳輸的票價金額

送出之後, 可以看見修改過的金額在畫面上

接者進到線上刷卡頁面
在這邊, 可以看見金額已經正常了
不曉得是不是銀行端已經修復了呢?
當然也可以在這邊, 再做一次上述的動作….
(我的目的不是 hack 所以我們做到這就好了 :p)

 

 

結論&資安

其實這本身不是什麼很厲害的技術
雖然還是有點門檻(看懂 HTML)
但是網站本身還是需要最初步的防護

在軟體開發上,

後端程式不能完全相信前端使用者所需輸入的資料

垃圾進, 垃圾出
garbage in garbage out,GIGO

輸入錯的資料, 當然就拿到錯的結果

資安上
前端使用填了”1 元”, 後端就直接使用”1元”這樣是不行的
至少要檢查一下 “最低票價”

而且也不該讓金額數值在前端可以被(輕易)自由修改

這些問題嚴重嗎?
非常嚴重!!
你的個人資料, 可以輕易被修改
你可以便宜買到票, 再二手賣出
你的信用卡資料, 可以被盜取

小問題會引發大災難!

更早先前的新聞
購物網站藏漏洞? ibon票券1元就可帶走
類似這樣的問題層出不窮
在開發網站的時候, 更應該多一點心力去注意

 

當然
在上面的測試看來, 兩方應該都修正問題了!

 

開發者模式, 原來也不是用來做這樣的事…
本來的目地是用來測試、修改即時畫面的

下圖是利用開發者模式, 修改 Yahoo 背景色


在 Elements 頁籤中找到 <body> Tag 之後
在左邊的 Styles 區塊加入一行(css)
background:background:-webkit-linear-gradient(top,#0099aa,#0099FF);
可以看見畫面上的 Yahoo 背景馬上變成漸層藍

這樣的修改動作
都不會被儲存下來
重新整理之後就會回覆為原來樣子

可樂

View Comments

  • 媒體就是各種造神吹捧,不過就只是改個html碼就是天才駭客。
    這位張先生,可能連coding都不會吧,或許連Linux也都沒用過。
    再者說不定對網路和資安領域的知識都....
    炒知名度的成份居多吧。

    • 我想張先生應該不到不懂啦
      最少有略懂 XD

      不過媒體吹捧是真的...
      只希望大眾能更重視專業和資安的重要性

  • 架網站很容易,只可惜在這網路交易發達的時代,大多數的網站或者開發人員很明顯程度上仍然有很大落差...

Recent Posts

plain PHP 搭配 Slack 進行錯誤追蹤、回報(Error Tracking、Error Handling)

錯誤追蹤、回報非常重要,看到的錯誤才知道怎麼修。現今 PHP 流行的 Laravel 有很好的 Error Tracking, Error Handling。但 plain PHP 怎麼辦呢? 在 production 為了安全考量會設定…

4 years ago

Drone CI/CD 配合 Github 使用 Rsync 進行 Deploy

jenkins、circleci、travis 或 Gitlab CI 皆為目前暫知名的 CI/CD 服務,各自缺點也不言而喻...過於肥大、收費略高(?)、速度不夠快執問題...此時使用 go language 開發的 Drone 就出現啦,完全 docker 容器化的運行方式讓整個 CI…

4 years ago

Nginx brotli 設定

網頁壓縮技術中 gzip 很好用,deflate 己經過時,但你聽過 brotli 嗎? 有著比 gzip 更好、更快的壓縮效率。看起來利大於弊有什麼不用他的理由嗎?簡單從優、缺點來看 brotli!到底 brotli 布羅特利是什麼、如何設定呢。 目前大多的 web server…

4 years ago

本機使用 Docker 容器內 PHP (wrapper/expose PHP)

為什麼要讓本機使用 Docker 內 PHP? 情境... docker 容器內用的是 PHP 7.4 但你的開發本機還在跑 PHP 5.6 或是更舊,因為 dockerize 的關係會將所有相關環境都轉移到…

4 years ago

為什麼你需要密碼管理工具

為什麼你需要密碼管理工具現代人一天下來需要輸入多少組密碼,工作與生活己經和密碼密不可分! 除了足夠全安的密碼,密碼記錄、儲存的方式又足夠安全嗎?密碼管理工具可以帶來什麼幫助呢? 為什麼你需要密碼管理工具 資安問題!!大多人說著沒做壞事不怕被偷資料、監聽。嚴重曝露出現代人的基本科技素養的低落和無知 🤯 密碼的使用無所不在!! 行動裝置的普及,APP 、手機遊戲、銀行帳戶所有和生活相關的東西都需要密碼!!facebook, line 只要打開 APP 也會輸入密碼只是他是自動輸入、一般情況不可視 (auth token) 一般人最常發生的密碼資安問題…

4 years ago

簡單使用 Mysql Partition 優化查詢

mysql 資料表分區 mysql table partition 從架構上調整 mysql 的查詢效率。mysql DB 的優化可以簡單也能複雜,除了調整設定值。也可以透過水平分割(Horizontal Partitioning)、垂直分割(Vertical Partitioning) 分庫或分表將資料分散儲存減少資料搜尋、group by 時的效能消耗。拆開批次處理,理論上效率都會變好,本文就水平分割的…

4 years ago