如何修复被挂木马的php网站

简介:

有个朋友的网站长期没有人管理,而网站PR=4,于是网站被人攻陷,首页加上了上百条黑链,找我帮忙修复

看到首页密密麻麻的黑链,第一反应就是头大。最简单的办法:格式化后重装系统。但是这个服务器web/数据库都部署在同一台上,数据规模有200多G,当初安装的时候也没有分区,在线迁移数据太麻烦了,只能硬着头皮去修复问题,

修复步骤

  1. 停掉web服务,免得旧仇未报,又添新恨

  2. 找到被挂马的漏洞。一定要找到,不然问题根本解决不了。服务器被挂马主要是两种原因:sql注入或者某种系统性漏洞

    • sql注入,和代码有关系,不好查。但是只要你的Nginx/PHP不是以root身份运行的,最多被拖库,被挂马的可能性不大

    • 系统性漏洞,这个破坏性很大,但是都会比较著名,马上有人提供解决方案,搜索一下就能找到

    所以,找到被挂马的原因是: nginx文件类型错误解析漏洞,这个漏洞很严重,php网站只要支持图片上传都会中招

  3. 修补漏洞,nginx文件类型错误解析漏洞 这个漏洞比较好修复,在nginx configure文件里面配置一下即可

  4. 搜查木马文件,到代码安装目录执行下面命令

    find ./ -iname "*.php" | xargs grep -H -n "eval(base64_decode"

    搜出来接近100条结果,这个结果列表很重要,木马都在里面,要一个一个文件打开验证是否是木马,如果是,马上删除掉

    最后找到10个木马文件,存放在各种目录,都是php webshell,功能很齐全,用base64编码

  5. 清理现场, 去掉首页上的黑链,重启web服务

安全经验

  • 普通服务器被挂马,不用紧张,按上述步骤进行修复
  • 关键服务器(比如部署了用户资金/转账/交易 等服务),被挂马之后,必须要格式化重装,因为webshell的功能实在是非常齐全,攻击者很可能替换掉系统关键程序,比如sshd,nginx等,从此大门打开,随便进出
  • 服务器安装系统要分区,至少应该分 系统区和数据区 两部分,这样重装系统的时候可以不用迁移数据
  • 凡是提供外部端口的服务程序(web server,gate server),一定要用独立的用户运行,千万不要图省事,直接用root 

原文发布时间为:2013-09-10

本文来自云栖社区合作伙伴“Linux中国”

相关文章
|
3月前
|
程序员 网络安全 PHP
IIS使用PHPManager发布PHP网站
PHPManager是一款用于IIS(Internet Information Services)的工具,旨在简化在Windows服务器上发布PHP网站的过程。通过PHPManager,用户可以轻松管理PHP版本、配置PHP设置以及进行PHP应用程序的部署。这个工具提供了直观的用户界面,使用户能够更方便地与IIS服务器进行交互,而不需要深入了解服务器配置的技术细节。PHPManager的使用使得在IIS环境中托管和维护PHP网站变得更加便捷,提高了网站的部署效率和管理灵活性。
34 0
|
3月前
|
网络安全 PHP 开发者
IIS服务器发布PHP网站
IIS服务器,相信开发者都不会陌生,它的英文全称是Internet Information Services,是由微软公司提供的基于运行Microsoft Windows的互联网基本服务,常用于Windows系统的Web项目部署,本篇以PHP项目为例,讲解如何使用IIS完成PHP项目的发布。
56 0
|
3月前
|
JavaScript 数据可视化 IDE
分享21个广告排行、15个交友会员、25个网站导航和39个文件管理PHP源码,总有一款适合你
分享21个广告排行、15个交友会员、25个网站导航和39个文件管理PHP源码,总有一款适合你
40 0
分享21个广告排行、15个交友会员、25个网站导航和39个文件管理PHP源码,总有一款适合你
|
7月前
|
存储 自然语言处理 搜索推荐
php 外贸代购系统网站
php 外贸代购系统网站
74 0
|
3天前
|
存储 SQL 缓存
记录如何用php做一个网站访问计数器的方法
创建简单网站访问计数器,可通过存储访问次数的文件或数据库。首先,创建`counter.txt`存储计数,然后在`counter.php`中编写PHP代码以读取、增加并显示计数,使用`flock`锁定文件避免并发问题。网页通过包含`counter.php`展示计数。对于高流量网站,推荐使用数据库确保原子性和并发处理能力,或利用缓存提升性能。注意,实际生产环境可能需更复杂技术防止作弊。
|
3月前
|
PHP
HYBBS 表白墙网站PHP程序源码 可封装成APP
HYBBS 表白墙网站PHP程序源码 可封装成APP
34 1
|
3月前
|
前端开发 PHP
IIS发布PHP网站常见错误:字体库404
笔者最近在用IIS发布php网站时,前端出现了字体库文件404的错误,关于这个问题,尝试了很多办法,最终发现是字体文件类型不被IIS识别导致的,解决方法是在config文件中添加映射配置,下面我就来详细介绍下。
32 5
|
6月前
|
小程序 PHP
[微擎]多系统共用accesstoken修复wifi小程序文本敏感词汇检测+图片检测原生php(可用)
[微擎]多系统共用accesstoken修复wifi小程序文本敏感词汇检测+图片检测原生php(可用)
|
7月前
|
监控 Linux PHP
Linux(CentOS7上演示)上使用LNMP搭建一个PHP的运行环境,并搭建一个开源的个人博客网站I(下)
Linux(CentOS7上演示)上使用LNMP搭建一个PHP的运行环境,并搭建一个开源的个人博客网站I(下)
54 0
|
7月前
|
关系型数据库 MySQL Linux
Linux(CentOS7上演示)上使用LNMP搭建一个PHP的运行环境,并搭建一个开源的个人博客网站I(上)
Linux(CentOS7上演示)上使用LNMP搭建一个PHP的运行环境,并搭建一个开源的个人博客网站I(上)
112 0