XSS攻擊可以分為三種類型:反射、存儲和DOM。
反光XSS:
也被稱為非持續性XSS,這種攻擊方法通常是壹次性的。
攻擊方法:攻擊者通過電子郵件向目標用戶發送包含XSS代碼的惡意鏈接。當目標用戶訪問鏈接時,服務器接收目標用戶的請求並進行處理,然後服務器將帶有XSS碼的數據發送到目標用戶的瀏覽器。在瀏覽器解析帶有XSS代碼的惡意腳本後,將會觸發XSS漏洞。
存儲XSS:
存儲XSS也稱為持久XSS,攻擊腳本將永久存儲在目標服務器的數據庫或文件中,具有高度隱蔽性。
攻擊方式:這種攻擊常見於論壇、博客和留言板。在發帖過程中,攻擊者將惡意腳本與正常信息壹起註入帖子的內容中。由於帖子由服務器保存,惡意腳本將永久存儲在服務器的後端內存中。當其他用戶瀏覽這篇註入了惡意腳本的帖子時,惡意腳本將在其瀏覽器中執行。
多姆XSS
DOM的全稱是文檔對象模型。使用DOM可以使程序和腳本動態地訪問和更新文檔內容、結構和樣式。
DOM XSS實際上是壹種特殊類型的反射XSS,是基於DOM文檔對象模型的漏洞。
HTML標簽都是節點,這些節點構成了DOM-node樹的整體結構。通過HTML DOM,可以通過JavaScript訪問樹中的所有節點。所有的HTML(節點)都可以修改,並且可以創建或刪除節點。