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

我思考了很久才把這里面的錯綜復(fù)雜的關(guān)系整清楚,我想很多人看我下面的paper會睡著,或者干脆“一目百行”的跳過去,但如果你真的想弄懂,請調(diào)試我的 每一個poc,會非常有助于理解(雖然你還是可能會暈)。請尊重俺的勞動成果,碼這么多字不容易。歡迎技術(shù)討論,但謝絕沒仔
Attack Vector 3:如果域A下的某個頁面z中,包含了指向域B的兩個iframe,分別是x和y;那么x能夠通過z,對y的某些對象進(jìn)行一定的修改,從而篡改數(shù)據(jù),或者是篡改函數(shù)的參數(shù),執(zhí)行腳本。此時z起著iframe proxy的作用。
這段話可能有點拗口,其實就是父窗口在這里起了iframe proxy的作用。根據(jù)rule 1,我們有以下實例:
2.html:
window.onload = function() {
parent.frames["tt2_3].document.getElementById("3").value="222";
parent.frames["tt2_3].alertpoc1();
}
2.html將調(diào)用 3.html 中的 alertpoc1()函數(shù),并修改 input框的值為222
3.html:
//function alertpoc(){ alert("alert POC"); }
function alertpoc1(){ alert(window.location.href); }
此時,訪問http://www.A.com/1.html 后,發(fā)現(xiàn)input的值被成功修改,同事alertpoc1彈出顯示的是3.html的地址。
這種攻擊實際上還是攻擊的 http://www.A.com 下的 1.html 這個頁面(注意這個是和普通XSS攻擊的本質(zhì)區(qū)別,攻擊的目標(biāo)頁面不同),因為iframe: 3.html 是顯示在 1.html 里的。在實際中用到這種情況的可能是某個頁面里要顯示一個報表,那么這個報表可以采用iframe的方式嵌入在頁面中。
實施這種攻擊,可以隨意篡改報表里的數(shù)據(jù)。攻擊來源卻是在另外一個iframe里實現(xiàn)的,和當(dāng)前的1.html 沒有直接關(guān)系。
如果結(jié)合JSON Hijacking,直接在2.html中調(diào)用 3.html 里的一些回調(diào)函數(shù),竊取敏感數(shù)據(jù),也可能會起到一些意想不到的作用。因為在這里,我們再次把JSON CallBack函數(shù)持久化了,而且json返回的數(shù)據(jù)將顯示在1.html里,更具有欺騙性。
所以這第三種攻擊方法在篡改數(shù)據(jù)方面帶來了更高的風(fēng)險。
以上可以看出,Cross Iframe Trick最大的優(yōu)勢就是隱蔽性
攻擊就像來自天外一樣,幾乎無跡可尋。
局限性:
1、首先iframe是限制發(fā)送cookie的,本地存儲的stored cookie將不被發(fā)送,只能發(fā)送一個session cookie。瀏覽器的這個安全特性將使得我們使用XSRF的可能性更低。
但也不是沒有辦法,比如在 4.html 里使用一個 window.open() 就能夠發(fā)送出stored cookie了,當(dāng)然可能還有更好的方法。
不過雖然限制了cookie,導(dǎo)致XSRF會有些困難,但是能夠執(zhí)行目標(biāo)域下的腳本,還是非常有價值的一件事情,已經(jīng)可以完成許多攻擊了。
2、其次,要在A域?qū)ふ业竭@樣一個用iframe包含B域的頁面,并且去控制iframe中的B域頁面,才是最為不容易的事情。這個條件是比較苛刻的。如果有朋友能找到現(xiàn)實網(wǎng)站中的案例,請給我一個反饋。
最后,正如最開始所說,要修補(bǔ)這種漏洞非常困難,因為這完全是瀏覽器的正常功能。如果要限制iframe的話,微軟自己在IE里實現(xiàn)了iframe的一個security屬性,可以限制框架頁面里腳本的執(zhí)行。也許還有其他的方法可以來對抗,但是,就不是我們今天要討論的話題了。
我雖然只是在理論上提出了Cross Iframe Trick這種威脅,但是我認(rèn)為這幾乎可以算成是一種漏洞類型。它是許多腳本攻擊技術(shù)的結(jié)合應(yīng)用技巧,而程序員又往往會忽略這些地方。所以這種威脅是真實存在的,而且是可以長期挖掘和利用的一種“漏洞類型”
這段話可能有點拗口,其實就是父窗口在這里起了iframe proxy的作用。根據(jù)rule 1,我們有以下實例:
2.html:
window.onload = function() {
parent.frames["tt2_3].document.getElementById("3").value="222";
parent.frames["tt2_3].alertpoc1();
}
2.html將調(diào)用 3.html 中的 alertpoc1()函數(shù),并修改 input框的值為222
3.html:
//function alertpoc(){ alert("alert POC"); }
function alertpoc1(){ alert(window.location.href); }
此時,訪問http://www.A.com/1.html 后,發(fā)現(xiàn)input的值被成功修改,同事alertpoc1彈出顯示的是3.html的地址。

這種攻擊實際上還是攻擊的 http://www.A.com 下的 1.html 這個頁面(注意這個是和普通XSS攻擊的本質(zhì)區(qū)別,攻擊的目標(biāo)頁面不同),因為iframe: 3.html 是顯示在 1.html 里的。在實際中用到這種情況的可能是某個頁面里要顯示一個報表,那么這個報表可以采用iframe的方式嵌入在頁面中。
實施這種攻擊,可以隨意篡改報表里的數(shù)據(jù)。攻擊來源卻是在另外一個iframe里實現(xiàn)的,和當(dāng)前的1.html 沒有直接關(guān)系。
如果結(jié)合JSON Hijacking,直接在2.html中調(diào)用 3.html 里的一些回調(diào)函數(shù),竊取敏感數(shù)據(jù),也可能會起到一些意想不到的作用。因為在這里,我們再次把JSON CallBack函數(shù)持久化了,而且json返回的數(shù)據(jù)將顯示在1.html里,更具有欺騙性。
所以這第三種攻擊方法在篡改數(shù)據(jù)方面帶來了更高的風(fēng)險。
以上可以看出,Cross Iframe Trick最大的優(yōu)勢就是隱蔽性
攻擊就像來自天外一樣,幾乎無跡可尋。
局限性:
1、首先iframe是限制發(fā)送cookie的,本地存儲的stored cookie將不被發(fā)送,只能發(fā)送一個session cookie。瀏覽器的這個安全特性將使得我們使用XSRF的可能性更低。
但也不是沒有辦法,比如在 4.html 里使用一個 window.open() 就能夠發(fā)送出stored cookie了,當(dāng)然可能還有更好的方法。
不過雖然限制了cookie,導(dǎo)致XSRF會有些困難,但是能夠執(zhí)行目標(biāo)域下的腳本,還是非常有價值的一件事情,已經(jīng)可以完成許多攻擊了。
2、其次,要在A域?qū)ふ业竭@樣一個用iframe包含B域的頁面,并且去控制iframe中的B域頁面,才是最為不容易的事情。這個條件是比較苛刻的。如果有朋友能找到現(xiàn)實網(wǎng)站中的案例,請給我一個反饋。
最后,正如最開始所說,要修補(bǔ)這種漏洞非常困難,因為這完全是瀏覽器的正常功能。如果要限制iframe的話,微軟自己在IE里實現(xiàn)了iframe的一個security屬性,可以限制框架頁面里腳本的執(zhí)行。也許還有其他的方法可以來對抗,但是,就不是我們今天要討論的話題了。
我雖然只是在理論上提出了Cross Iframe Trick這種威脅,但是我認(rèn)為這幾乎可以算成是一種漏洞類型。它是許多腳本攻擊技術(shù)的結(jié)合應(yīng)用技巧,而程序員又往往會忽略這些地方。所以這種威脅是真實存在的,而且是可以長期挖掘和利用的一種“漏洞類型”
相關(guān)文章
什么是CC攻擊 判斷網(wǎng)站是否被CC攻擊并且如何防御CC攻擊
CC主要是用來攻擊頁面的,大家都有這樣的經(jīng)歷,就是在訪問論壇時,如果這個論壇比較大,訪問的人比較多,打開頁面的速度會比較慢,對不?!一般來說,訪問的人越多,論壇的頁2024-01-06Windows系統(tǒng)安全風(fēng)險-本地NTLM重放提權(quán)
入侵者主要通過Potato程序攻擊擁有SYSTEM權(quán)限的端口偽造網(wǎng)絡(luò)身份認(rèn)證過程,利用NTLM重放機(jī)制騙取SYSTEM身份令牌,最終取得系統(tǒng)權(quán)限,該安全風(fēng)險微軟并不認(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ū)別,對于加密的https,我們一直認(rèn)為它是相對安全的,可今天要講的是,一種繞過HTTPS加密得到明文信息的web攻擊方式,不知道這消息對你2016-08-10iPhone和Mac也會被黑 一條iMessage密碼可能就被盜了
一直以來蘋果系統(tǒng)的安全性都是比安卓要高的,但是再安全的系統(tǒng)也免不了漏洞,蘋果也一樣。最近爆出的新漏洞,只需要接收一條多媒體信息或者iMessage就會導(dǎo)致用戶信息泄露。2016-07-27- 國家正在修正關(guān)于黑客方面的法律法規(guī),有一條震驚黑客圈的“世紀(jì)佳緣”起訴白帽黑客事件,深深的傷害了廣大黑客們的心,加上扎克伯格和特拉維斯·卡蘭尼克賬號被盜,于是黑2016-07-11
如何逆向破解HawkEye keylogger鍵盤記錄器進(jìn)入攻擊者郵箱
面對惡意郵件攻擊,我們就只能默默忍受被他攻擊,連自我保護(hù)能力都沒有談什么反抗?讓人痛快的是,如今有了解決辦法,逆向破解鍵盤記錄器,進(jìn)入攻擊者郵箱2016-07-06