XSS又稱為CSS,全稱為Cross-site script,跨站腳本攻擊,為了和CSS層疊樣式表區分所以取名為XSS,是Web程式中常見的漏洞。
原理:
攻擊者向有XSS 漏洞的網站中輸入惡意的HTML 程式碼,當其它使用者瀏覽該網站時候,該段HTML 程式碼會自動執行,從而達到攻擊的目的,如盜取使用者的Cookie,破壞頁面結構,重定向到其它網站等。
例如:某論壇的評論功能沒有對XSS 進行過濾,那麼我們可以對其進行評論,評論如下:
<script> while(true) { alert('你关不掉我'); } </script>
在發布評論中含有JS 的內容文本,這時候如果伺服器沒有過濾或轉義掉這些腳本,作為內容發佈到頁面上,其他使用者造訪這個頁面的時候就會運行這段腳本。
這只是一個簡單的小例子,惡意著可以將上述程式碼修改為惡意的程式碼,就可以盜取你的 Cookie 或其它資訊了。
XSS 類型:
一般可以分為: 持久性XSS 和非持久性XSS
1、持久性XSS 就是對客戶端攻擊的腳本植入到伺服器上,從而導致每個正常存取的用戶都會遭到這段XSS 腳本的攻擊。 (如上述的留言評論功能)
2、非持久型XSS 是對一個頁面的URL 中的某個參數做文章,把精心構造好的惡意腳本包裝在URL 參數重,再將這個URL 發佈到網上,騙取用戶訪問,從而進行攻擊
非持久性XSS 的安全威脅比較小,因為只要伺服器調整業務代碼進行過濾,黑客精心構造的這段URL 就會瞬間失效了,而相較之下,持久型XSS 的攻擊影響力很大,有時候服務端需要刪好幾張表,查詢很多函式庫才能將惡意程式碼的資料進行刪除。
推薦教學:web伺服器安全性
以上是XSS攻擊的原理是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!