1. XSS(跨站腳本攻擊) 簡介
XSS(Cross Site Script):為了與CSS(Cascading Style Sheet, 層疊樣式表)區(qū)別饶套,所以在安全領(lǐng)域叫XSS告嘲。
XSS攻擊不一定是真的跨域菜拓,而是因為一開始其示例是跨域的。XSS破壞力大成箫,產(chǎn)生場景復雜難以一次性解決酱床,所以針對不同場景產(chǎn)生的XSS需要區(qū)分場景對待。
根據(jù)XSS效果可以將其分為以下幾類:
①反射型(也叫非持久型舷蒲,Non-persistent XSS):這種攻擊是一次性的耸袜,僅對當次的頁面訪問產(chǎn)生影響,用戶輸入的數(shù)據(jù)不會被存儲牲平。非持久型xss攻擊要求用戶訪問一個被攻擊者篡改后的鏈接堤框,用戶訪問該鏈接時,被植入的攻擊腳本被用戶游覽器執(zhí)行纵柿。
②存儲型(也叫持久型蜈抓,Persistent XSS):用戶輸入的數(shù)據(jù)被存儲到服務器的數(shù)據(jù)庫中,當以后調(diào)用該數(shù)據(jù)并沒有有效的數(shù)據(jù)檢查時就會造成XSS昂儒。
③DOM Based XSS(Document Object Model基于文檔對象類型):按數(shù)據(jù)是否保存到服務器劃分沟使,DOM XSS應該屬于反射型。但是由于其完全在前端瀏覽器進行渊跋,所以將其作為一個單獨分類說明腊嗡。
擴展閱讀:
2. XSS 攻擊
①XSS Payload:
攻擊者對用戶當前瀏覽的頁面植入惡意腳本(比如JavaScript、flash腳本或其余的富客戶端腳本)拾酝,通過惡意腳本燕少,控制用戶的瀏覽器。
示例:(以下示例僅供理解思路蒿囤,均不展示代碼示例客们。若有需要請查看《白帽子講web安全》原書或擴展閱讀)
i) Cookie劫持:竊取用戶的cookie信息,使攻擊者可以在沒有密碼的情況下登入用戶賬戶。
ii) 構(gòu)建GET & POST請求:可以直接操作用戶的瀏覽器底挫,在某些隔離環(huán)境里非常有效嗽桩,如cookie劫持失效或用戶不能正常訪問互聯(lián)網(wǎng)時。
iii) XSS釣魚:利用JavaScript腳本偽裝網(wǎng)站內(nèi)容(如登錄框)誘導用戶輸入關(guān)鍵信息(如用戶名凄敢、密碼等等)碌冶。
iv) 收集用戶個人信息(識別用戶瀏覽器、操作系統(tǒng)涝缝、安裝的軟件):通過獲取用戶詳細信息可以針對用戶進行精確的攻擊(如選擇瀏覽器相對應的漏洞)最終達到植入木馬的目的扑庞。
v) CSS History Hack:通過CSS來發(fā)現(xiàn)用戶曾經(jīng)訪問過的網(wǎng)站,利用了style的visited屬性(用戶訪問過的鏈接顏色會不同)拒逮。
vi) 獲取用戶真實IP:一般是利用第三方軟件或XSS的attack API來獲取用戶真實IP罐氨,比如XSS通過調(diào)用JRE的一些特殊API來獲取用戶本地IP。
擴展閱讀: