您当前的位置:首页 > 电脑百科 > 安全防护 > 漏洞

DedeCMS组合漏洞分析

时间:2023-05-17 17:25:37  来源:今日头条  作者:区块软件开发

DedeCMS代码注入漏洞(CVE-2022-36216)

1. 简述

漏洞涉及文件:

/uploads/dede/member_toadmin.php

/uploads/include/common.inc.php
整体流程简述:
参数传入流程

/uploads/include/common.inc.php

1. `_RunMagicQuotes()`
2. `addslashes($svar)`

下面的$id 值是通过参数传入流程传入进来的。

/uploads/dede/member_toadmin.php

1. `$arr_password[$id] = "{$timestamp}";`
2. `$content = "json_encode($arr_password);`
3. `$fp = fopen($filename, 'w')`
    1. `$filename = DEDEDATA.'/password.data.php';`
5. `fwrite($fp, $content);`

漏洞代码节选:

// /uploads/include/common.inc.php 文件处代码

if (!defined('DEDEREQUEST'))
{
    foreach(Array('_GET','_POST','_COOKIE') as $_request)
    {
        foreach($$_request as $_k => $_v)
        {
            if($_k == 'nvarname') ${$_k} = $_v;
            else ${$_k} = _RunMagicQuotes($_v);
        }
    }
}

// /uploads/include/common.inc.php 文件处代码
function _RunMagicQuotes(&$svar)
{
    if(!get_magic_quotes_gpc())
    {
        if( is_array($svar) )
        {
            foreach($svar as $_k => $_v) $svar[$_k] = _RunMagicQuotes($_v);
        }
        else
        {
            ...
            $svar = addslashes($svar);
        }
    }
    return $svar;
}

// /uploads/dede/member_toadmin.php
if($dopost == "toadmin")
{
    ...
    $filename = DEDEDATA.'/password.data.php';
    if (file_exists($filename)) {
        require_once(DEDEDATA . '/password.data.php');
        $arr_password = json_decode($str_password, true);
    }
    ...
    $arr_password[$id] = "{$timestamp}";
    $content = "<?phprn$str_password='".json_encode($arr_password)."';";
    $fp = fopen($filename, 'w') or die("写入文件 $filename 失败,请检查权限!");
    fwrite($fp, $content);
    fclose($fp);
}

2. 分析

漏洞成因:
在DedeCMS中, 首先会用_RunMagicQuotes()函数,把 $_GET, $_POST, $_COOKIE 这三种方式获取到的用户输入过滤一遍。

然后在_RunMagicQuotes()函数中, 调用了PHP内置的addslashes()函数将获取到的所有输入进行转义。

然后 json_encode() 函数会将反斜杠进行转义, 这时候单引号就逃逸了 addslashes()函数的过滤, 逃逸了过滤的单引号, 和最开头的单引号实现了闭合。如下图所示

 

闭合掉单引号之后, 利用php拼接的性质, 就能传入恶意函数了, 当 $id 的值为 '.phpinfo()?>时, 如下图所示

 

3. 复现

1.首先打开注册会员功能
找到本地文件
uploads/install/config.cache.inc.php, 将里面的$cfg_mb_open = 'N'; 改为 $cfg_mb_open = 'Y';。
2.然后注册一个会员(就在主页上)

 

3.前往后台页面, 找到会员 -> 注册会员列表 -> 提升。点击提升按钮, 按照提示填写表格。填写完毕之后, 暂时先不要点击确定提升按钮

 


 

4.配置好浏览器代理, 打开BurpSuit或者类似的其它工具, 开启Proxy模块中的Intercept is on。然后再点击上一步的确定提升按钮, 这时候能够捕获到HTTP请求包, 请求体部分如下所示。

 

请注意这里的id参数, 这里就是漏洞触发点, 将其修改为 3'.phpinfo()?>, 然后将数据包Forward 放回去

 

可以看到, 恶意代码已经成功注入到
/uploads/data/password.data.php 文件中

 

访问
/uploads/data/password.data.php 文件, 可以看到成功执行了注入进去的代码。

 

4. 鸡肋

让我们回到最开始的那段漏洞代码片段中, 里面有一段代码是这样写的。

<?php
$filename = DEDEDATA.'/password.data.php';
if (file_exists($filename)) {
    require_once(DEDEDATA . '/password.data.php');
    $arr_password = json_decode($str_password, true);
}

这段代码, 检测了是否存在 password.data.php 这个文件, 如果存在的话, 则直接对password.data.php 文件的内容进行解码。也就是说我们没有办法再往里面注入恶意代码了。

那么问题来了,如果遇到网站已经有一个正常内容的password.data.php文件,这个漏洞就没有任何意义了,毕竟这个漏洞只能在没有这个文件的情况下才能触发。食之无味,弃之可惜。

DedeCMS任意文件删除漏洞(CVE-2022-30508)

1. 简述

漏洞涉及文件: /uploads/dede/upload.php
漏洞具体代码:

