设计安全的网站系统.pptVIP

  • 2
  • 0
  • 约1.61万字
  • 约 62页
  • 2019-12-23 发布于湖北
  • 举报
設計安全的網站系統 資策會教育訓練處 王寧疆 MCAD.NET/MCSD.NET/MCT 議程 網站安全管制人人有責 預防SQL Injection攻擊法 預防Hidden Field Tampering攻擊法 預防Cross-Site Scripting攻擊法 預防Session Hijacking攻擊 網頁基本防護法 將帳號/密碼資料存放到Windows的登錄資訊 網站安全管制人人有責 網頁開發者, 架構工程師, 系統管理員人人有責 攻擊應用程式常見的手法 網頁攻擊手法與受害原因 Cross-site Scripting(XSS) 受害原因:未對使用者輸入的資料執行編碼處理 SQL Injection 受害原因:利用使用者輸入的資料組成SQL敘述 Session Hijacking 受害原因:SessionID被猜中或SessionID Cookie被竊 One-click 受害原因:使用Script傳送HTTP Post Hidden Field tampering 受害原因:未對網頁中隱藏欄位的內容做檢查 SQL Injection攻擊法 SQL Injection攻擊模式 入侵登入畫面 植入帳號 刪除資料表 偷取資料表資訊 修改資料表記錄 入侵登入畫面 欲執行的SQL敘述 SELECT count(*) FROM Members WHERE UserName = John AND Password =ABC 直接入侵 不良的SQL敘述寫法 SELECT count(*) FROM Members WHERE UserName = _ txtUserName.Text AND Password = _ txtPassword.Text 在[帳號]欄位輸入以下的資料就可以登入成功: OR 1=1— 程式所執行的SQL敘述變成: SELECT count(*) FROM Members WHERE UserName = OR 1=1 – And Password = 植入帳號與刪除資料表 在[帳號]欄位輸入以下的資料就可以新增駭客帳號: ;insert into Members(UserName, Password) Values (hacker, foo)— 權限足夠的狀況下, 在[帳號]欄位輸入以下的資料就可以刪除Members資料表: ;drop table Members -- 不需要密碼也可以登入 在[密碼]欄位輸入以下的資料就可以成功登入: aaa Or UserName Like % 程式所執行的SQL敘述變成: SELECT count(*) FROM Members WHERE UserName = And Password = aaa Or UserName Like % 利用Url傳遞網頁執行需要的參數 不良的程式寫法 Dim strSQL As String = “SELECT * FROM Products WHERE Supplierid=” _  Request(SupplierID).ToString() 查詢SQL Server的版本 在網址列輸入: http://localhost/BadSupplierProduct/Products.aspx?SupplierID=9999 union all select null, @@ServiceName, null, null, @@version, null, null, null, null, null 讀取資料庫的資料表 在網址列輸入: http://localhost/BadSupplierProduct/Products.aspx?SupplierID=9999 union all select null, name, null, null, null, null,null,null,null,null from sysobjects where xtype=u 讀取資料表的欄位 在網址列輸入: http://localhost/BadSupplierProduct/Products.aspx?SupplierID=9999 union all select null,name,null,null,null,null,null,null,null,null from syscolumns where id=obje

文档评论(0)

1亿VIP精品文档

相关文档