保存型xss漏洞意思是用戶A提交的數據沒有通過過濾,就保存在web程序中(一般是數據庫中),而後直接展現給其餘用戶。 這樣若是數據中有惡意的代碼,就會在用戶的瀏覽器中直接執行。
這樣的漏洞有可能存在於問答平臺或者我的信息設置裏等。攻擊者在web程序裏提出一個問題,問題中包含js語句,若是web服務器沒有過濾這些代碼,任何查看此問題的用戶,都與在其瀏覽器中執行攻擊者的js語句。
通常,保存型xss漏洞執行起來須要兩步:①攻擊者上傳一些專門設計的數據(包含惡意代碼),提交到網站,保存起來。②其他用戶查看包含惡意代碼的頁面,惡意代碼就在瀏覽器中執行。所以,保存型xss漏洞又稱爲二階跨站點腳本。
與反射型xss漏洞不同,反射型xss漏洞須要構造一個URL,誘使用戶點擊;保存型xss不須要,它在上傳特殊代碼後,只須要等待其他用戶本身來點擊便可。反射型xss前提用戶必須是登錄狀態,而保存型xss,用戶已是登錄狀態了。
實施的具體步驟: 一、攻擊者向服務器提交包含惡意js的數據,服務器保存。二、用戶登錄系統。三、用戶瀏覽包含惡意代碼的頁面。4.服務器對攻擊者的js語句,作出響應。5. 惡意代碼在用戶的瀏覽器中執行。6. 用戶的瀏覽器向攻擊者發送cookie。7. 攻擊者利用cookie登錄系統。
上傳文件中保存xss。 若是應用程序容許用戶上傳和下載查看文件,就可能會存在保存型xss漏洞。上傳一份html文件,其餘用戶查看該文件時,文件中的代碼就會執行。不少WEB程序禁止上傳html文件,可是咱們能夠將html文件假裝成jpg或者其餘文件上傳。
許多郵件服務器存在這樣的漏洞,攻擊者能夠經過郵件發送這樣包含惡意代碼的圖片,誘使用戶點擊,產生攻擊。
本文是由youthflies發表在易蹤網上的原創文章,原文地址http://www.yeetrack.com/?p=74
html