$delete = preg_replace("#^([.]*[/]*)*#", "", $delete);
...
if ($dopost === 'delete') {
    $uploadTmp = DEDEDATA . '/uploadtmp';

    if (unlink($uploadTmp . '/' . $delete)) {
        echo 'success';
        exit();
    }
    echo 'fAIl';
}

2. 分析

漏洞成因: preg_replace()对过滤不严格,导致依然能够路径穿越。然后通过代码中的unlink()函数实现任意文件删除。

3. 复现

首先在根目录下新建一个test.txt文件

 

由于该漏洞涉及的代码片段比较简单,直接使用内置的参数输入方式输入参数,这里选择的是$_GET传参
/uploads/dede/upload.php?dopost=delete&delete=/Rebmal/../../../test.txt

 

可以看到已经成功删除了test.txt文件。

4. 建议

请升级到最新版本。



Tags:漏洞   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
Rust 标准库 1.77.2 发布,修复高危漏洞
IT之家 4 月 10 日消息,Rust 的优势之一就是安全,但这并不代表该编程语言就没有漏洞。安全专家近日发现了追踪编号为 CVE-2024-24576 的漏洞,攻击者利用 Rust 标准库中的一个安...【详细内容】
2024-04-10  Search: 漏洞  点击:(4)  评论:(0)  加入收藏
详解渗透测试和漏洞扫描的开源自动化解决方案
译者 | 刘涛审校 | 重楼目录 什么是渗透测试 规划和侦察 扫描 开发和获得访问权限 维持访问权 报告和控制 什么是漏洞扫描 渗透测试工具 渗透测试的自动化 渗透自动化工作流...【详细内容】
2024-02-27  Search: 漏洞  点击:(26)  评论:(0)  加入收藏
黑客利用iOS系统中的三个零日漏洞在iPhone上安装间谍软件
2月7日,据谷歌威胁分析小组(TAG)发布的报告,黑客成功利用存在于苹果iOS系统中的三个零日漏洞,在iPhone上安装了由Variston开发的间谍软件。Variston是一家位于巴塞罗那的网络公司...【详细内容】
2024-02-07  Search: 漏洞  点击:(57)  评论:(0)  加入收藏
苹果iOS 17.3正式版发布:修复诸多安全漏洞
北京时间2023年1月23日凌晨,苹果向iPhone用户推送了iOS 17.3更新(内部版本号为21D50),此次更新距离上次时隔34天。iOS 17.3的安装包大小为600MB左右。尽管更新包容量不大,但iOS 1...【详细内容】
2024-01-23  Search: 漏洞  点击:(43)  评论:(0)  加入收藏
 Opera 漏洞可能让黑客在 Mac 或 Windows 上运行任何文件
网络安全研究人员披露了 Microsoft Windows 和 Apple macOS Opera 网络浏览器中的一个现已修补的安全漏洞,该漏洞可被利用来执行底层操作系统上的任何文件。Guardio Labs研究...【详细内容】
2024-01-19  Search: 漏洞  点击:(76)  评论:(0)  加入收藏
渗透测试中最常见的漏洞有哪些?
什么是渗透测试?渗透测试是一项安全测试,旨在模拟黑客的攻击方式,评估系统、网络或应用程序的安全性,发现潜在的安全漏洞并提出建议来修复它们。渗透测试中最常见的漏洞包括:1....【详细内容】
2024-01-11  Search: 漏洞  点击:(105)  评论:(0)  加入收藏
iPhone被曝遭史上最复杂攻击 如何应对防范系统漏洞风险?
“iPhone遭遇史上最复杂攻击”近日登上热搜。消息称,一条“iMessage信息”就能使用户手机里的地理位置、录音、照片和其他重要内容被不法分子获取到。此次事件被网络安全公司...【详细内容】
2024-01-01  Search: 漏洞  点击:(99)  评论:(0)  加入收藏
卡巴斯基公布苹果 Triangulation 事件报告,黑客利用4项漏洞攻击
IT之家 12 月 28 日消息,卡巴斯基今年 6 月发现苹果 iOS 设备中存在 Triangulation 漏洞,该漏洞允许黑客向受害者发送特定 iMessage 文件进行远程代码攻击,不过当时卡巴斯基出...【详细内容】
2023-12-29  Search: 漏洞  点击:(112)  评论:(0)  加入收藏
俄黑客组织利用WinRAR漏洞攻击乌克兰
据Securityaffairs网站消息,具有俄罗斯背景的黑客组织UAC-0099正在利用WinRAR中的一个零日漏洞(已修复,编号CVE-2023-38831)对乌克兰传播LONEPAGE恶意软件。实际上,自2022年中旬...【详细内容】
2023-12-27  Search: 漏洞  点击:(149)  评论:(0)  加入收藏
Oracle这个公开漏洞正在被8220挖矿组利用
有的网络攻击组织喜欢极具攻击力的0-Day漏洞,但也有的组织更愿意在那些已经公开的漏洞上下功夫,针对那些未能打好补丁的目标,不断优化策略和技术来逃避安全检测,从而最终实现入...【详细内容】
2023-12-22  Search: 漏洞  点击:(106)  评论:(0)  加入收藏
▌简易百科推荐
 Opera 漏洞可能让黑客在 Mac 或 Windows 上运行任何文件
