从PHP安全讲DedeCms的安全加固

DedeCms做为国内使用最为广泛使用人数最多的CMS之一,经常爆出漏洞,每个漏洞的爆出,影响都是一大片,轻则被人挂广告、弹框,重则服务器成为肉机,宝贵数据丢失。那么有什么办法可以提高DedeCms的安全性呢?


来看看原因吧,为什么PHP程序经常出漏洞,其实是由PHP程序本身决定的。PHP可复用性低,导致程序结构错综复杂,到处是冗余代码,这样不仅利于漏洞
的产生,还影响漏洞的修得;PHP程序入门简单且普遍开源,导致很多人都可直接阅读代码,搜寻漏洞;这样便有源源不断的漏洞被发现、被修复、被发现……。
而当前流行的PHP系统习惯用以文件形式做为缓存,这样就需要开放文件的写权限,这无疑成为PHP系统的软肋。目前针对PHP系统的攻击方式,除了已经很
少出现的“注入”攻击外,大部分攻击都是通过系统的某个漏洞,向可写文件里插入一句话木马,以此方式获得shell。

网站安全从来都是服务器配置、文件权限控制和网站程序三者的相互配合,今天主要看看如果对DedeCms网站程序的改进来提高安全性。“可执行的文件不允许被修改,可写文件不允许被访问”这是网站权限控制的根本原则,网站程序在“可写文件不允许被访问”方面可做许多工作。就拿DedeCMS来说,我们可以在如下几个方式做好保护。(以下说明在DEDE V55_UTF8版本实现正常,其他版本未作测试)
1、改名根目录下的data目录,或者移动到网站目录外面
data
目录便是最藏污纳垢的地方,系统经常要往这个目录写数据,这个目录下的任何一个文件又都可以通过URL访问到,所以要让浏览器访问不到里面的文件,就需要
将此目录改名,或者移动到网站的目录外面去。这些,即使别人通过漏洞往文件里写进了一句话木马,他也找不到此木马所在的文件路径,无法继续展开攻击。因为
DedeCMS程序的不合理,导致改名data目录动作会比较大,具体做法如下:
a. 将公开的内容迁移到pub目录(或者其它自定义目录)下,如rss、sitemap、js、enum等,此步骤需要移动文件夹,并修改这些文件的生成路径
b. 修改引用程序目录
搜索替换“DEDEDATA."/data/” 为 “DEDEDATA."/”,大概替换五六十个地方;
搜索替换“DEDEDATA.‘/data/” 为 “DEDEDATA.’/”,大概替换五六十个地方;
搜索“/data/”,按具体情况,修改路径类似成为:“$DEDEDATA."/”(注意include目录和后台管理目录都有data文件夹,不需要修改);
c. 修改data文件夹名称,并修改include/common.inc.php文件里的“DEDEDATA”的值,再在后台系统设置>参数设置里修改模板缓存目录,即可修改完成。以后也可以按照此步骤来更改data文件夹名称。

2、改名“dede”管理目录,并加固
如果把后台隐藏好了,即使别人获得了你的管理员账号、密码,他也无从登录。
a.在/dede/config.php里,找到如下行:

1//检验用户登录状态
2$cuserLogin = new userLogin();
3if($cuserLogin->getUserID()==-1)
4{
5    header("location:login.php?gotopage=".urlencode($dedeNowurl));
6}

把上面代码,改为:

1//检验用户登录状态
2$cuserLogin = new userLogin();
3if($cuserLogin->getUserID()==-1)
4{
5    //header("location:login.php?gotopage=".urlencode($dedeNowurl));
6    header("HTTP/1.0 404 Not Found");
7    exit();
8}

b.修改/dede/login.php的文件名称,并对应的修改/dede/templets/login.htm里的表单提交地址;
c.修改/dede/的目录名称;

这样,别人在没有登录前,只能访问/dede/login.php改名后的地址,访问其他地址均会获得404错误。

当然,做了安全加固后,以后DedeCMS的升级就会有一些麻烦

时间: 2025-01-14 06:58:09

从PHP安全讲DedeCms的安全加固的相关文章

(转)dedecms代码详解 很全面

dedecms代码研究(1)开篇dedecms 相信大家一定都知道这个cms 系统,功能比较强大,有比较完善的内容发布,还有内容静态化系统,还有就是它有自己独特的标签系统和模板系统.而模板系统也是其他cms系统比较难模仿的的东西,这个东西还是需要一点开发功力和技巧的.本系列文章就研究一下dedecms的这套系统,挖掘一下看看里面有什么好东西.建议大家先了解一下dedecms的功能.自己先动手用一下,对系统功能有个大概了解.本文先带领大家了解一下dedecms的代码和功能架构.其实,dedecms

阿里巴巴移动安全应用加固能力养成记

