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