网络安全研究人员披露了 Microsoft Windows 和 Apple macOS Opera 网络浏览器中的一个现已修补的安全漏洞,该漏洞可被利用来执行底层操作系统上的任何文件。Guardio Labs研究...【详细内容】
2024-01-19  科技大人物    Tags:漏洞   点击:(76)  评论:(0)  加入收藏
俄黑客组织利用WinRAR漏洞攻击乌克兰
据Securityaffairs网站消息,具有俄罗斯背景的黑客组织UAC-0099正在利用WinRAR中的一个零日漏洞(已修复,编号CVE-2023-38831)对乌克兰传播LONEPAGE恶意软件。实际上,自2022年中旬...【详细内容】
2023-12-27  区块软件开发  今日头条  Tags:漏洞   点击:(149)  评论:(0)  加入收藏
一文带你了解数据库层的安全漏洞及其危害性
数据库层的安全漏洞是Web应用程序中最常见且最简单的漏洞之一。这种漏洞的主要原因是程序没有对用户输入的数据进行合法性判断和处理,从而导致攻击者能够在Web应用程序中注入...【详细内容】
2023-12-19  科技界脑洞    Tags:漏洞   点击:(148)  评论:(0)  加入收藏
七个优秀开源免费Web安全漏洞扫描工具
Web安全漏洞扫描技术是一种用于检测Web应用中潜在的漏洞或者安全风险的自动化测试技术。Web安全扫描工具可以模拟黑客行为,检测常见的漏洞,例如:Sql注入、XSS、文件上传、目录...【详细内容】
2023-11-17  andflow  微信公众号  Tags:安全漏洞   点击:(225)  评论:(0)  加入收藏
2023年TOP 5 Kubernetes漏洞
译者 | 晶颜审校 | 重楼Kubernetes是一个流行的开源平台,用于管理容器化的工作负载和服务。它是一个简化了大量部署、扩展和操作任务的系统,但它并非没有风险。就像任何其他软...【详细内容】
2023-11-15    51CTO  Tags:漏洞   点击:(311)  评论:(0)  加入收藏
SysAid IT 曝出零日漏洞,需尽快安装补丁
根据微软的最新发现,以传播 Clop 勒索软件而闻名的 Lace Tempest 黑客组织,近日利用 SysAid IT 支持软件的零日漏洞实施了攻击。该黑客组织曾经还利用 MOVEit Transfer 和 Pap...【详细内容】
2023-11-10  沐雨花飞蝶  微信公众号  Tags:SysAid   点击:(247)  评论:(0)  加入收藏
常见Windows远程漏洞信息整理
通过漏洞扫描,发现漏洞,更新补丁,增强内网安全防御能力。1.常见windows提权漏洞(1)MS08-067 Windows服务漏洞漏洞描述:该漏洞影响Windows Server 2000、Windows XP和Windows 2003...【详细内容】
2023-11-07  小兵搞安全  微信公众号  Tags:漏洞   点击:(274)  评论:(0)  加入收藏
报告称微软 Skype 移动应用存在严重漏洞,可轻易泄露用户 IP 地址
IT之家 8 月 29 日消息,据 404Media.co 报道,微软的 Skype 移动应用存在一个严重的漏洞,可能导致黑客通过发送一个链接就能检测到用户的 IP 地址。该漏洞只需利用 Skype 的文本...【详细内容】
2023-08-29    IT之家  Tags:漏洞   点击:(150)  评论:(0)  加入收藏
可绕过苹果三重防护机制,专家发现 macOS 新漏洞
IT之家 8 月 15 日消息,近期在拉斯维加斯举行的 Defcon 黑客大会上,安全研究员帕特里克・沃德尔(Patrick Wardle)展示了 macOS 新漏洞,可以绕过苹果设置的三重防护机制,窃取设备敏...【详细内容】
2023-08-15    IT之家  Tags:漏洞   点击:(211)  评论:(0)  加入收藏
两个新漏洞可能影响 40% 的 Ubuntu 云工作负载
云安全公司 Wiz 的研究人员在 Ubuntu 的 OverlayFS 模块中发现了两个易于利用的权限提升漏洞,影响了 40% 的 Ubuntu 云工作负载。OverlayFS 是一种联合文件系统,允许一个文件...【详细内容】
2023-07-28    云安全公司 Wiz 的研究人员在 Ubuntu 的 OverlayFS 模块中发现了两个易于利用的权限提升漏洞,影响了   Tags:漏洞   点击:(226)  评论:(0)  加入收藏
站内最新
站内热门
站内头条