1. 程式人生 > >常見的web安全及防護原理

常見的web安全及防護原理

rip mail 連接 指定 獲取cookie set 完成 行數 加密

1.0 sql註入

sql註入原理:就是通過把SQL命令插入到Web表單遞交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。

sql註入防護:

1.永遠不要信任用戶的輸入,要對用戶的輸入進行校驗,可以通過正則表達式,或限制長度,對單引號和雙"-"進行轉換等。

2.永遠不要使用動態拼裝SQL,可以使用參數化的SQL或者直接使用存儲過程進行數據查詢存取。

3.永遠不要使用管理員權限的數據庫連接,為每個應用使用單獨的權限有限的數據庫連接。

4.不要把機密信息明文存放,請加密或者hash掉密碼和敏感的信息。

2.0 XSS原理及防範

XSS原理:Xss(cross-site scripting)攻擊指的是攻擊者往Web頁面裏插入惡意 html標簽或者javascript代碼。比如:攻擊者在論壇中放一個看似安全的鏈接,騙取用戶點擊後,竊取cookie中的用戶私密信息;或者攻擊者在論壇中加一個惡意表單,當用戶提交表單的時候,卻把信息傳送到攻擊者的服務器中,而不是用戶原本以為的信任站點。

XSS防範方法:

首先代碼裏對用戶輸入的地方和變量都需要仔細檢查長度和對”<”,”>”,”;”,”’”等字符做過濾;其次任何內容寫到頁面之前都必須加以encode,避免不小心把html tag 弄出來。這一個層面做好,至少可以堵住超過一半的XSS 攻擊。

首先,避免直接在cookie 中泄露用戶隱私,例如email、密碼等等。其次,通過使cookie 和系統ip 綁定來降低cookie 泄露後的危險。這樣攻擊者得到的cookie 沒有實際價值,不可能拿來重放。

如果網站不需要再瀏覽器端對cookie 進行操作,可以在Set-Cookie 末尾加上HttpOnly 來防止javascript 代碼直接獲取cookie 。

盡量采用POST 而非GET 提交表單

3.0 CSRF跨站點請求偽造

CSRF原理:代替用戶完成指定的動作,需要知道其他用戶頁面的代碼和數據包。要完成一次CSRF攻擊,受害者必須依次完成兩個步驟:

①登錄受信任網站A,並在本地生成Cookie。

②在不登出A的情況下,訪問危險網站B。

CSRF的防禦:

①服務端的CSRF方式方法很多樣,但總的思想都是一致的,就是在客戶端頁面增加偽隨機數。

②通過驗證碼的方法

常見的web安全及防護原理