什么是XSS?如何解決網站被XSS攻擊?


XSS攻擊通常指的是通過利用網頁開發時留下的漏洞,通過巧妙的方法注入惡意指令代碼到網頁,使用戶加載並執行攻擊者惡意制造的網頁程序。這些惡意網頁程序通常是JavaScript,但實際上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻擊成功后,攻擊者可能得到包括但不限於更高的權限(如執行一些操作)、私密網頁內容、會話和cookie等各種內容

 

XSS分為三個類型:存儲型 、反射型 DOM型XSS

1、反射型XSS

存儲型XSS和反射型XSS的差別僅在於,提交的代碼會存儲在服務器端(數據庫,內存,文件系統等),下次請求目標頁面時不用再提交XSS代碼

2、反射型XSS

發出請求時,XSS代碼出現在URL中,作為輸入提交到服務器端,服務器端解析后響應,XSS代碼隨響應內容一起傳回給瀏覽器,最后瀏覽器解析執行XSS代碼。這個過程像一次反射,故叫反射型XSS。

3、DOM XSS

DOM XSS和反射型XSS、存儲型XSS的差別在於DOM XSS的代碼並不需要服務器參與,觸發XSS靠的是瀏覽器端的DOM解析,完全是客戶端的事情。

4、 漏洞防范

1) 特殊字符HTML實體轉碼。最好的過濾方式是在輸出和二次調用的時候進行加HTML實體一類的轉碼,防止腳本注入。

2) 標簽事件屬性黑名單。特殊字符容易被繞過,所以還得加標簽事件得黑名單或者白名單,這里推薦使用白名單的方式,實現規則可以直接使用正則表達式來匹配,如果匹配到的事件不在白名單列表,就可以直接攔截,而不是過濾為空。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM