XSS的深入分析

什麼是xss漏洞

XSS攻擊:跨站腳本攻擊(Cross Site Scripting),爲不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆。故將跨站腳本攻擊縮寫爲XSS。XSS是一種經常出現在web應用中的計算機安全漏洞,它允許惡意web用戶將代碼植入到提供給其它用戶使用的頁面中。比如這些代碼包括HTML代碼和客戶端腳本。攻擊者利用XSS漏洞旁路掉訪問控制——例如同源策略(same origin policy)。這種類型的漏洞由於被駭客用來編寫危害性更大的phishing攻擊而變得廣爲人知。對於跨站腳本攻擊,黑客界共識是:跨站腳本攻擊是新型的“緩衝區溢出攻擊“,而JavaScript是新型的“ShellCode”。

XSS攻擊有哪些危害

1.盜取各類用戶帳號及權限。(如機器登錄帳號、用戶網銀帳號、各類管理員帳號)
2.控制網站數據,包括增刪改查的操作。
3.XSS的非法跨站請求。(如:非法轉賬、非法下單、、發送電子郵件、利用管理員身份提權掛馬、控制肉機網站發起攻擊等)
4.容易形成持久化攻擊,長期控制網站業務。
5.利用跨站攻擊形成蠕蟲病毒並傳播。
6.非法控制網站,控制後可用於釣魚、僞裝、跳轉、掛廣告等一系列掛馬行爲。

xss自我理解

XSS跨站腳本,是一種Web安全漏洞,有趣是是他並不像SQL注入等攻擊手段攻擊服務端,本身對Web服務器沒有危害,攻擊的對象是客戶端,使用瀏覽器訪問這些惡意地址的用戶。

實例操作

下面用代碼編寫一個彈窗xss的網頁xss彈窗代碼

用PHP簡單講一下xss的危害

編寫一個簡單的表單信息
表單信息代碼
表單網頁效果
以上代碼使用$_GET[‘name’]獲取用戶輸入的name變量,然後使用echo輸出在頁面上。正常輸入,應該顯示我輸入的內容在頁面上。

下面我們改用JavaScript代碼try一try啊。
在這裏插入圖片描述
在這裏插入圖片描述

最後我們來總結一下xss經常出現的地方

1.元素內容,如果元素待顯示的內容中含有可執行js代碼段,在頁面被渲染時該代碼段會被當做可執行代碼執行,將會產生不可預知的後果;
2.元素屬性,與元素內容相似,只是這裏是對元素屬性進行攻擊,可以通過攜帶含有“"”的參數將元素屬性標籤提前關閉,然後後續內容通過綁定事件等方式攻擊;
3.js代碼段,一般爲存儲型XSS,指在執行系統js代碼的時候使用了用戶輸入內容,可能會形成XSS攻擊;

xss的類型分析

XSS的類型有反射性和存儲型。
1.反射性指程序通過url取參時得到非法參數進行調用。
2.存儲型指非法內容保存到數據庫中,系統從數據庫中獲取到用戶輸入的非法內容進行調用。
相對而言,存儲型XSS可能造成的危害會更大。

xss怎麼預防呢

1.對“<”、“>”進行轉義;
2.對“"”、“’”進行轉義;
3.用戶輸入內容使用前進行JSON轉義;

JSON是一種輕量級的數據交換格式。易於人閱讀和編寫,同時也易於機器解析和生成,並有效地提升網絡傳輸效率。數據傳輸是我們在敲代碼時,經常遇到的一個場景,前後端交互。給數據一個統一的格式有利於我們編寫和解析數據。json,是一種數據格式,在與後端的數據交互中有較爲廣泛的應用。

4.進行過濾(分爲黑名單和白名單兩種);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章