亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Cross Iframe Trick:the Old New Thing(圖)

互聯(lián)網(wǎng)   發(fā)布時間:2008-10-08 19:36:28   作者:佚名   我要評論
我思考了很久才把這里面的錯綜復雜的關系整清楚,我想很多人看我下面的paper會睡著,或者干脆“一目百行”的跳過去,但如果你真的想弄懂,請調試我的 每一個poc,會非常有助于理解(雖然你還是可能會暈)。請尊重俺的勞動成果,碼這么多字不容易。歡迎技術討論,但謝絕沒仔
實例如下:
  1.html的代碼:
1.html:
// 1.html上的彈窗函數(shù)
function tt1(fvck){
alert(fvck);
}
同在 www.A.com 域下的 4.html代碼:
4.html:
//parent.parent.tt1("fvck tt1"); 也可以
top.tt1("fvck tt1"); // 調用 1.html 里的 tt1() 函數(shù)
在 www.B.com 域下的3.html 作用是iframe proxy,其代碼為:
3.html:
var tt1_4 = document.createElement("iframe");
tt1_4.src = "http://www.A.com/4.html";
document.body.appendChild(tt1_4);
訪問 http://www.A.com/1.html 后,將通過 http://www.B.com/3.html ,利用 http://www.A.com/4.html 執(zhí)行 http://www.A.com/1.html 的腳本



  正確執(zhí)行了腳本。
  跨域的問題已經(jīng)POC過了,那么存在什么樣的風險呢?
  先講跨域的問題。
  首先,由于4.html在這里關聯(lián)性最小,所以我們假設4.html是我們在域A下上傳的某個文件,或者是存在XSS漏洞的某個頁面。
  那么對于域A下的頁面 1.html,它包含了 域B的3.html,當域B下的3.html被惡意用戶控制時,惡意用戶就可以通過4.html,直接攻擊到 1.html
  所以我們有了第一個攻擊方法:
  Attack Vector 1:控制iframe proxy后可以跨域攻擊父頁面
  由于域B和域A不是同一個域,所以域A的安全級別和一些防范措施很可能無法涉及到域B,這種信任上的危機將帶來一定的風險。
  請注意和普通掛馬或者是XSS攻擊不同的是,域A上的這個頁面是我們無法控制或篡改的,但他正好包含了一個指向域B上頁面的iframe,所以我們才可以通過域B上的那個頁面跨域攻擊它。
  比如,www.baidu.com/av.html 可能包含了某個廣告網(wǎng)站的一些頁面,他使用的是iframe的方式:
  那么這個時候,攻擊者如果能夠控制evil.html,就可以在evil.html 中包含一個指向 http://www.baidu.com/evilupload.html 的iframe;
  當正常用戶瀏覽 http://www.baidu.com/av.html 時候,就會受到來自 evilupload.html 的XSS攻擊, 而攻擊的來源是 http://www.advertise.com/evil.html 發(fā)起的。
  這種跨域的攻擊將會極其隱蔽,因為真正的惡意腳本是寫在evilupload.html 里的,所以即便查看了 av.html 和 evil.html 的代碼也無法看到任何惡意腳本,只能看到兩個iframe。
  對于IE 6, 甚至可以把 4.html 改名為 4.JPG 或者 4.RAR, 在iframe proxy中引用后,都將執(zhí)行腳本。(想到GIFAR沒?)
  而Firefox 2 則必須保持為 html 文件才能保證腳本的執(zhí)行。
  控制evil.html的方法有很多種,最常見的包括直接攻擊域B服務器、篡改客戶端網(wǎng)絡中的數(shù)據(jù)、或者是在evil.html 中放置一個 持久性的XSS,都將導致 evil.html 被控制
  通過控制 evil.html,調整不同的iframe src地址,我們可以得到第二種攻擊方法。
  Attack Vector 2:在iframe proxy中直接引用一個非持久性XSS(反射XSS),可以讓該XSS在父窗口中持久存在。
  很多人非常鄙視非持久性XSS(反射型XSS),認為這種XSS只能依靠欺騙的手段去騙人點擊,才能讓攻擊正常實施起來。
  其實讓非持久性XSS變得持久的方法,已經(jīng)出現(xiàn)過好多次了。比如利用applet、利用flash的AS腳本、利用IE的Ghost 頁面。
  那么今天這種方法又要多一個了:利用 Cross Iframe Trick
  實例如下:
  設想http://www.A.com/4.html 存在一個XSS漏洞,其代碼如下:
4.html:
//parent.parent.tt1("fvck tt1");
//top.tt1("fvck tt1");
document.write("window.location.href "\' >");
這里存在一個基于DOM的XSS漏洞,當在瀏覽器地址欄里輸入:
http://www.A.com/4.html#'>alert(/XSS/);時,alert()將被執(zhí)行。
此時,利用 Cross Iframe技術,在 3.html 中直接構造iframe地址為XSS的地址。
3.html:
//function alertpoc(){ alert("alert POC"); }
var tt1_4 = document.createElement("iframe");
tt1_4.src = "http://www.A.com/4.html#\'\>\alert(\"Domain=\" document.domain)\;\\";
document.body.appendChild(tt1_4);
  訪問 http://www.A.com/1.html 后,4.html里的XSS漏洞將被利用,并彈出可愛的小框框


  如果說,前面講的兩種方法是利用的Rule 2,那么Rule 1能否利用起來呢?思考后,發(fā)現(xiàn)Rule 1雖然沒有跨域風險高,但還是會帶來一些問題的。

相關文章

最新評論