網路安全知識之XSS介紹
阿新 • • 發佈:2019-01-30
1、XSS簡介
跨站指令碼攻擊(Cross Site Script為了區別於CSS簡稱為XSS)指的是惡意攻擊者往Web頁面裡插入惡意html程式碼,當用戶瀏覽該頁之時,嵌入其中Web裡面的html程式碼會被執行,從而達到惡意使用者的特殊目的。
XSS跨站漏洞如此普遍和流行的主要因素有如下幾點:
- web瀏覽器本身的設計是不安全的,瀏覽器包含了解析和執行javaScript等指令碼語言的能力,這些語言可以用來建立各種豐富的功能,而瀏覽器只會執行,不會判斷資料和程式碼是否惡意。
- 輸入和輸出是web應用程式最基本的互動,在這過程中,若沒有做好安全防護,Web程式很容易出現XSS漏洞。
- 現在的應用程式大部分是通過團隊合作完成的,程式設計師之間的水平層次不齊,很少有人受過正規的安全培訓,不管是開發程式設計師還是安全工程師,很多沒有真正意識到XSS的危害。
- 觸發跨站指令碼的方式非常簡單,只要像HTML程式碼中注入指令碼即可,而且執行此類攻擊的手段眾多,譬如利用CSS、Flash等。XSS技術的運用靈活多變,做到完全防禦是一件相當困難的事情。
- 隨著Web 2.0的流行,網站上互動功能越來越豐富。Web 2.0鼓勵資訊分享與互動,這樣使用者就有了更多的機會去檢視和修改他人的資訊,比如通過論壇、blog或社交網路,於是黑客也就有了更廣闊的空間發動XSS攻擊。
2、XSS的危害
- 盜取各類使用者帳號,如機器登入帳號、使用者網銀帳號、各類管理員帳號
- 控制企業資料,包括讀取、篡改、新增、刪除企業敏感資料的能力
- 盜竊企業重要的具有商業價值的資料
- 非法轉賬
- 強制傳送電子郵件
- 網站掛馬
- 控制受害者機器向其它網站發起攻擊
3、XSS漏洞的分類
XSS漏洞按照攻擊利用手法的不同,有以下三種類型:- 型別A,本地利用漏洞,這種漏洞存在於頁面中客戶端指令碼自身。其攻擊過程如下所示: Alice給Bob傳送一個惡意構造了Web的URL。 Bob點選並查看了這個URL。 惡意頁面中的JavaScript開啟一個具有漏洞的HTML頁面並將其安裝在Bob電腦上。 具有漏洞的HTML頁面包含了在Bob電腦本地域執行的JavaScript。 Alice的惡意指令碼可以在Bob的電腦上執行Bob所持有的許可權下的命令。
-
型別B,反射式漏洞,這種漏洞和型別A有些類似,不同的是Web客戶端使用Server端指令碼生成頁面為使用者提供資料時,如果未經驗證的使用者資料被包含在頁面中而未經
- 型別C,儲存式漏洞,該型別是應用最為廣泛而且有可能影響到Web伺服器自身安全的漏洞,駭客將攻擊指令碼上傳到Web伺服器上,使得所有訪問該頁面的使用者都面臨資訊洩漏的可能,其中也包括了Web伺服器的管理員。其攻擊過程如下: Bob擁有一個Web站點,該站點允許使用者釋出資訊/瀏覽已釋出的資訊。 Charly注意到Bob的站點具有型別C的XSS漏洞。 Charly釋出一個熱點資訊,吸引其它使用者紛紛閱讀。 Bob或者是任何的其他人如Alice瀏覽該資訊,其會話cookies或者其它資訊將被Charly盜走。 型別A直接威脅使用者個體,而型別B和型別C所威脅的物件都是企業級Web應用。
4、XSS攻擊例項
- 新浪微博XSS受攻擊事件
- 去掉supply後臺xss過濾器,可以實現xss攻擊
5、防禦措施
- 應用程式增加強壯的XSS過濾器