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


什么是 XSS Payload

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

在黑客 XSS 攻擊成功之后,攻擊者能夠對用戶當前瀏覽的頁面植入各種惡意腳本,通過惡意腳本來控制瀏覽器,這些腳本實質上就是 JavaScript 腳本(或者是其他瀏覽器可以運行的腳本),這種惡意植入且具有完成各種具體功能的惡意腳本就被稱為 XSS Payload

初探 XSS Payload

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

一般一個網站為了防止用戶無意間關閉頁面,重新打開需要重新輸入賬號密碼繁雜的情況下,一般都會把登錄信息(登錄憑證)加密存儲在 CooKie 中,並且設置一個超時時間,在此時間段內,用戶利用自己賬號信息隨意進出該網站。如果該網站遭到 XSS Payload ,黑客盜取了該用戶的 Cookie 信息,往往意味着該用戶的登錄憑證丟失了,換句話說,攻擊者不需要知道該用戶的賬號密碼,直接利用盜取的 Cookie 模擬憑證,直接登錄到該用戶的賬戶。

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

image

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

image

image

XSS Payload會請求一個 img 圖片,圖片請求地址即為黑客的服務器地址, url 參數帶上 Cookie ,我們在后台服務器接收到了這個請求:

image

這個時候,黑客就可以獲取到此 Cookie,然后模擬 CooKie 登陸。

當然傳輸的內容可以是任何內容,只要能獲取到的,全都可以傳輸給后台服務器。

如何利用竊取的 Cookie 登陸目標用戶的賬戶呢?這和利用自定義Cookie訪問網站的過程是一樣的,參考如下:

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

image

當我們手動添加 Cookie 后,登陸的內容如下:

image

此時,我們就已經登陸上了該用戶的賬戶。

所以,通過 XSS 攻擊,可以完成 Cookie 劫持 攻擊,直接登陸進用戶的賬戶。

其實都不需要帶上參數,黑客就能獲取到所有數據,這是因為當前 Web 中,Cookie 一般是用戶憑證,瀏覽器發起的所有請求都會自動帶上 Cookie 。

image

image

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

Cookie 的 HttpOnly 標識可以有效防止 Cookie 劫持,我們會在稍后章節具體介紹。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM