教你6招轻松搞定 网站被木马反复篡改

news/2024/5/4 23:35:56/文章来源:https://blog.csdn.net/PLAIDC/article/details/128159235

在这里插入图片描述

提到网络被恶意篡改,应该让很多做了百度竞价的企业官网怀恨已久了吧?这类行为的目的就是通过这些受害网站获得排名并跳转到违法网站,达到不法的目的。对于企业来说不但损失了百度竞价的费用,还对企业形象造成很大的影响。甚至直接导致网站被空间商关闭或被有关机构删除。

那遇到这种情况该怎么解决呢?这就要具体分析原因了。以下我们介绍的每一步都很关键,这也是我们在网络安全这个行业,总结出来的经验。

第一步,先临时恢复首页:

我们发现这种情况都有个共同点,就是网站首页给篡改了,如果原先首页为动态文件的话,则会被删除,然后替换成了一个静态文件,比如html或htm格式的index或default文件。Title、Description改成了Unicode编码,用户看不见具体内容,但搜索引擎会解释成文字,这也是为什么搜索看到网站结果是被篡改后的内容。而且加入了一些Js,会判断凡是通过百度会的访问就会做跳转。

首先我们删掉该被篡改的文件,从备份中恢复首页文件。注意,这只是第一步,是临时先恢复首页的方法,因为没多久后,这个文件又会被替换和篡改掉。不管怎么样,先把网站的门面给恢复。包括之后的操作中,也要随时注意首页的恢复,不要不耐烦,一旦发现被篡改,就先马上恢复首页再说。

第二步,比对全站代码:

首先自己手上得有一套完整的网站备份,特别是代码的备份。直接登录服务器或FTP链接到网站目录,比对各目录和文件与备份的目录和文件的差异。注意,必须细化到每个目录,不论目录层次多深,逐一比对。有时候会发现一些奇怪的文件名,比如PHP写的网站会出现ASP扩展名的文件,上传目录中会出现动态文件,一些藏得很深的目录中出现了不该有的文件。可以采用一些小技巧加快排查速度,比如通过文件更新时间排序。如果能远程登录服务器的话,这个工作可以借助一些文件比对工具来做辅助。把所有发现的可疑文件删除,或者改掉文件名。

如果你有兴趣的话,可以打开这些文件的代码,一般能查到明文的密码,通过网址访问这些文件,输入密码后会发现是个可以操控整台服务器的脚本,甚至可以执行Dos命令,访问各盘符各目录,任意在系统中植入和删除文件。

这第二步会花费很长时间,其实主要就是细心,不漏过一点蛛丝马迹。

第三步,分析访问日志:

部分虚拟主机空间商能提供访问日志,或者云主机自己配置web service记录每天的访问。通过访问日志,查看最近有没有访问比较奇怪的目录和文件,并且这些奇怪的文件来自哪些IP。通过这种方式反查到服务器中存在的恶意文件。

但有时候会发现一个奇怪的现象,通过FTP或云主机目录中看不到这个文件,即使打开查看隐藏文件的选项仍然查看不到,但通过网站却能访问到该文件。遇到这种情况,云主机的话,通过Dos命令能查找到并删除该文件。虚拟主机的话比较麻烦,可以联系空间商,或者通过一些手段先上传一个同名的可查看文件,会覆盖掉隐藏文件,然后再删除。如果遇到权限等原因无法删除的情况,联系空间商处理有时候更快捷。

通过访问日志,还能分析来自哪个IP或哪些IP经常访问这些恶意植入的文件,可以先屏蔽掉这些IP或IP网段。记得将来取消屏蔽,特别是屏蔽网段的情况下。

第四步,寻找漏洞:

接下去,我们需要寻找造成这种问题的原因。否则不解决原因,以上问题还是会持续发生。

首先是服务器漏洞,这对于云主机来说是需要重点考虑的,这工作其实应该平时日常就要做好,而不是出了问题再做。记得定期更新补丁,再安装防火墙,有条件的话安装企业级的商业版防火墙,没条件的话用免费版的个人防火墙也可以,再不行,总得开启win系统自带的防火墙吧。当然配置好自动定时更新,还有配置好一旦发现病毒的自动处理逻辑即可。

