欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

[點晴永久免費OA][轉帖]計算機網絡知識----網絡安全----ClickJacking(點擊劫持)

freeflydom
2023年5月17日 16:25 本文熱度 1139


一、簡介

點擊劫持是一種視覺上的欺騙手段。攻擊者使用一個透明的、不可見的iframe,覆蓋在一個網頁上,然后誘使用戶在該網頁上進行操作,此時用戶在不知情的情況下點擊透明的iframe頁面。通過調整iframe頁面的位置,可以誘使用戶恰好點擊在iframe頁面的一些功能性按鈕上。

雖然受害者點擊的是他所看到的網頁,但其實他所點擊的是被黑客精心構建的另一個置于原網頁上面的透明頁面

Clickjacking 是僅此于 XSS 和 CSRF 的前端漏洞,因為需要誘使用戶交互,攻擊成本高,所以不被重視,但危害不容小覷。

點擊劫持的步驟

  1. 黑客創建一個網頁利用 iframe 包含目標網站;

  2. 隱藏目標網站,使用戶無法無法察覺到目標網站存在;

  3. 構造網頁,誘變用戶點擊特點按鈕;

  4. 用戶在不知情的情況下點擊按鈕,觸發執行惡意網頁的命令;

二、劫持類型

2.1 Flash點擊劫持

攻擊者通過flash構造了點擊劫持,在完成一系列復雜的動作后,最終控制了用戶的攝像頭。

攻擊者制作了一個Flash游戲,這個游戲就是讓用戶去點擊“CLICK”按鈕,每次點擊后這個按鈕的位置都會發生變化。在Flash上面隱藏了一個看不見的iframe,游戲中某些點擊時是有意義的,有些點擊是無效的。 攻擊通過誘導用戶鼠標點擊就能完成較復雜的動作。最終通過這一步步操作,打開了用戶的攝像頭。

2.2 圖片覆蓋攻擊

點擊劫持是一種視覺上的欺騙手段。那么圖片覆蓋也可以起到類似的作用。簡稱XSIO(Cross Site Image Overlaying)

原理: 利用的是圖片的style,或者能夠控制CSS。如果應用沒有限制style的position為absolute的話,圖片可以覆蓋到頁面上的任意位置。

<img style="position: absolute; left: 100px; top: 100px">

用戶點擊圖片,就會鏈接到其他網站。

圖片還可以偽裝得像一個正常的鏈接、按鈕;或者在圖片中構造一些文字,覆蓋在關鍵的位置,就有可能完全改變頁面中想表達的意思。這種情況下,不需要用戶點擊,也能達到欺騙的目的。

由于img標簽在很多系統中是對用戶開放的,因此在現實生活中有非常多的站點存在在XSIO攻擊的可能。在防御XSIO時,需要檢查用戶提交的HTML代碼中,img標簽的style屬性是否可能導致浮出。

2.3 拖拽劫持與數據竊取

目前,許多瀏覽器都開始支持Drag和drop的API。對于用戶來說,拖拽使他們的操作更加簡單。瀏覽器中的拖拽對象可以是一個鏈接,也可以是一段文字,還可以從一個窗口拖拽到另一個窗口,因此拖拽是不受同源策略限制的。

拖拽劫持的思路是誘使用戶從隱藏不可見iframe中拖拽出攻擊者希望得到的數據,然后放到攻擊者能控制的另外一個頁面,從而竊取數據。在Javascript的支持下,這個攻擊過程會變得非常隱蔽,因為它突破了傳統ClickJacking一些先天的局限,所以這種新型的拖拽劫持能夠造成更大的破壞。

國內安全研究者xisigr曾經構造了一個針對Gmail的POC,大致過程可參考POC攻擊過程

2.4 ClickJacking3.0:觸屏劫持

智能手機的觸屏劫持攻擊被斯坦福的安全研究者公布,這意味著ClickJacking的攻擊方式更進一步,斯坦福安全研究者的將其稱為TapJacking。

從手機角度來看,觸屏實際上就是一個事件,手機捕捉這些事件,并執行相應的動作。 常見的幾個事件:

touchstart: 手指觸摸屏幕時發生 

touchend: 手指離開屏幕時發生 

touchmove: 手指滑動時發生 

touchcancel: 系統可取消touch事件

將一個不可見的iframe覆蓋到當前網頁上,就可以劫持用戶的觸屏操作。

