“老张,你那个下载站的首页被挂满了博彩广告,快去看看!”凌晨两点,我接到朋友的电话,这已经是我今年处理的第13起织梦(DedeCMS)被黑案例,作为一个从2008年就开始用织梦建站的老运维,我太清楚这个系统的脾性了——它就像一栋老宅子,住着舒服,但门窗如果不勤加打理,小偷进出自如。
织梦CMS站长必修课,从漏洞堵截到被黑自救的运维实战手册
我不讲晦涩的代码审计,只把十几年攒下的“防贼”和“扫屋”经验,掰开了揉碎了讲给你听,跟着我的步骤走,就算你只会鼠标点点点,也能把站点的安全等级拉满。
第一件事:认清最常见的三个“后门”
很多站长一被黑就慌,以为是黑客手段多高明,其实90%的入侵,走的就是织梦那三个“老破小”入口。
-
SQL注入漏洞:这是织梦的“祖传”问题,老版本在
/plus/list.php、/plus/search.php等文件里,对用户输入的参数过滤不严,黑客只需在网址后面加一串特殊字符,就能让数据库“裸奔”,把你后台的账号密码直接提出来。对策:别用任何改版过的“绿色版”或“破解版”程序,官方原版至少能堵住80%的已知漏洞。 -
文件上传漏洞:黑客通过后台的“附件管理”或“自定义字段”功能,上传一个伪装成图片的PHP木马文件,这个木马一旦落地,你的整个服务器就成了他的“肉鸡”。对策:后台设置里,把允许上传的文件类型严格限制为
jpg|png|gif|zip,千万别加php或phtml。 -
模板GetShell漏洞:黑客登录后台后,在“模板管理”的
index.htm文件里插入一句话木马,或者直接修改模板文件内容。对策:修改完模板后,立刻在后台“生成”菜单里点击“更新所有HTML”,让动态木马变成“死”代码,然后立刻删掉备份的临时文件。
第二件事:后台设置的四道锁(5分钟搞定)
登录你的后台,按我这个老手的关键路径去点,别嫌麻烦。
- 锁死“数据目录”:进入
系统 -> 系统基本参数 -> 附件配置,把DedeData目录(存放缓存和变量)的路径,从默认的/data改成一个长且乱的字符串,比如/a8x2m9q_2024,这样黑客扫描常见路径时,找不到你的数据仓库。 - 开启“验证码”强度:在
系统 -> 系统用户管理 -> 修改管理员密码旁边,把验证码模式设为“中文验证码”或“算术验证码”,别嫌慢,这能防住99%的暴力破解脚本。 - 关闭“会员上传”:如果你不是资源下载站,就在
会员 -> 会员设置里,把会员上传附件功能直接关闭,这是最容易被忽视的“蚂蚁搬家”入口。 - 隐藏后台地址:修改后台目录名,把默认的
/dede改成/your_admin_2024,在FTP里重命名文件夹即可,这一步能让你的后台在黑客的字典扫描里“隐身”。
第三件事:文件权限的“断腕”操作(重点)
这是被黑后能否快速止损的关键,用FTP软件(如FileZilla)连接服务器,对目录权限做如下调整:
- 只读目录(权限设为755):
/uploads、/templets、/images,这些目录只需要读取,禁止写入,这样,即使黑客上传了木马,也写不进去,或者写进去没权限执行。 - 可写但不可执行(权限设为644):
/data目录里的*.txt和*.cache文件。千万别给/data目录下的任何文件加“执行”权限(即555或755中的执行位)。 - 关键配置文件(权限设为444):
/include/config.cache.inc.php和/data/admin/ver.txt,把这个文件设为只读,黑客就算通过漏洞拿到了路径,也没法修改你的数据库连接信息。
第四件事:已经被黑,怎么“救火”?
如果你发现首页被换、或者莫名多出管理员账号,别急着删文件,按这个顺序操作:
- 第一步:断网隔离,立即在服务器防火墙(宝塔面板或安全组)里,把除
80(HTTP)和22(SSH)之外的所有端口临时关闭,并禁止公网访问你的数据库端口(如3306)。 - 第二步:揪出“潜伏者”,进入后台,在
系统 -> 系统用户管理里,把非你本人的账号全部删除,然后去核心 -> 批量操作 -> 数据库内容替换,搜索eval(和base64_decode(,如果搜索结果里有内容,恭喜你,找到了木马特征码,把对应记录改成空。 - 第三步:文件“消毒”,用FTP下载整个网站源码,用本地文本编辑器(Notepad++)批量搜索
@include和assert这两个词,凡是引用了/data/目录下tmp_前缀文件的模板,全部删掉,把.user.ini和.htaccess文件里所有包含auto_prepend_file的代码行注释掉。 - 第四步:重置“门锁”,修改数据库密码(后台->系统->SQL命令行工具里执行
SET PASSWORD),并修改后台管理员密码为15位以上含大小写和特殊字符的组合。
第五件事:日常巡检清单(每周一次,10分钟)
别懒,把这几个动作当成习惯:
- 看“日志”:后台
系统 -> 系统日志里,重点看凌晨0点到5点的登录记录,如果有非你IP段(比如来自国外)的失败记录,立即封禁该IP。 - 看“文件”:在FTP里,按“修改时间”排序,查看最近24小时内被修改的文件,正常情况只有
/data/cache下的随机缓存文件变动,如果/templets或/uploads有新增PHP文件,马上删除。 - 查“后台地址”:用无痕浏览器访问你的域名加
/dede(或你改过的路径),如果返回的是“无法访问”或跳转到“404”,才是安全状态。
建站不易,被黑的一刻确实很崩溃,但记住,织梦的安全性不在于它的代码有多完美,而在于你运维时的每一个细节,按上面的步骤操作一遍,再配上一台带基本防篡改的云服务器,你的站就能安安稳稳地陪你“吃”流量红利。
我是老刘,一个在织梦坑里爬了十几年,最擅长给“老宅子”修修补补的运维手艺人,你的站点安全,就是我的服务区,今天先讲到这,有任何报错或诡异现象,评论区见。



发表评论