什么是xss注入:
xss通常就是通過巧妙的方法注入指令到指定頁面,使用戶加載執行的惡意的js(或者其他類型)的代碼,攻擊者會獲取用戶的一系列信息,如cookie等,從而進行其他用戶信息的盜取
為什么會產生xss:
和sql注入一樣,對用戶輸入的絕對信任,沒有對用戶輸入做絕對的過濾
xss注入實現:
在提交的輸入框中放入我們的<script>標簽
提交之后結果:
查看網頁源代碼:果然,后台代碼沒有對我們提交的代碼做修改,直接解釋為html代碼執行,會產生以下效果
這只是一個簡單的彈窗,要是換成cookie的發送呢?就可以用戶在不知情的情況下,獲取到用戶的cookie,從而冒充用戶登錄
xss的防御:
1.后台過濾長度過濾
2.xss的防御最重要的一點,也就一點就足夠了,就是將用戶輸入的所有字符都轉義為html實體(< ---<)顯示,因為xss注入不管是標簽注入還是屬性注入,都需要<或者引號的支持,和防御sql注入一樣,將本次所有的輸入替換成value的值就可以
防御代碼:將用戶用戶輸入的所有參數轉換為HTML實體即可