DedeCMS 5.7 sp1远程文件包含漏洞(CVE-2015-4553)

网络编程 2025-03-29 13:03www.168986.cn编程入门

这篇文章主要介绍了DedeCMS 5.7 sp1版本中的一个远程文件包含漏洞(CVE-2015-4553),该漏洞图文并茂,具有详细的介绍和参考借鉴价值。

一、漏洞描述

此漏洞存在于/install/index.php(以及index.php.bak文件)中,由于$$符号使用不当导致变量覆盖,进而引发远程文件包含漏洞。

二、影响版本

该漏洞影响DedeCMS小于5.7-sp1版本,包括5.7 sp1版本。

三、漏洞环境搭建

为了复现此漏洞,需要下载DedeCMS V5.7 SP1并将其放置在phpstudy环境下的目录下。然后通过浏览器访问指定的URL来启动环境。环境搭建完成后,即可进行漏洞复现。

四、漏洞复现

查看/install/index.php源码,发现存在变量覆盖漏洞。源码中的一段代码会将传入的参数进行变量覆盖。通过浏览器访问特定URL并传入特定参数,可以实现变量覆盖。

接下来,尝试通过变量覆盖重装网站。由于安装锁的存在,无法继续重新安装,需要删除安装锁文件。浏览代码时,发现一段包含/data/admin/config_update.php文件的代码,该文件中定义了变量updateHost。

我们可以结合变量覆盖漏洞进行远程文件包含操作。由于$updateHost变量是从外部引入的,不能直接进行覆盖,因此需要先清空config_update.php文件再进行包含。这里可以利用fopen函数和fwrite函数来实现。通过变量覆盖,将$s_lang设置为不存在的文件名,$install_demo_name指向config_update.php文件的路径,同时将$step设置为11,以达到清空config_update.php的目的。

DedeCMS 5.7 sp1远程文件包含漏洞(CVE-2015-4553)之旅

你是否曾经遇到过需要通过特定路径访问某个网站的情况?今天我们将带你深入了解DedeCMS 5.7 sp1版本中的一个安全隐患——远程文件包含漏洞。通过这个漏洞,我们可以利用一些技巧绕过网站安装检查,甚至上传自己的文件。

在开始之前,让我们先构造一个payload,访问特定:

要绕过这个条件,我们可以通过变量覆盖漏洞构造一个不存在的文件。这里的$insLockfile变量可以被我们构造成任意不存在的文件。于是,我们的payload变为:

当我们访问这个链接时,可以看到config_update.php文件已经被变成一个空文件,大小为0kb。这意味着我们已经成功地清空了该文件的内容。接下来,我们就可以控制updateHost参数,开始远程文件包含上传我们想要的文件了。

在kali系统上,我们创建一个名为dedecms的文件夹,并在其中创建一个名为demodata.gb2312.txt的文件,写入代码,然后开启web服务。接下来,我们需要构造一个新的payload,将install_demo_name改为要上传的路径,updateHost改为远程目标机的IP。Payload如下:

当我们浏览器访问这个链接时,如果出现界面说明写入成功。那么我们就可以去查看是否上传成功。如果成功,我们就可以通过浏览器访问我们上传的shell.php文件了。

以上就是长沙网络推广给大家介绍的DedeCMS 5.7 sp1远程文件包含漏洞(CVE-2015-4553)。希望对大家有所帮助。如果你有任何疑问,欢迎留言给我,我会及时回复大家的。感谢大家对狼蚁SEO网站的支持!如果你认为本文有帮助,欢迎转载,请注明出处,谢谢!

上一篇:jQuery中DOM操作原则实例分析 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by