對(duì)于初了解xss漏洞的人來(lái)說(shuō),XSS漏洞的危害就是獲取受害者的cookie,來(lái)進(jìn)行 ‘cookie劫持’。
今天就總結(jié)一下XSS漏洞的危害性,望安全人員不要輕視,開(kāi)發(fā)人員不要忽視
XSS漏洞簡(jiǎn)介
XSS攻擊通常指黑客通過(guò)“HTML注入”篡改網(wǎng)頁(yè),插入惡意腳本,從而使用戶(hù)瀏覽網(wǎng)頁(yè)時(shí)控制用戶(hù)瀏覽器的一種攻擊。
例如:
如果我能控制a,將a改為,
這個(gè)地方的代碼就會(huì)變成這樣:
就會(huì)執(zhí)行script腳本,這么想我們是不是能篡改網(wǎng)頁(yè)html文件,來(lái)讓他執(zhí)行我們的語(yǔ)句?
第一 cookie劫持:
如果網(wǎng)站存在XSS漏洞,可以通過(guò)XSS漏洞來(lái)獲取用戶(hù)的cookie
危害:利用用戶(hù)的cookie來(lái)進(jìn)行登錄用戶(hù)后臺(tái)
payload:
第二 構(gòu)造GET或POST請(qǐng)求:
黑客可以通過(guò)XSS漏洞,來(lái)使得用戶(hù)執(zhí)行GET或POST請(qǐng)求
危害:可以控制用戶(hù)刪除數(shù)據(jù)或者發(fā)送郵件 例如GET payload:
POST請(qǐng)求 需要線(xiàn)創(chuàng)建一個(gè)表單,然后讓表單自動(dòng)提交信息。
第三 釣魚(yú)
我們從一開(kāi)始的XSS漏洞簡(jiǎn)介可知道,XSS漏洞可以讓我們對(duì)網(wǎng)頁(yè)進(jìn)行篡改,如果黑客在登錄框的地方把原來(lái)的登錄框隱藏一下,自己偽造一個(gè)登錄框,用戶(hù)在登錄框上輸入賬號(hào)密碼就會(huì)傳送到黑客的服務(wù)器上
危害:獲取用戶(hù)賬號(hào)密碼
第四 識(shí)別用戶(hù)瀏覽器
通過(guò)script語(yǔ)句能獲得用戶(hù)的瀏覽器信息 危害:獲取瀏覽器信息,利用瀏覽器漏洞進(jìn)行攻擊
payload:
第五 識(shí)別用戶(hù)安裝的軟件
通過(guò)script語(yǔ)句能夠識(shí)別用戶(hù)安裝的軟件
危害:獲取用戶(hù)軟件信息,利用軟件漏洞進(jìn)行攻擊
如下代碼:
第六 獲得用戶(hù)真實(shí)ip地址
借助第三方軟件,比如客戶(hù)端安裝了Java(JRE)環(huán)境,那么可以通過(guò)調(diào)用JavaApplet接口獲取客戶(hù)端本地IP
第七 判斷用戶(hù)是否訪問(wèn)某個(gè)網(wǎng)站
style的visited屬性,訪問(wèn)過(guò)的鏈接,顏色會(huì)變化.
第八 蠕蟲(chóng)
用戶(hù)之間發(fā)生交互行為的頁(yè)面,如果存在存儲(chǔ)型XSS,則容易發(fā)起XSS Worm攻擊.
如:2003年的沖擊波蠕蟲(chóng),利用的是Windows的RPC遠(yuǎn)程溢出漏洞
還有百度空間蠕蟲(chóng),可自行百度搜一下
XSS繞過(guò)方式
JS編碼
HTML編碼
URL編碼
長(zhǎng)度繞過(guò)
標(biāo)簽繞過(guò)(標(biāo)簽閉合,標(biāo)簽優(yōu)先性)
window.name利用
Flash XSS
利用Javascript開(kāi)發(fā)框架漏洞
利用瀏覽器差異
關(guān)鍵字、函數(shù)
XSS防護(hù)方法
過(guò)濾輸入的數(shù)據(jù),非法字符
對(duì)數(shù)據(jù)進(jìn)行編碼轉(zhuǎn)換
添加HttpOnly
輸入合法性檢查
白名單過(guò)濾標(biāo)簽
DOM XSS防御