web常見攻擊總結

看風景就發表於2017-05-27

1.Sql注入

  攻擊者把sql命令插入到web表單的輸入域或頁面請求的查詢字串,
  欺騙伺服器執行惡意的sql命令

  防禦措施

  前端:
  1.正則驗證字串格式
  2.過濾字串的非法字元

  後端:
  1.不要直接拼接sql,要使用引數化查詢
  2.使用儲存過程代替sql查詢

2.XSS(Cross site Scripting,跨站指令碼攻擊)

  XSS本質是一種注入攻擊,使用者的輸入或者URL的引數,總之就是客戶端的輸入,被接收後,又顯示在了html中。

  常見的有反射型(非永續性),儲存型(永續性)等。

  (1). 反射型(利用URL後面的引數來注入惡意程式碼)

  將js指令碼新增到查詢字串中,將含有指令碼的連結傳播為使用者,使用者點開連結,
  指令碼會執行,客戶獲取使用者cookie,或執行其他危險操作。

  (2). 儲存型(利用表單將惡意程式碼提交到伺服器資料庫)

  通過表單輸入將指令碼儲存到伺服器的資料庫中,當其他人開啟頁面的時候,指令碼
  就會執行,可以獲取使用者cookie,或修改使用者介面顯示等操作。

  防禦措施

  前端:

  1.對使用者輸入進行校驗,過濾,編碼和轉義

  後端:

  1.對輸入的字元進行過濾,編碼,替換
  2.對輸出的字元進行編碼

3.CSRF(Cross site request forgery,跨站請求偽造)

  模擬網站使用者想網站發起請求,進行非法操作或得到非法結果。

  防禦措施

  1.驗證Http Referer的值

  驗證http頭部的referer,判斷請求來源是合法的地址,才進行處理,
  否則拒絕響應。

  2.使用請求令牌

  訪問頁面時,服務端在頁面寫入一個隨機token,並設定token過期時間。
  請求必須帶上token,請求過的token會失效,無法再用。此種token方法
  也可以防止表單重複提交,在登入等安全性要求高的頁面,使用驗證碼

  3.冪等的GET請求

  GET請求不要執行任何修改資料操作,僅通過POST,PUT,DELETE請求修改網站內容

4.防盜鏈

  盜鏈會增加伺服器的負擔。盜鏈主要是對網站圖片,視訊以及其他資原始檔的下載。

  防禦措施

  判斷ip地址和域名,只有白名單中的ip和域名才能返回資源,否則,
  不予處理,或者返回一個網站logo。

相關文章