我们遇到过一个国企大客户,他们的一台最主要的云主机,居然3年多没有更新过补丁,也没有安装任何防火墙,直到服务器上的多个网站被篡改了,系统被木马搞的实在跑不动了才想到找我们解决。其实这事情是日常的工作,平时花不了多少功夫,但出了问题可就是大问题了。

除了服务器漏洞,还可能是网站代码漏洞或限制不严谨,这就关系到程序编写人员的技术能力了,如果遇到这种情况,就需要和程序员一同寻找问题。程序逻辑是否有问题,是否有做文件上传限制等等。

环境配置引起的漏洞,这需要注意web service的配置,权限是否配置不合理,网站目录是否人为的设置了everyone或guest可写权限了。文件上传目录不该给予执行权限。

采用的第三方插件漏洞,比如网站中常使用的富文本编辑器的漏洞也需要注意,有些编辑器不是拿来就能用的,得配置其中上传功能,过滤掉不该上传的文件类型的文件名。还需要结合上面提到的,记得将文件上传目录的执行权限去掉。避免编辑器的目录放置在根目录,并且目录名采用默认的。这样漏洞直接就能被利用到。

(这里提示一下,有的文本编辑器在IIS环境下也会出现漏洞,需要特别注意。)

第五步,其他合理配置:

后台管理路径不要使用容易被人猜测到的文件名或目录名,比如admin。用户名和密码尽量设置复杂。FTP账号和远程管理账号也是如此,如果FTP服务不使用,暂时先停止掉。网站使用的数据库链接账号,Mssql不要使用sa,Mysql不要使用root,为网站单独创建账号,限制账号权限,更改数据库端口,禁止外链。关闭不需要的服务,关闭不需要的端口。结合防火墙进行配置,现在云服务器能直接配置安全策略,只开放使用的端口。如果需要经常外链方式管理服务器,最好通过代理组虚拟局域网加证书的形式。

第六步,观察和反复操作:

做好以上几步工作后,接下去就是持续观察了。如果首页还是被篡改,那说明网站中的恶意文件还没有清除干净,需要重复以上的多个环节,需要说明的是,只要一个恶意文件没有被清除,就会通过它引入几十个甚至上百个恶意文件的植入。所以耐心很重要,直到彻底清除干净,堵死所有漏洞清除所有恶意文件为止。
(我们遇到过很多客户的网站中被植入了几千个木马,而且还没有备份。我们的技术员只能手动一个个目录查看和分析,并且几乎24小时待命随时解决问题,最终花了一周半才彻底解决问题)。

总结:

以上这六步是比较常见的操作手法,遇到不同案例肯定得不同分析,定制不同的解决方案和侧重点,采用一些不同的小技巧。所以,没有技术能力解决的情况下,可在下方留言跟博主多多交流,我们有专业的技术人员为客户提供有针对性的安全产品和服务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_229654.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[附源码]计算机毕业设计springboot云南美食管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

svg路径动画

前言 最近在开发大屏看板,UI让做一个这样的效果 本来也简单,UI给个git动图放上就好了。但是UI给的图有四五十m,实在是太大了。后来想到了svg路径动画,之前从来没有搞过,就研究了下,由于svg没怎么研究过&a…

实现自定义Spring Boot Starter

实现自定义Spring Boot Starter一、原理二、实战1 自定义 Spring Boot Starter1.1 添加maven依赖1.2 属性类AuthorProperties1.3 自动配置类AuthorAutoConfiguration1.4 业务逻辑AuthorServer1.5 spring.factories2 测试自定义的 Spring Boot Starter2.1 新建module或者新建工程…

Compose 动画艺术探索之动画规格

本篇文章是此专栏的第四篇文章,如果想阅读前三篇文章的话请点击下方链接: Compose 动画艺术探索之瞅下 Compose 的动画Compose 动画艺术探索之可见性动画Compose 动画艺术探索之属性动画 动画规格在上一篇文章中提到过,不过上一篇文章中说的…

