跨站腳本攻擊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的漏洞帶來的危害是巨大,如有發現,應立即修復漏洞。
以上是跨站腳本攻擊xss包含哪三大類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!