點(diǎn)擊劫持攻擊誘使用戶無意中點(diǎn)擊不可見或偽裝成另一個(gè)元素的網(wǎng)頁(yè)元素。由于點(diǎn)擊劫持攻擊不會(huì)影響網(wǎng)站本身,因此企業(yè)可能不會(huì)認(rèn)真對(duì)待這些漏洞。但是,這些攻擊會(huì)影響用戶,只有企業(yè)才能通過強(qiáng)大的點(diǎn)擊劫持預(yù)防措施來保護(hù)他們。不采取適當(dāng)預(yù)防措施的企業(yè)本質(zhì)上是在冒著品牌價(jià)值和業(yè)務(wù)連續(xù)性的風(fēng)險(xiǎn)。讓我們深入研究這種攻擊類型并了解如何防止它們。

什么是點(diǎn)擊劫持攻擊?
在點(diǎn)擊劫持攻擊中,攻擊者通過 UI 技巧捕獲用戶點(diǎn)擊,使用戶相信他們正在執(zhí)行所需的操作。這些攻擊也稱為用戶界面 (UI) 修復(fù)。大多數(shù)攻擊者利用與 HTML iframe 相關(guān)的點(diǎn)擊劫持漏洞和專注于防止頁(yè)面框架的保護(hù)方法。
點(diǎn)擊劫持如何在現(xiàn)實(shí)生活中運(yùn)作的示例
- 攻擊者精心設(shè)計(jì)了一個(gè)承諾有吸引力的優(yōu)惠/免費(fèi)禮物的網(wǎng)站。
- 在后臺(tái),攻擊者將檢查用戶是否登錄到銀行/電子商務(wù)網(wǎng)站。使用查詢參數(shù),攻擊者將他們的銀行詳細(xì)信息插入到表單中。
- 在后臺(tái)惡意網(wǎng)站的情況下,用戶的銀行轉(zhuǎn)賬頁(yè)面/電子商務(wù)結(jié)帳頁(yè)面以完全透明的框架覆蓋在其上。
- 所需的控件(例如確認(rèn)轉(zhuǎn)移/確認(rèn)購(gòu)買)與惡意網(wǎng)站上可見的可點(diǎn)擊項(xiàng)目(例如領(lǐng)取禮物/領(lǐng)取優(yōu)惠/預(yù)訂您的免費(fèi)旅行)保持一致。
- 當(dāng)用戶點(diǎn)擊這些項(xiàng)目時(shí),他們實(shí)際上是在確認(rèn)資金轉(zhuǎn)賬或購(gòu)買。
- 在后臺(tái)不知道資金轉(zhuǎn)賬或產(chǎn)品購(gòu)買的情況下,用戶將被重定向到包含優(yōu)惠/免費(fèi)禮物信息的頁(yè)面。
- 此攻擊無法追溯到攻擊者,因?yàn)橛脩粼诤戏ǖ卿浧溷y行或電子商務(wù)帳戶時(shí)執(zhí)行了這些操作。
點(diǎn)擊劫持攻擊的類型
根據(jù)具體操作的性質(zhì):(下面列出了幾個(gè)變種)
- Likejacking:劫持 Facebook 和其他社交媒體平臺(tái)上的點(diǎn)贊點(diǎn)擊次數(shù)
- Cookiejacking:攻擊者通過訪問存儲(chǔ)在瀏覽器中的 cookie 獲得在目標(biāo)網(wǎng)站中代表用戶執(zhí)行操作的能力
- 文件劫持:訪問本地文件系統(tǒng)并獲取任何文件
- 光標(biāo)劫持:劫持光標(biāo)位置并將光標(biāo)位置更改為用戶想要的任何位置
- 密碼管理器攻擊:欺騙密碼管理器并利用自動(dòng)填充功能
基于使用的覆蓋/嵌入類型:
- 完整的透明覆蓋
- 裁剪
- 隱藏覆蓋
- 點(diǎn)擊事件裁剪
- 快速內(nèi)容替換
- 滾動(dòng)
- 重新定位
- 拖放
影響
在不知道他們實(shí)際上是在點(diǎn)擊目標(biāo)網(wǎng)站的情況下,用戶可能會(huì)在不知不覺中:
- 下載惡意軟件
- 訪問欺詐/惡意網(wǎng)頁(yè)
- 提供憑據(jù)/敏感信息
- 劃款
- 購(gòu)買產(chǎn)品等
有動(dòng)機(jī)的攻擊者可能會(huì)利用點(diǎn)擊劫持漏洞來:
- 收獲登錄憑據(jù)
- 在社交媒體網(wǎng)站上傳播蠕蟲和惡意軟件
- 通過下載在系統(tǒng)和網(wǎng)絡(luò)中傳播惡意軟件
- 惡意廣告
- 宣傳網(wǎng)絡(luò)詐騙
- 誘騙用戶訪問本地文件、密碼管理器、網(wǎng)絡(luò)攝像頭、麥克風(fēng)等
點(diǎn)擊劫持預(yù)防
客戶端方法
Frame Busting 是用于防止點(diǎn)擊劫持的最常見的客戶端方法之一。盡管在某些情況下有效,但這種方法容易出錯(cuò)并且很容易被繞過。
服務(wù)器端方法
服務(wù)器端方法受到安全專家的信任并推薦用于點(diǎn)擊劫持保護(hù)。
- X 框架選項(xiàng)
一種常見的服務(wù)器端方法是 X-Frame Options。X-Frame Options HTTP 標(biāo)頭作為網(wǎng)頁(yè) HTTP 響應(yīng)的一部分傳遞,指示是否應(yīng)允許瀏覽器在 <frame>、<iframe> 或 <object> 標(biāo)記內(nèi)呈現(xiàn)頁(yè)面。
標(biāo)頭的三個(gè)允許值是:
- DENY:不允許任何域/站點(diǎn)在框架內(nèi)顯示頁(yè)面
- SAMEORIGIN:允許當(dāng)前頁(yè)面顯示在另一個(gè)頁(yè)面的框架中,但僅限于當(dāng)前域內(nèi)
- ALLOW-FROM *uri*:允許頁(yè)面僅顯示在指定來源/指定 URL 的框架中
但是,X-Frame 選項(xiàng)提供的安全性是有限的,并且在多域站點(diǎn)中無效。
- 內(nèi)容安全策略
作為 HTML5 標(biāo)準(zhǔn)的一部分,Content-Security-Policy HTTP 標(biāo)頭使網(wǎng)站作者能夠?qū)⒖梢詮闹屑虞d資源和嵌入頁(yè)面的各個(gè)域列入白名單。它提供比 X-Frame-Options 標(biāo)頭更廣泛的保護(hù)。

點(diǎn)擊劫持測(cè)試
可以使用測(cè)試來衡量網(wǎng)站對(duì)點(diǎn)擊劫持攻擊的脆弱性。測(cè)試人員會(huì)嘗試在 iframe 中包含來自網(wǎng)站的敏感頁(yè)面。他們將從另一臺(tái)服務(wù)器執(zhí)行代碼并評(píng)估該網(wǎng)頁(yè)是否容易受到點(diǎn)擊劫持。他們還將測(cè)試網(wǎng)站上使用的反點(diǎn)擊劫持方法的強(qiáng)度。
直觀且可管理的 Web 應(yīng)用程序安全解決方案
鑒于攻擊者利用網(wǎng)站中的漏洞進(jìn)行點(diǎn)擊劫持,部署像AppTrana這樣的整體、智能和托管的安全解決方案是必不可少的。
結(jié)論
點(diǎn)擊劫持保護(hù)與用戶信任和忠誠(chéng)度直接相關(guān)。因此,企業(yè)必須認(rèn)真對(duì)待點(diǎn)擊劫持攻擊預(yù)防并主動(dòng)保護(hù)其用戶。