[附源码]JAVA毕业设计教材管理(系统+LW)

[附源码]JAVA毕业设计教材管理(系统LW) 目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术&#xf…

ARM mkv210_image.c 文件详解

一、mkv210_image.c 的使用演示 裸机程序中的 Makefile(实际上真正的项目的 Makefile 都是这样的)是把程序的编译和链接过程分开的。(平时我们用 gcc a.c -o exe 这种方式来编译时,实际上把编译和链接过程一步完成了。在内部实际…

[附源码]Python计算机毕业设计Django教学辅助系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

一文教会你如何在内网搭建一套属于自己小组的在线 API 文档?

Hello,大家好,我是阿粉,对接文档是每个开发人员不可避免都要写的,友好的文档可以大大的提升工作效率。 阿粉最近将项目的文档基于 Gitbook 和 Gitlab 的 Webhook 功能的在内网部署了一套实时的,使用起来特方便了。跟着…

[附源码]计算机毕业设计JAVA校园拓展活动管理系统

[附源码]计算机毕业设计JAVA校园拓展活动管理系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM my…

什么是【固件】?

文章目录一、软件 硬件 固件二、BIOS(Basic Input/output System)三、百度百科的解释四、固件的工作原理五、应用六、参考链接一、软件 硬件 固件 通常我们会将硬件和软件分开看待,二者协同工作为我们提供计算机的体验。硬件是摸得着的实体&…

SpringBoot中使用MySQL存用户信息, 日志的使用

SpringBoot中使用MySQL存用户信息 UserController类 package com.tedu.secboot.controller; import com.tarena.mnmp.api.SendParam; import com.tedu.secboot.entity.User; import com.tedu.secboot.util.DBUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory;…

[附源码]计算机毕业设计springboot在线图书销售系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

2023年天津天狮学院专升本市场营销专业《管理学》考试大纲

2023天津天狮学院高职升本科市场营销专业入学考试《管理学》考试大纲一、考试性质 《管理学》专业课程考试是天津天狮学院市场营销专业高职升本入学考试的必考科目之一,其性质是考核学生是否达到了升入本科继续学习的要求而进行的选拔性考试。《管理学》考试大纲的编…

LIO-SAM源码解析(四):imuPreintegration.cpp

1. 代码流程 2. 功能说明 这个cpp文件主要有两个类,一个叫IMUPreintegration类,一个叫TransformFusion类。 现在我们分开讲,先说IMUPreintegration类。 关于IMU原始数据,送入imuhandle中: 2.1. imuhandle imu原始…

[附源码]Python计算机毕业设计Django景区直通车服务系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,我…

【RTS】杜金房大神FreeSwitch分享笔记

技术万变不离其宗不管如何实现原理都是一样的。杜金房大神 RTS 高可用 一台机器上俩fs,公用同一个ip用户连接的是一个ip,不知道切了fs。两台主备数据同步

Ajax学习:同源策略(与跨域相关)ajax默认遵循同源策略

同源策略:是浏览器的一种安全策略 同源意味着:协议、域名、端口号必须相同 违背同源便是跨域 当前网页的url和ajax请求的目标资源的url必须协议、域名、端口号必须相同 比如:当前网页:协议http 域名 a.com 端口号8000 目标请求…

[附源码]JAVA毕业设计计算机在线学习管理系统-(系统+LW)

[附源码]JAVA毕业设计计算机在线学习管理系统-(系统LW) 目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项…

阿里云安装mysql、nginx、redis

目录 安装mysql 安装nginx ​编辑安装redis 先看一下系统基本信息 安装mysql rpm -qa | grep mariadb 卸载mariadb rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64 wget -i http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm yum -y install my…

【D3.js】1.17-给 D3 元素添加标签

title: 【D3.js】1.17-给 D3 元素添加标签 date: 2022-12-02 14:35 tags: [JavaScript,CSS,HTML,D3.js,SVG] 为了让图更易懂,我们给每一个rect添加上标签。 一、学习目标 如何添加text元素? .append(“text”) 如何设置text元素的值? .attr(…