XSS(跨站腳本)漏洞是什么?
在網頁中插入惡意的js腳本,由於網站沒對其過濾,當用戶瀏覽時,就會觸發腳本,造成XSS攻擊
XSS分類?
1.反射型 用戶輸入的注入代通過瀏覽器傳入到服務器后,又被目標服務器反射回來,在瀏覽器中解析並執行。
2.存儲型 用戶輸入的注入代碼,通過瀏覽器傳入到服務器后,被永久存放在目標服務器的數據庫或文件中。當用戶再次訪問這個注入代碼的頁面就出發了xss漏洞
3.Dom型xss 它和反射型以及存儲型xss的區別在於,dom型xss的代碼並不需要服務器解析響應的直接參與,觸發xss靠的是瀏覽器的dom解析,可以認為完全是客戶端的事情。
4.Flash型xss
XSS危害?
1.對於那些半年沒有更新的小企業網站來說,發生XSS漏洞幾乎沒有什么用
2.劫持用戶cookie是最常見的跨站攻擊形式,通過在網頁中寫入並執行腳本執行文件,劫持用戶瀏覽器,將用戶當前使用的sessionID信息發送至攻擊者控制的網站或服務器中。
3.掛馬(水坑攻擊)
4.有局限性的鍵盤記錄
5.蠕蟲
防御?
1.對前端輸入做過濾和編碼:
- 比如只允許輸入指定類型的字符,比如電話號格式,注冊用戶名限制等,輸入檢查需要在服務器端完成,在前端完成的限制是容易繞過的;
- 對特殊字符進行過濾和轉義;
2.對輸出做過濾和編碼:在變量值輸出到前端的HTML時進行編碼和轉義;
3.給關鍵cookie使用http-only。