网络建站知识发布于分享网站

当前位置:首页>>新闻中心>>CMS教程>>dedecms教程

Dedecms SESSION变量覆盖引发SQL注入漏洞(common.inc.php)的修复方案

时间:2025-03-31 16:10:45    来源:    人气:0

在使用 Dedecms 时,可能会遇到一个与 SESSION 变量覆盖相关的 SQL 注入漏洞。该问题出现在 /include/common.inc.php 文件中,本文将详细介绍此漏洞的成因及解决方法。

补丁文件:/include/common.inc.php


漏洞描述:Dedecms 的 /plus/advancedsearch.php 文件中,直接从 SESSION[SESSION[sqlhash]] 获取值并作为 $query 带入 SQL 查询语句中执行。这种做法存在严重的安全隐患,因为如果服务器配置了 session.auto_start = 1(即启用了自动 SESSION 会话),攻击者可以轻松利用 SESSION 变量覆盖的方式注入恶意 SQL 代码。


为了解决这一问题,云盾团队已经在 Dedecms 的变量注册入口进行了通用统一防御,禁止 SESSION 变量的外部传入。以下是具体的修复步骤:


解决方法:


1、打开 /include/common.inc.php 文件,搜索以下代码(通常位于第 68 行):


if( strlen($svar) > 0 && preg_match('#^(cfg_|GLOBALS|_GET|_POST|_COOKIE)#', $svar) )
    

2、将上述代码替换为以下内容:


if( strlen($svar) > 0 && preg_match('#^(cfg_|GLOBALS|_GET|_POST|_COOKIE|_SESSION)#', $svar) )
    

3、保存修改后的文件,并将其上传到阿里云服务器上,覆盖原有的 /include/common.inc.php 文件。


注意事项:


在进行任何修改之前,请务必备份原始文件,以防止意外情况导致系统无法正常运行。此外,建议定期检查网站的安全性,及时更新 CMS 系统及相关插件,避免因版本过旧而引发的安全风险。


通过以上方法,您可以有效防止 Dedecms 中因 SESSION 变量覆盖而导致的 SQL 注入问题。确保您的网站更加安全可靠。

相关文章

  • Dedecms 删除文档时同时清除文章中图片的方法

    Dedecms 删除文档时同时清除文章中图片的方法

    在网站建设与维护的过程中,优化代码结构和功能是提升网站性能的重要步骤。本文将介绍如何通过自定义函数实现文章删除时自动清理相关资源的功能,从而提高系统的整洁性和存储效率。以下是具体的操作步骤及代码实现。首先, 在 `/include` 目录下创建一个名为 `extend.func.php` 的文件...
    2025-03-31
  • Dedecms上传图片提示302错误ERROR的解决方法

    Dedecms上传图片提示302错误ERROR的解决方法

    在进行图片上传操作时,用户可能会遇到302错误以及带有ERROR提示的图片上传失败问题。这些问题可能由多种原因引发,因此本文将对这些情况进行整理,以帮助大家更有效地定位并解决问题。 第一种情况:图片文件本身损坏。 这种情况会导致系统返回ERROR错误提示,不过发生概率较低。如果怀疑是图片损坏导致的...
    2025-03-31
  • DEDECMS模板使用教程

    DEDECMS模板使用教程

    如果您正在寻找一种高效的方法来使用Dedecms模板搭建网站或论坛,那么本文将为您提供详尽的指导。从模板解压到最终完成配置,每一步都将清晰呈现,帮助您快速掌握整个流程。 第一步:解压Dedecms模板 将下载的Dedecms模板文件解压出来,确保所有文件完整无误。如下图所示: 第二步:获取D...
    2025-03-31
  • Dedecms Dede 附加表自定义字段与主表文章关联方法

    Dedecms Dede 附加表自定义字段与主表文章关联方法

    在使用DedeCMS开发装修网站时,设计师和设计作品之间的关联是一个重要的功能需求。通常情况下,文章(作品)的内容部分存储在主表dede_addonarticle中,而自定义字段则存储在附加表dede_archives中。为了实现这一功能,可以采用以下两种方法。 ① 根据发布人调用相关文章; ...
    2025-03-31

公众号