Web安全系列(二):XSS 攻擊進階(初探 XSS Payload)

什麼是 XSS Payload

上一章我談到了 XSS 攻擊的幾種分類以及造成的攻擊的原理,並舉了一些淺顯的例子,接下來,我就闡述什麼叫作 XSS Payload 以及從攻擊者的角度來初探 XSS 攻擊的威力。瀏覽器

在黑客 XSS 攻擊成功以後,攻擊者可以對用戶當前瀏覽的頁面植入各類惡意腳本,經過惡意腳原本控制瀏覽器,這些腳本實質上就是 JavaScript 腳本(或者是其餘瀏覽器能夠運行的腳本),這種惡意植入且具備完成各類具體功能的惡意腳本就被稱爲 XSS Payload服務器

初探 XSS Payload

一個最多見的 XSS Payload ,就是經過瀏覽器讀取 Cookie 對象,進而發起 Cookie 劫持 攻擊。xss

通常一個網站爲了防止用戶無心間關閉頁面,從新打開須要從新輸入帳號密碼繁雜的狀況下,通常都會把登陸信息(登陸憑證)加密存儲在 CooKie 中,而且設置一個超時時間,在此時間段內,用戶利用本身帳號信息隨意進出該網站。若是該網站遭到 XSS Payload ,黑客盜取了該用戶的 Cookie 信息,每每意味着該用戶的登陸憑證丟失了,換句話說,攻擊者不須要知道該用戶的帳號密碼,直接利用盜取的 Cookie 模擬憑證,直接登陸到該用戶的帳戶。網站

以下所示,攻擊者先在一個社區發表一篇文章:加密

image

你有意無心點了一下 點我得大獎 這個時候,XSS Payload 就生效了:url

image

image

XSS Payload會請求一個 img 圖片,圖片請求地址即爲黑客的服務器地址, url 參數帶上 Cookie ,咱們在後臺服務器接收到了這個請求:code

image

這個時候,黑客就能夠獲取到此 Cookie,而後模擬 CooKie 登錄。對象

固然傳輸的內容能夠是任何內容,只要能獲取到的,全均可以傳輸給後臺服務器。blog

如何利用竊取的 Cookie 登錄目標用戶的帳戶呢?這和利用自定義Cookie訪問網站的過程是同樣的,參考以下:圖片

當沒有登錄的時候,Cookie 內容是空的:

image

當咱們手動添加 Cookie 後,登錄的內容以下:

image

此時,咱們就已經登錄上了該用戶的帳戶。

因此,經過 XSS 攻擊,能夠完成 Cookie 劫持 攻擊,直接登錄進用戶的帳戶。

其實都不須要帶上參數,黑客就能獲取到全部數據,這是由於當前 Web 中,Cookie 通常是用戶憑證,瀏覽器發起的全部請求都會自動帶上 Cookie 。

image

image

那麼該如何預防 Cookie 劫持 呢?

Cookie 的 HttpOnly 標識能夠有效防止 Cookie 劫持,咱們會在稍後章節具體介紹。

相關文章
相關標籤/搜索