XSS攻擊有哪幾種類型?下面就由銳速雲的小編為大家介紹壹下
經常見到XSS攻擊有三種:反射XSS攻擊、DOM-based型XSS攻擊以及儲存型XSS攻擊。
[if !supportLists]1、[endif]反射型XSS攻擊
反射性XSS壹般是攻擊者通過特定手法(如電子郵件),誘使用戶去訪問壹個包含惡意代碼的URL,當受害者點擊這些專門設計鏈接的時候,惡意代碼會直接在受害主機上的瀏覽器上執行,反射型XSS通常出現在網站搜索欄,用戶登入口等地方,常用來竊取客戶端或進行釣魚欺騙。
[if !supportLists]2、[endif]存儲型XSS攻擊
存儲型XSS攻擊也叫持久型XSS,主要將XSS代碼提交儲存在服務器端(數據庫,內存,文件系統等)下次請求目標頁面時不用在提交XSS代碼。當目標用戶訪問該頁面獲取數據時,XSS代碼會從服務器解析之後加載出來,返回到瀏覽器做正常的HTML和JS解析執行,XSS攻擊就發生了。儲存型XSS壹般出現在網站留言,評論,博客日誌等交互處,惡意腳本儲存到客戶端或者服務端的數據庫中。
[if !supportLists]3、[endif]DOM-based型XSS攻擊
DOM-based型XSS攻擊它是基於DOM的XSS攻擊是指通過惡意腳本修改頁面的DOM結構,是純粹發生在客戶端的攻擊。DOM型XSS攻擊中,取出和執行惡意代碼由瀏覽器端完成,屬於前端JavaScript自身的安全漏洞。
如何防禦XSS攻擊?
[if !supportLists]1、[endif]對輸入內容的特定字符進行編碼,列如表示html標記<>等符號。
[if !supportLists]2、[endif]對重要的cookie設置httpOnly,防止客戶端通過document。cookie讀取cookie,此HTTP開頭由服務端設置。
[if !supportLists]3、[endif]將不可信的輸出URT參數之前,進行URLEncode操作,而對於從URL參數中獲取值壹定要進行格式檢查
[if !supportLists]4、[endif]不要使用Eval來解析並運行不確定的數據或代碼,對於JSON解析請使用JSON。Parse()方法
[if !supportLists]5、[endif]後端接口也應該要做到關鍵字符過濾的問題。