在未來,隨著移動設備中瀏覽器功能的豐富,我們會看到更多的TapJacking

三、防御

3.1 防御ClickJacking

3.1.1 frame busting

通過可以寫一段Javascript代碼,以禁止iframe的嵌套。這種方法叫作frame busting。比如

if (top.location != location) {   top.location = self.location; }

當然,還要很多很多frame busting的寫法,這里就不做贅述了。

缺點:js編寫的,防御效果不好,可繞過

3.1.2 X-Frame-Options

使用HTTP頭:X-Frame-Options

X-Frame-Options可以說是為了解決ClickJacking而生的,且瀏覽器支持較好。它有三個可選的值:

DENY 拒絕當前頁面加載任何frame頁面 

SAMEORIGIN  frame頁面的地址只能為同源域名下的頁面 

ALLOW-from origin 定義允許frame加載的頁面地址

例如:

  • 京東:X-Frame-Options: SAMEORIGIN

  • Facebook:x-frame-options: DENY

  • Twitter:x-frame-options: DENY

配置 X-FRAME-OPTIONS

  • 使用 meta標簽來設置 X-Frame-Options 是無效的!例如 <meta http-equiv="X-Frame-Options" content="deny"> 沒有任何效果

  • 配置 Apache

    • 把下面這行添加到 'site' 的配置中:

    • Header always set X-Frame-Options "SAMEORIGIN"

  • 配置nginx

    • 把下面這行添加到 'http', 'server' 或者 'location',配置中

    • add_header X-Frame-Options SAMEORIGIN;

  • 其余配置可自行百度。

除了X-Frame-Options之外,Firefox的Content Security Policy以及Firefox的Noscript擴展也能有效防御ClickJacking。這些方案為我們提供了更多的選擇。

3.2 其他方式

3.2.1 阻止頂級導航

我們可以阻止因更改 beforeunload 事件處理程序中的 top.location 而引起的過渡(transition)。

頂級頁面(從屬于黑客)在 beforeunload 上設置了一個用于阻止的處理程序,像這樣:

window.onbeforeunload = function() {   return false; };

當 iframe 試圖更改 top.location 時,訪問者會收到一條消息,詢問他們是否要離開頁面。

在大多數情況下,訪問者會做出否定的回答,因為他們并不知道還有這么一個 iframe,他們所看到的只有頂級頁面,他們沒有理由離開。所以 top.location 不會變化!

3.2.2 顯示禁用的功能

X-Frame-Options 有一個副作用。其他的網站即使有充分的理由也無法在 iframe 中顯示我們的頁面。

因此,還有其他解決方案。例如,我們可以用一個樣式為 height: 100%; width: 100%; 的 <div> “覆蓋”頁面,這樣它就能攔截所有點擊。如果 window == top 或者我們確定不需要保護時,再將該 <div> 移除。

<style>

#protector {

  height: 100%;

  width: 100%;

  position: absolute;

  left: 0;

  top: 0;

  z-index: 99999999;

}

</style>


<div id="protector">

 <a href="/" target="_blank">前往網站</a>

</div>


<script>

 // 如果頂級窗口來自其他源,這里則會出現一個 error

 // 但是在本例中沒有問題

 if (top.document.domain == document.domain) {

  protector.remove();

  }

</script>

四、總結

點擊劫持是一種“誘騙”用戶在不知情的情況下點擊惡意網站的方式。如果是重要的點擊操作,這是非常危險的。

黑客可以通過信息發布指向他的惡意頁面的鏈接,或者通過某些手段引誘訪問者訪問他的頁面。當然還有很多其他變體。

一方面 —— 這種攻擊方式是“淺層”的:黑客所做的只是攔截一次點擊。但另一方面,如果黑客知道在點擊之后將出現另一個控件,則他們可能還會使用狡猾的消息來迫使用戶也點擊它們。

這種攻擊相當危險,因為在設計交互界面時,我們通常不會考慮到可能會有黑客代表用戶點擊界面。所以,在許多意想不到的地方可能發現攻擊漏洞。

  • 建議在那些不希望被在 iframe 中查看的頁面上(或整個網站上)使用 X-Frame-Options: SAMEORIGIN

  • 如果我們希望允許在 iframe 中顯示我們的頁面,那我們使用一個 <div> 對整個頁面進行遮蓋,這樣也是安全的。



-------------------

https://juejin.cn/post/7180241763834003516


該文章在 2023/5/17 16:29:41 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved