反射型XSS(也叫非持久型):惡意JavaScript腳本屬于用戶發送給網站請求中的一部分,隨后網站又將這部分返回給用戶,惡意腳本在頁面中被執行,一般發生在前后端一體的應用中,服務端邏輯會改變最終的網頁代碼。
基于DOM的XSS:這種攻擊不需要經過服務器,網頁本身的JavaScript也是可以改變HTML的,黑客正是利用這一點來實現插入惡意腳本。
存儲型XSS(也叫持久型XSS):黑客將惡意JavaScript腳本長期保存在服務端數據庫中,用戶一旦訪問相關頁面數據,惡意腳本就會被執行。常見于搜索、微博、社區貼吧評論等。
區別:反射型的XSS 的惡意腳本存在URL 里,存儲型XSS 的惡意代碼存在數據庫里。而基于DOM型的XSS攻擊中,取出和執行惡意代碼由瀏覽器端完成,屬于前端JavaScript自身的安全漏洞,其他兩種XSS都屬于服務端的安全漏洞。