互聯網安全-XSS攻擊

什麼是XSS攻擊手段

XSS, 即爲(Cross Site Scripting), 中文名爲跨站腳本, 是發生在目標用戶的瀏覽器層面上的,當渲染DOM樹的過程成發生了不在預期內執行的JS代碼時,就發生了XSS攻擊。

例如在提交表單後,展示到另一個頁面,可能會受到XSS腳本注入,讀取本地cookie遠程發送給黑客服務器端。

XSS危害

  1. 通過document.cookie盜取cookie
  2. 使用js或css破壞頁面正常的結構與樣式
  3. 流量劫持(通過訪問某段具有window.location.href定位到其他頁面)
  4. Dos攻擊:利用合理的客戶端請求來佔用過多的服務器資源,從而使合法用戶無法得到服務器響應。
  5. 利用iframe、frame、XMLHttpRequest或上述Flash等方式,以(被攻擊)用戶的身份執行一些管理動作,或執行一些一般的如發微博、加好友、發私信等操作。
  6. 利用可被攻擊的域受到其他域信任的特點,以受信任來源的身份請求一些平時不允許的操作,如進行不當的投票活動。


XSS防禦

將腳本特殊字符,轉換成html源代碼進行展示。

  1. 過濾危險的DOM節點。如具有執行腳本能力的script, 具有顯示廣告和色情圖片的img, 具有改變樣式的link, style, 具有內嵌頁面的iframe, frame等元素節點。
  2. 過濾危險的屬性節點。如事件, style, src, href等
  3. 對cookie設置httpOnly。
對cookie的保護
  1. 對重要的cookie設置httpOnly, 防止客戶端通過document.cookie讀取cookie。服務端可以設置此字段。
對用戶輸入數據的處理
  1. 編碼:不能對用戶輸入的內容都保持原樣,對用戶輸入的數據進行字符實體編碼。對於字符實體的概念可以參考文章底部給出的參考鏈接。
  2. 解碼:原樣顯示內容的時候必須解碼,不然顯示不到內容了。
  3. 過濾:把輸入的一些不合法的東西都過濾掉,從而保證安全性。如移除用戶上傳的DOM屬性,如onerror,移除用戶上傳的Style節點,iframe, script節點等。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章