二、xss的分類
xss根據(jù)其特性和利用方式可以分為三大類:反射型xss,存儲型xss,DOM型xss
1、反射型xss
反射型xss一般出現(xiàn)在URL參數(shù)中及網(wǎng)站搜索欄中,由于需要點擊包含惡意代碼的URL才可以觸發(fā),并且只能觸發(fā)一次,所以也被稱為“非持久性xss”。
2、存儲型xss
存儲型xss一出現(xiàn)在網(wǎng)站留言板,評論處,個人資料處,等需要用戶可以對網(wǎng)站寫入數(shù)據(jù)的地方。比如一個論壇評論處由于對用戶輸入過濾不嚴(yán)格,導(dǎo)致攻擊者在寫入一段竊取cookie的惡意JavaScript代碼到評論處,這段惡意代碼會寫入數(shù)據(jù)庫,當(dāng)其他用戶瀏覽這個寫入代碼的頁面時,網(wǎng)站從數(shù)據(jù)庫中讀取惡意代碼顯示到網(wǎng)頁中被瀏覽器執(zhí)行,導(dǎo)致用戶cookie被竊取,攻擊者無需受害者密碼即可登錄賬戶。所以也被稱作“持久性xss”。持久性xss比反射型xss危害要大的多。
3、dom型xss
DOM xss是基于dom文檔對象模型,前端腳本通過dom動態(tài)修改頁面,由于不與服務(wù)端進行交互,而且代碼是可見的,從前端獲取dom中的數(shù)據(jù)在本地執(zhí)行。
常見的可以操縱dom的對象:URL,localtion,referrer等