介面操作劫持與HTML5安全

來源:互聯網
上載者:User

標籤:手機瀏覽器   地址欄   iframe   空間   html5   

一、介面操作劫持

1)ClickJacking

ClickJacking點擊劫持,這是一種視覺上的欺騙。

攻擊者使用一個透明的、不可見的iframe,覆蓋在網頁的某個位置上,誘使使用者點擊iframe。

650) this.width=650;" src="http://images2015.cnblogs.com/blog/211606/201702/211606-20170204131625823-2004021452.png" width="625" style="border:0px;margin-top:0px;" />

2)TapJacking

現在行動裝置的使用率越來越高,針對行動裝置的特點,衍生出了TapJacking(觸屏劫持)。

手機上的螢幕範圍有限,手機瀏覽器為了節約空間,可以隱藏地址欄,手機上的視覺欺騙會更加容易實施。

650) this.width=650;" src="http://images2015.cnblogs.com/blog/211606/201702/211606-20170204132916573-1653525794.png" width="590" style="border:0px;margin-top:0px;" />

1. 第一張中最上方顯示了瀏覽器地址欄,同時攻擊者在頁面中畫出了一個假的地址欄;

2. 第二張中真實的瀏覽器地址欄已經自動隱藏了,此時頁面中只剩下假的地址欄;

3. 第三張中是瀏覽器地址欄被正常隱藏的情況。

這種針對視覺效果的攻擊可以被利用進行釣魚和欺詐。

3)X-Frame-Options

針對傳統的介面劫持,通過禁止iframe來防範。

HTTP頭中有一個回應標頭X-Frame-Options,有三個值可以選擇:

1. DENY:該頁面不允許載入任何 iframe頁面。

2. SAMEORIGIN:該頁面可以載入相同網域名稱的 iframe頁面。

3. ALLOW-FROM uri:該頁面可以載入指定來源的 iframe頁面。

 

二、HTML5安全

HTML5中新增的一些標籤和屬性,使得XSS等Web攻擊產生了新的變化,在HTML5 Security Cheatsheet中總結了這些變化。

1)隱藏URL惡意代碼

反射型XSS中,會將惡意代碼寫在URL參數中,這樣的話,使用者也能看到惡意代碼,例如下面的連結:

http://www.csrf.net/csrf.html?id=<script>111</script>

可以通過window.history來操作瀏覽器的記錄。

pushState()有三個參數:狀態物件、標題,可選的URL地址。

history.pushState({},"", location.href.split(‘?‘).shift());

執行上面那段代碼後就會將參數隱藏

650) this.width=650;" src="http://images2015.cnblogs.com/blog/211606/201702/211606-20170204150739776-2043335397.png" style="border:0px;margin-top:0px;" />

新的URL地址就是下面這個:

650) this.width=650;" src="http://images2015.cnblogs.com/blog/211606/201702/211606-20170204150823026-1581709301.png" style="border:0px;margin-top:0px;" />

“pushState”還可以偽造瀏覽器記錄

for(i=0; i<10; i++)    history.pushState({},"", "/"+i+".html");

650) this.width=650;" src="http://images2015.cnblogs.com/blog/211606/201702/211606-20170204151119058-1932308250.png" style="border:0px;margin-top:0px;" />

2)HTML5下的殭屍網路

殭屍網路(Botnet)是指在大量的電腦中植入特定的惡意程式,使控制者能夠通過若干電腦直接向其他電腦發送指令,進行網路攻擊。

650) this.width=650;" src="http://images2015.cnblogs.com/blog/211606/201702/211606-20170204153034511-675768952.jpg" style="border:0px;margin-top:0px;" />

基於Web前端的殭屍網路可以用作DDOS攻擊,這裡涉及Web Worker技術和CORS處理機制,再通過Web蠕蟲擴散。

Web Worker是一種多線程機制,可以非同步執行惡意JS代碼,而不影響使用者在瀏覽器中的正常操作。

CORS處理機制工作在瀏覽器層面,如果伺服器不允許跨站,瀏覽器將攔截伺服器返回的結果,也就是說跨域請求,伺服器也會正常響應。

那麼就可以事先寫好一段非同步請求的指令碼(worker.js),然後通過Web Worker來執行這段指令碼,不斷的向目標伺服器發起請求。

650) this.width=650;" src="/img/fz.gif" alt="複製代碼" style="margin-top:10px;border:none;" />

var worker_loc = ‘worker.js‘;//封裝了ajax請求的指令碼var target = ‘http://news.qq.com/photo.shtml‘;//要攻擊的網址//可執行個體化多個Web Workervar workers = [];for (i = 0; i < 1; i++) {      workers[i] = new Worker(worker_loc);      workers[i].postMessage(target);//跨域訊息傳遞}

650) this.width=650;" src="/img/fz.gif" alt="複製代碼" style="margin-top:10px;border:none;" />


介面操作劫持與HTML5安全

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.