2010年1月10日

[資安] 系統上線後該注意事項

今天坎尼在登入某網站的時候,大概是 Session 到期
所以網頁要求坎尼重新輸入帳密
沒想到重新登入後,出現了以下的畫面

ㄟㄟ,這不對吧,把資訊跟使用者講也就算了
Table Name Column Name 都跑出來了
今天是無心的使用者還好,如果是惡意的使用者...

最近坎尼剛好有玩到 CAT.NET 做靜態源碼分析
也遇到有一條剛好是  Response.Write(Exception.Message)

CAT 給的 Resolution
「Do not provide the user with specific exception information」

「不要提供使用者太多明確的資訊」

的確,尤其像已經用 try catch 處理,卻又將錯誤訊息顯示給使用者看
坎尼可以了解有時就是為了方便除錯,但可能為系統開了個大洞而不自知
(不過上面的實例看來是連例外都沒補捉 ="=

雖然可以說都用 Parameter 做處理,可以避免所有危險字串
今天可以防不代表明日就擋的下來


所以一旦除錯做完就記得把這類的動作給拿掉
免的日後資料外洩說不定還會吃上官司

小小一點感觸  :(

2 則留言:

Unknown 提到...

喔喔,重要資安觀念,推一下推一下!其實很多 比較成熟的 Open Source 軟體 (e.g., Nagios) 在發生 Exception 的時候都會 show 出一個還不錯的 error page,在主流平台上應該稍微加工一下就可以做到了,沒做到真的是不應該 ...

坎尼 提到...

導 error page 是常用的做法
不過文章中的案例我想應該就是外包,然後也沒做相關的測試

在台灣還蠻可悲的,一個網站往往3萬就可以打發了
潛在的成本、風險都沒考量,只有想到便宜的費用
事後的維護、問題修正甚至整合更新
這些東西若沒全盤考量,事後只會更容易付出更大的代價

Google Spreadsheet 裡用規則運算式

最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D