為什麼用Prepared Statement還會有SQL injection? 這篇文章主要打破一個迷思, 不是使用 prepare Statement就可以避免SQL injection 正點是要正確地使用, 才能夠避免 SQL injection!! 因此, 我們會舉一個錯誤使用 prepare Statement 的程式範例與正確使用的程式範例說明 錯誤的使用 Prepare…
雲端資訊安全
10 個高風險的安全防護建置指南
10 個高風險的安全防護建置指南 INTRODUCTION OWASP十大安全防護安全設計指南2016應該包含在所有的軟體發展的專案中. 這十大防護安全設計的排列順序主要是依據重要性排序. 排名第一位為最重要. 儘早驗證, 經常驗證 參數化查詢的輸入 資料編碼 驗證所有的輸入 身分認證與驗證 許可權的存取控管 保護資料 日誌與入侵偵測 善用安全框架與程式庫 錯誤與例外的處理 OWASP Proactive…
錯誤與例外處理
錯誤與例外處理 建置錯誤與例外處理是一個瑣碎的過程. 但是錯誤與例外狀況的處理卻是編碼防護重要的一環. 不恰當的錯誤處理會導致許多安全漏洞的風險: 1) 洩漏資料給駭客,讓駭客知道伺服器平台所使用的技術與設計 CWE 209. 舉例來說,回覆stack trace或是其它內部詳細錯誤的訊息都會導致讓駭客知道更多後端伺服器的運作邏輯. 駭客也會透過不同的錯誤型態(例如,錯誤的使用者或是錯誤的密碼等)來瞭解伺服器檢查的機制. 2) 完全不做錯誤檢查會導致錯誤無法被偵測到或是無法預期的結果 CWE 391. University of Toronto的研究員發現在分散式系統中,錯誤處理或是失誤是導致系統失敗的主要原因https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-yuan.pdf. 錯誤與例外處理包含商業邏輯與安全防護等. 透過程式碼的審視, 安全測試與滲透式測試,…