跨站腳本攻擊xss的三大類型:1、持久型跨站;2、非持久型跨站;3、dom跨站。持久型跨站是最直接的危害類型,跨站代碼存儲在服務器;非持久型跨站是反射型跨站腳本漏洞,這是最普遍的類型。
一、跨站腳本攻擊類型:
(1)持久型跨站:最直接的危害類型,跨站代碼存儲在服務器(數據庫)。
(2)非持久型跨站:反射型跨站腳本漏洞,最普遍的類型。用戶訪問服務器-跨站鏈接-返回跨站代碼。
(3)DOM跨站(DOM XSS):DOM(document Object model文檔對象模型),客戶端腳本處理邏輯導致的安全問題。
(如果您想了解更多相關問題,可以訪問php中文網。)
二、如何預防?
從網站開發者角度,如何防護XSS攻擊?
對XSS最佳的防護應該結合以下兩種方法:
1、驗證所有輸入數據,有效檢測攻擊;
2、對所有輸出數據進行適當的編碼,以防止任何已成功注入的腳本在瀏覽器端運行。
具體如下:
輸入驗證:某個數據被接受為可被顯示或存儲之前,使用標準輸入驗證機制,驗證所有輸入數據的長度、類型、語法以及業務規則。
輸出編碼:數據輸出前,確保用戶提交的數據已被正確進行entity編碼,建議對所有字符進行編碼而不僅局限于某個子集。
明確指定輸出的編碼方式:不要允許攻擊者為你的用戶選擇編碼方式(如ISO 8859-1或 UTF 8)。
注意:黑名單驗證方式的局限性:僅僅查找或替換一些字符(如””或類似”script”的關鍵字),很容易被XSS變種攻擊繞過驗證機制。
警惕規范化錯誤:驗證輸入之前,必須進行解碼及規范化以符合應用程序當前的內部表示方法。請確定應用程序對同一輸入不做兩次解碼。
從網站用戶角度,如何防護XSS攻擊?
當你打開一封Email或附件、瀏覽論壇帖子時,可能惡意腳本會自動執行,因此,在做這些操作時一定要特別謹慎。建議在瀏覽器設置中關閉JavaScript。如果使用IE瀏覽器,將安全級別設置到“高”。
這里需要再次提醒的是,XSS攻擊其實伴隨著社會工程學的成功應用,需要增強安全意識,只信任值得信任的站點或內容。可以通過一些檢測工具進行xss的漏洞檢測。針對xss的漏洞帶來的危害是巨大,如有發現,應立即修復漏洞。