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。