近些年来,移动APP数量呈现爆炸式的增长,黑产也从原来的PC端转移到了移动端,伴随而来的逆向攻击手段也越来越高明.在解决加固产品容易被脱壳的方案中,代码混淆技术是对抗逆向攻击最有效的方式之一.但目前的移动端加固技术真能抵御黑客的攻击吗? 本报告将分享阿里巴巴集团安全部应用加固能力养成记,重点介绍Android加固对于端上的业务风险控制是如何做到自动化部署和分析,更快捷的感知安全风险,以便快速做出响应,减少不必要的业务损失. 主讲人:阿里巴巴安全专家乱武. 今天讲的大的标题叫[APP加固新方向],

【分享】后盾网原创视频,DEDECMS万能仿站视频教程 (二次开发)

下载地址 链接:http://pan.baidu.com/disk/home#list/path=/ 用户[email protected] 密码:redbaidu 如需要全部课程请扫描下面二维码或者关注微信公众号 redbaidu 课时:32课时 知识点:织梦(DEDECMS)万能仿站课程,从零开始,详细.系统的讲解了整套织梦万能仿站技术,内容涵盖了理论讲解.实践演示.实战操作等方面.本套教程包含两个实战案例,讲解通俗易懂,深入浅出,适合各层次水平的学员学习.目前网站建设行业,一个普通的企业站

Android安全专项-Apk加固

参考文章 Android APK加壳技术方案[1] Android APK加壳技术方案[2] Android中的Apk的加固(加壳)原理解析和实现 0x00 原理部分我不献丑了,上面3篇文章说的很清楚,我直接实战,讲述从0开始如何最终实现加固的整个过程,踩了不少坑. 0x01 第一步创建被加固Apk,就是你的源码Apk.你做的工作就是防止这个Apk被破解.这个APK要注意以下几点: 记住你的主Actvitiy名和其他Activity名 从途中可知我们的主Activity为doctorq.com.

dedecms自定义表单提交成功的跳转的修改

dedecms自定义表单是个比较常用的功能,自定义表单非常的灵活~~无论是用户留言.在线报名.信息收集统统都可以通过自定义表单完成,自定义表单的 调用方法我这里就不详细的介绍了,网上有大量这样的使用例子与方法大家可以参考下.我今天要讲的是自定义表单数据提交自后的调整,这块也是自定义表单不够 灵活的~ 首先大家需要明白的是自定义表单的数据是提交到plug/diy.php文件进行处理,大家打开一看一眼就能找到我们比较熟悉的标题提交成功提示的信息,也就是“$bkmsg = '发布成功,请等待管理员处理

Retrofit/OkHttp API接口加固技术实践(下)

作者/Tamic http://blog.csdn.net/sk719887916/article/details/65448628 上节加固介绍了APi单纯Post用对称加密(Base64 为列子)加密方式,这种加密方式还是存在一定的风险,加密效率虽高,但易破解,本节将介绍怎么用非对称加密 来加解密okhttp的数据,本文采用RSA加密算法为栗子. 对称加密 对称加密是最传统的加密方式,比上非对称加密,缺少安全性,但是它依旧是用的比较多的加密方法. 对称加密采用单密钥加密方式,不论是加密还是解

Android中的Apk的加固(加壳)原理解析和实现

Android中的Apk的加固(加壳)原理解析和实现 标签: android 2015-09-13 13:58 42287人阅读 评论(49) 收藏 举报 本文章已收录于:  Android知识库  分类: Android(140)  版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 一.前言 今天又到周末了,憋了好久又要出博客了,今天来介绍一下Android中的如何对Apk进行加固的原理.现阶段.我们知道Android中的反编译工作越来越让人操作熟练,我们辛苦的开发出一个

Android Proguard安全加固教你如何让自己的应用程序或SDK更难被反编译--library打包成jar并且混淆

在android 应用层开发的时候咱们技术人员都或多或少都会接触一些SDK比如so.jar等,这些都是数据类公司提供给互联网开发公司的关于技术核心类 方便的东西,因为是核心所以加密加固是必不可少的工作,本博今天就向大家介绍jar的封装打包以及混淆,完成自己的SDK!在此之前需要给大家说 说so,so是由C/C++语言编译而来,其反编译难度更大,因为反编译之后就是汇编语言,需要懂汇编才能看懂,更重要的是即使懂汇编把其复原也是相 当大的工程,尤其是一些大公司的SDK,那就更别说了,而jar呢反编译的

织梦DedeCMS模板通用安装方法

在网络上有很多可以免费下载的DEDECMS模板,下载之后如何安装是很多新手的共同问题.下面将结合我个人使用DEDECMS模板的一些心得,讲一下DEDE模板安装的通用方法. 1.下载一个模板之后要判断一下模板文件是否齐全.htm文件中是否包括首页.列表页和文章内容页等;htm文件用到的css文件是否包括;模板安装包中是否包括网站用到的背景图片; 2.建设网站栏目.在安装调试一个模板之前必须事先建好网站的相关栏目,这样才能做好调试.栏目的建设可以参考模板的样例网站进行建设. 3.更改系统中的模板名,