web常見攻擊總結
1.Sql註入
攻擊者把sql命令插入到web表單的輸入域或頁面請求的查詢字符串,
欺騙服務器執行惡意的sql命令
防禦措施
前端:
1.正則驗證字符串格式
2.過濾字符串的非法字符
後端:
1.不要直接拼接sql,要使用參數化查詢
2.使用存儲過程代替sql查詢
2.XSS(Cross site Scripting,跨站腳本攻擊)
就是腳本註入攻擊。常見的有反射型(非持久性),存儲型(持久性)等。
反射型
將js腳本添加到查詢字符串中,將含有腳本的鏈接傳播為用戶,用戶點開鏈接,
腳本會執行,客戶獲取用戶cookie,或執行其他危險操作。
存儲型
通過表單輸入將腳本存儲到服務器的數據庫中,當其他人打開頁面的時候,腳本
就會執行,可以獲取用戶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。
web常見攻擊總結