XSS攻擊通常指的是通過利用網頁開發時留下的漏洞,通過巧妙的方法注入惡意指令代碼到網頁,使用戶加載並執行攻擊者惡意製造的網頁程序。這些惡意網頁程序通常是JavaScript,但實際上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻擊成功後,攻擊者可能得到包括但不限於更高的權限(如執行一些操作)、私密網頁內容、會話和cookie等各種內容。
XSS 攻擊原理主要包括三個部分:
- 攻擊者對某含有漏洞的服務器發起 XSS 攻擊(注入 JS 代碼)。
- 誘使受害者打開受到攻擊的服務器 URL(郵件、留言等,此步驟可選項)。
- 受害者在 Web 瀏覽器中打開 URL,惡意腳本執行。
簡單理解:
就是某個網站的一個網頁裏面有填充表單內容,黑客填充了一些惡意代碼進去被數據庫保存了,下次其他的用戶再點擊這個頁面的話,網站就解析那段惡意的代碼,用戶就被攻擊了。
xss攻擊類型分爲三種:
- 反射型XSS ,經過後端,不經過數據庫
- 存儲型,經過後端,經過數據庫
- DOM,不經過後端,是基於文檔對象模型Document Objeet Model,DOM)的一種漏洞,dom - xss是通過url傳入參數去控制觸發的。
重點說明:
反射型XSS和DOM XSS這兩個都需要誘惑其他的用戶去點擊有帶惡意代碼url才能實現攻擊的,存儲型的就不需要,因爲它已經保存到數據庫,不需在url裏面插入什麼代碼,而是數據庫直接解析了惡意代碼了。
參考鏈接:
https://blog.csdn.net/u011781521/article/details/53894399
https://www.cnblogs.com/anbus/p/9855942.html