Cross Iframe Trick:the Old New Thing(圖)
互聯(lián)網(wǎng) 發(fā)布時(shí)間:2008-10-08 19:36:28 作者:佚名
我要評(píng)論

我思考了很久才把這里面的錯(cuò)綜復(fù)雜的關(guān)系整清楚,我想很多人看我下面的paper會(huì)睡著,或者干脆“一目百行”的跳過去,但如果你真的想弄懂,請(qǐng)調(diào)試我的 每一個(gè)poc,會(huì)非常有助于理解(雖然你還是可能會(huì)暈)。請(qǐng)尊重俺的勞動(dòng)成果,碼這么多字不容易。歡迎技術(shù)討論,但謝絕沒仔
我思考了很久才把這里面的錯(cuò)綜復(fù)雜的關(guān)系整清楚,我想很多人看我下面的paper會(huì)睡著,或者干脆“一目百行”的跳過去,但如果你真的想弄懂,請(qǐng)調(diào)試我的 每一個(gè)poc,會(huì)非常有助于理解(雖然你還是可能會(huì)暈)。請(qǐng)尊重俺的勞動(dòng)成果,碼這么多字不容易。歡迎技術(shù)討論,但謝絕沒仔細(xì)看就來指手畫腳的。@_@
首先,為了幫助大家更好的理解,我先講講這種攻擊能夠達(dá)成什么效果:
1. 跨域執(zhí)行腳本(IE、Firefox)
2. 把非持久性XSS變成持久性XSS
3. 跨頁面執(zhí)行腳本
4. 瀏覽器將很難修補(bǔ)這一“特性”造成的威脅
5. 當(dāng)然還是有一些條件限制的,本篇只是在理論上描述了這種攻擊。
那么,什么是cross iframe,簡單來說就是把iframe做一個(gè)迭代,以實(shí)現(xiàn)一些iframe之間的交叉數(shù)據(jù)訪問。在正常的web應(yīng)用中,許多地方都有用到這種技術(shù),比如facebook,比如yahoo。
但是由cross iframe引申出來一些安全隱患,則是我這里要探討的重點(diǎn)。
以下是我的測(cè)試環(huán)境:
Windows XP SP2
IE 6 SP2 (我只有IE6,沒有IE7,請(qǐng)自行測(cè)試IE7)
Firefox 2.0.0.16
測(cè)試域名:
www.A.com (/1.html , /4.html)
www.B.com (/2.html , /3.html)
這次測(cè)試主要使用了4個(gè)html頁面,請(qǐng)牢記1.html和4.html是在域A下; 2.html和3.html是在域B下
首先來看看什么是Cross Iframe, 他們又能干些什么。
Rule1: 同一個(gè)頁面下的兩個(gè)iframe,如果這兩個(gè)iframe指向同一個(gè)域,那么他們可以互相訪問,并操作對(duì)方頁面的腳本。
在 www.A.com 上,存在一個(gè) 1.html ,包含了兩個(gè)iframe,這兩個(gè)iframe分別引用了www.B.com 上的兩個(gè)頁面。其代碼如下:
1.html:
現(xiàn)在我們的目的就是利用 iframe:tt2_2 去調(diào)用 iframe:tt2_3里的javascript的函數(shù)。
3.html的代碼如下:
function alertpoc(){
alert("alert POC");
}
2.html的代碼如下:
2.html:
window.onload = function() {
parent.frames["tt2_3].alertpoc();
}
那么,當(dāng)訪問 http://www.A.com/1.html 時(shí),iframe:tt2_2中的腳本在www.B.com執(zhí)行了,它通過讀父窗口的iframe:tt2_3,嘗試在其中執(zhí)行腳本函數(shù) alertpoc()。由于tt2_2與tt2_3同在www.B.com 域中,所以他們之間不存在跨域問題,腳本被允許執(zhí)行。
Rule2:域B能夠以 iframe proxy 的方式,操作域A上的腳本,或者傳遞信息,實(shí)現(xiàn)跨域操作。
什么叫iframe proxy呢?其實(shí)就是做了一次iframe的迭代。
如下:
http://www.A.com/1.html 中包含一個(gè)iframe,指向 http://www.B.com/3.html
http://www.B.com/3.html 中又包含一個(gè)iframe,指向 http://www.A.com/4.html
那么這個(gè)3.html就是一個(gè)iframe proxy,通過 3.html 就能從B域 向 A域的 4.html傳遞消息,如果4.html還有一些處理的話,就可以執(zhí)行腳本。
首先,為了幫助大家更好的理解,我先講講這種攻擊能夠達(dá)成什么效果:
1. 跨域執(zhí)行腳本(IE、Firefox)
2. 把非持久性XSS變成持久性XSS
3. 跨頁面執(zhí)行腳本
4. 瀏覽器將很難修補(bǔ)這一“特性”造成的威脅
5. 當(dāng)然還是有一些條件限制的,本篇只是在理論上描述了這種攻擊。
那么,什么是cross iframe,簡單來說就是把iframe做一個(gè)迭代,以實(shí)現(xiàn)一些iframe之間的交叉數(shù)據(jù)訪問。在正常的web應(yīng)用中,許多地方都有用到這種技術(shù),比如facebook,比如yahoo。
但是由cross iframe引申出來一些安全隱患,則是我這里要探討的重點(diǎn)。
以下是我的測(cè)試環(huán)境:
Windows XP SP2
IE 6 SP2 (我只有IE6,沒有IE7,請(qǐng)自行測(cè)試IE7)
Firefox 2.0.0.16
測(cè)試域名:
www.A.com (/1.html , /4.html)
www.B.com (/2.html , /3.html)
這次測(cè)試主要使用了4個(gè)html頁面,請(qǐng)牢記1.html和4.html是在域A下; 2.html和3.html是在域B下
首先來看看什么是Cross Iframe, 他們又能干些什么。
Rule1: 同一個(gè)頁面下的兩個(gè)iframe,如果這兩個(gè)iframe指向同一個(gè)域,那么他們可以互相訪問,并操作對(duì)方頁面的腳本。
在 www.A.com 上,存在一個(gè) 1.html ,包含了兩個(gè)iframe,這兩個(gè)iframe分別引用了www.B.com 上的兩個(gè)頁面。其代碼如下:
1.html:
現(xiàn)在我們的目的就是利用 iframe:tt2_2 去調(diào)用 iframe:tt2_3里的javascript的函數(shù)。
3.html的代碼如下:
function alertpoc(){
alert("alert POC");
}
2.html的代碼如下:
2.html:
window.onload = function() {
parent.frames["tt2_3].alertpoc();
}
那么,當(dāng)訪問 http://www.A.com/1.html 時(shí),iframe:tt2_2中的腳本在www.B.com執(zhí)行了,它通過讀父窗口的iframe:tt2_3,嘗試在其中執(zhí)行腳本函數(shù) alertpoc()。由于tt2_2與tt2_3同在www.B.com 域中,所以他們之間不存在跨域問題,腳本被允許執(zhí)行。

Rule2:域B能夠以 iframe proxy 的方式,操作域A上的腳本,或者傳遞信息,實(shí)現(xiàn)跨域操作。
什么叫iframe proxy呢?其實(shí)就是做了一次iframe的迭代。
如下:
http://www.A.com/1.html 中包含一個(gè)iframe,指向 http://www.B.com/3.html
http://www.B.com/3.html 中又包含一個(gè)iframe,指向 http://www.A.com/4.html
那么這個(gè)3.html就是一個(gè)iframe proxy,通過 3.html 就能從B域 向 A域的 4.html傳遞消息,如果4.html還有一些處理的話,就可以執(zhí)行腳本。
相關(guān)文章
什么是CC攻擊 判斷網(wǎng)站是否被CC攻擊并且如何防御CC攻擊
CC主要是用來攻擊頁面的,大家都有這樣的經(jīng)歷,就是在訪問論壇時(shí),如果這個(gè)論壇比較大,訪問的人比較多,打開頁面的速度會(huì)比較慢,對(duì)不?!一般來說,訪問的人越多,論壇的頁2024-01-06Windows系統(tǒng)安全風(fēng)險(xiǎn)-本地NTLM重放提權(quán)
入侵者主要通過Potato程序攻擊擁有SYSTEM權(quán)限的端口偽造網(wǎng)絡(luò)身份認(rèn)證過程,利用NTLM重放機(jī)制騙取SYSTEM身份令牌,最終取得系統(tǒng)權(quán)限,該安全風(fēng)險(xiǎn)微軟并不認(rèn)為存在漏洞,所以2021-04-15- 這篇文章主要介紹了文件上傳漏洞全面滲透分析小結(jié),這里主要為大家分享一下防御方法,需要的朋友可以參考下2021-03-21
- 這篇文章主要介紹了sql手工注入語句&SQL手工注入大全,需要的朋友可以參考下2017-09-06
- 這篇文章主要介紹了詳解Filezilla server 提權(quán),需要的朋友可以參考下2017-05-13
FileZilla Server 2008 x64 提權(quán)與防御方法
這篇文章主要介紹了FileZilla Server 2008 x64 提權(quán)與防御方法,需要的朋友可以參考下2017-05-13https加密也被破解 HEIST攻擊從加密數(shù)據(jù)獲取明文
不久之前我們說過關(guān)于http和https的區(qū)別,對(duì)于加密的https,我們一直認(rèn)為它是相對(duì)安全的,可今天要講的是,一種繞過HTTPS加密得到明文信息的web攻擊方式,不知道這消息對(duì)你2016-08-10iPhone和Mac也會(huì)被黑 一條iMessage密碼可能就被盜了
一直以來蘋果系統(tǒng)的安全性都是比安卓要高的,但是再安全的系統(tǒng)也免不了漏洞,蘋果也一樣。最近爆出的新漏洞,只需要接收一條多媒體信息或者iMessage就會(huì)導(dǎo)致用戶信息泄露。2016-07-27- 國家正在修正關(guān)于黑客方面的法律法規(guī),有一條震驚黑客圈的“世紀(jì)佳緣”起訴白帽黑客事件,深深的傷害了廣大黑客們的心,加上扎克伯格和特拉維斯·卡蘭尼克賬號(hào)被盜,于是黑2016-07-11
如何逆向破解HawkEye keylogger鍵盤記錄器進(jìn)入攻擊者郵箱
面對(duì)惡意郵件攻擊,我們就只能默默忍受被他攻擊,連自我保護(hù)能力都沒有談什么反抗?讓人痛快的是,如今有了解決辦法,逆向破解鍵盤記錄器,進(jìn)入攻擊者郵箱2016-07-06