今天遇到從業以來第一次遭遇的駭客事件。
就資安的角度來看,這的確是一個遭駭的事件,但就技術的層面來看,我個人倒覺得算不上是一個駭客事件,因為那是一個完全沒有防護的頁面,只要知道網址的人都可以任意使用。
而目前網頁搜尋的技術應該很普遍(雖然我這個肉腳程式設計師不知道怎麼做),透過搜尋機器人應該可以找遍網路上所有公開的頁面資料。
既然找得到頁面,那麼針對頁面上的資料來判斷可以做什麼動作應該很簡單。例如,如果我透過一個機器人找到一個有表單的頁面,那麼我同時就知道這個表單送到哪裡去(透過action屬性),然後透過form標籤之間的內容,我也可以知道我有多少表單資料需要傳送,所以我就可以任意submit表單,如果真的因此寫得進資料庫,那麼在意料之外的情況下,看起來就好像被駭一樣。
從這個經驗,我想可以確信每一頁網頁程式都有需要做權限的判斷,所以若是採用頁框來設計網頁時,千萬別只是在父頁做權限判斷,每一頁子頁框也都需要做權限的判斷。所以說,採用頁框來設計網頁也等同於要做多一些工作,喜歡這種風格的人務必多留意。