网站被植入Webshell的解决方案
什么是Webshell
从字面上理解,”Web”指需要服务器开放Web服务,”shell”指取得对服务器的某种程度的操作权限。Webshell指匿名用户(入侵者)通过网站端口,获取网站服务器的一定操作权限。
Webshell通常是以ASP、PHP、JSP、ASA或者CGI等网页文件形式存在的一种命令执行环境,也称为网页后门。黑客在入侵网站后,通常会将Webshell后门文件与网站服务器Web目录下正常的网页文件混在一起;然后使用浏览器来访问这些后门,得到命令执行环境,以达到控制网站或者Web系统服务器的目的。
黑客如果想使用Webshell完成一些特殊的功能,就不可避免地用到一些特殊函数。通过对这些函数进行对照特征值检查,就能够定位Webshell,但是Webshell本身也会进行加密来躲避这种检测。
Webshell 样例
以下是一个ASP Webshell的样例。从界面看,它的功能还是比较全的,可以对服务器的文件目录进行读写操作。如果你是网站管理员的话,肯定不希望普通用户获得下面的权限。

Webshell如何被注入
常见的Webshell植入方式以下类型:
利用站点上传漏洞,上传Webshell。
系统前台的上传业务可被利用来上传Webshell脚本,而被上传的目录往往对用户开放可执行权限。在Web中有上传图像、资料文件的地方,上传完后通常会向客户端返回上传文件的完整URL信息;该URL一般是常见的image、upload等目录。
如果Web服务器对网站存取权限或者文件夹目录权限控制不严,就可能被利用来实现Webshell攻击。攻击者可以利用上传功能上传一个脚本文件,然后通过URL访问并执行这个脚本;然后攻击者就可以上传Webshell到网站的任意目录中,从而拿到网站的管理员控制权限。
黑客获取管理员的后台密码,登录到后台系统,利用后台的管理工具向配置文件写入Webshell木马;或者私自添加上传类型,允许上传类似ASP、PHP格式的脚本程序文件。
利用数据库备份与恢复功能获取Webshell。例如,备份时把备份文件的后缀改成 .asp;如果后台有MySQL数据查询功能,黑客可以执行
select..in To outfile查询输出PHP文件,并把代码插入到MySQL,从而生成Webshell的木马。系统中其他站点被攻击,或者服务器上还搭载了FTP服务器。FTP服务器被攻击时被注入了Webshell的木马,导致网站系统被感染。
黑客直接攻击Web服务器系统漏洞,实现入侵。Web服务器在系统层面也可能存在漏洞,如果黑客利用其漏洞攻击服务器系统;在获取其权限后,黑客就可以在Web服务器目录里上传Webshell文件。
综上,Webshell能够入侵到系统,一般是由于以下原因:
通过Web站点漏洞上传Webshell。
Webshell能够被注入,在很大程度是由于服务器或中间件的安全漏洞。例如,以下常见漏洞都可能被利用来注入Webshell:旧版本的IIS目录解析漏洞、文件名解析漏洞、应用后台暴露和弱口令、Fast-CGI解析漏洞、Apache文件解析漏洞、截断上传、后台数据库备份功能上传、数据库语句上传漏洞等。
站点部署时混入了Webshell文件。
大量的用户在使用从网上下载的第三方开源代码时,其代码本身已经混入了Webshell的恶意脚本,造成二次入侵或多次入侵。所以在部署前期,如果不是新开发的代码,都需要对代码进行恶意文件扫描查杀,防止上线后被入侵。
如何防止系统被植入Webshell
配置必要的防火墙并开启防火墙策略;防止暴露不必要的服务,为黑客提供利用条件。
对服务器进行 安全加固。例如,关闭远程桌面功能、定期更换密码、禁止使用最高权限用户运行程序、使用HTTPS加密协议。
加强权限管理,对敏感目录进行权限设置,限制上传目录的脚本执行权限,不允许配置执行权限等。
安装Webshell检测工具,发现检测结果后,立即隔离查杀,并排查漏洞。
排查程序存在的漏洞,并及时修补漏洞。您可以通过应急响应服务人工界入,协助排查漏洞及入侵原因,同时可以选用阿里云商业Web应用防火墙进行防御,降低被入侵机率。
网站被植入Webshell的解决方案的更多相关文章
- Web应急:网站被植入Webshell
网站被植入webshell,意味着网站存在可利用的高危漏洞,攻击者通过利用漏洞入侵网站,写入webshell接管网站的控制权.为了得到权限 ,常规的手段如:前后台任意文件上传,远程命令执行,Sql注入 ...
- PHP 实现多网站共享用户SESSION 数据解决方案
PHP 实现多网站共享用户SESSION 数据解决方案 来源URL:http://blog.csdn.net/dongdongzzcs/article/details/6906613 一.问题起源 稍 ...
- 精通Web Analytics 2.0 (12) 第十章:针对潜在的网站分析陷阱的最佳解决方案
精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第十章:针对潜在的网站分析陷阱的最佳解决方案 是时候去处理网站分析中最棘手的一些问题了,然后获得属于你的黑带,这是成为分析忍者的 ...
- session共享原理以及PHP 实现多网站共享用户SESSION 数据解决方案
参考自: http://www.cnblogs.com/qulinke/articles/6003049.html https://segmentfault.com/q/101000000578847 ...
- 浅析门户网站体育赛事CDN加速解决方案
经过近些年来的高速发展,互联网已经成为现今媒体传播的主要力量.这一点在大型体育赛事的报道与转播上,体现的尤为明显.更及时的信息内容.更多样的报道形式.更齐全的资料组成.更方便的阅读查询.更具互动性的报 ...
- 从浅入深详解独立ip网站域名恶意解析的解决方案
立IP空间的好处想必大家都能耳熟闻详,稳定性强,利于seo等让大家选择了鼎峰网络香港独立IP空间.那么, 网站独享服务器IP地址,独立IP空间利于百度收录和权重的积累.不受牵连.稳定性强等诸多优势为一 ...
- .net网站iis应用池完美解决方案
一.防DDOS攻击11条: 1.确保所有服务器采用最新系统,并打上安全补丁.计算机紧急响应协调中心发现,几乎每个受到DDoS攻击的系统都没有及时打上补丁. 2.确保管理员对所有主机进行检查,而不仅针对 ...
- 我与网站的日常-webshell命令执行
本文比较基础,其中有一个知识点关于php执行系统命令的函数 ,我们用最简单的webshell来说说传值问题的影响, 本文作者: i春秋签约作家——屌丝绅士 0×01前言: 小表弟又来写文章了,这 ...
- Web网站高并发量的解决方案
摘要: 一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构.性能的要求都很简单.随着互联网业务的不断丰富,网站相 ...
随机推荐
- SPL标准库-数据结构
数据结构:栈 );] = ;] = ;var_dump($array); 来自为知笔记(Wiz)
- Ingeter与int的比较
,Ingeter是int的包装类,int的初值为0,Ingeter的初值为null.但是如果面试官再问一下Integer i = 1;int ii = 1; i==ii为true还是为false? 首 ...
- Flask web开发之路十四
今天开始Flask的实战,创建一个项目,实现包括用户登录.注册.注销.发表博客.评论以及检索等功能 首先给出项目结构: 1.config.py文件: 存放各种配置信息 import os # dial ...
- KMP 算法详解
之前模模糊糊的理解了KMP,结果由于并不是完全弄清楚而导致自己在一道题目上疯狂的T,似乎是next函数写的有问题,于是痛心疾首的回来写一篇报告,警示自己 对KMP来说,匹配串的next数组是重中之重, ...
- CentOS-6.9安装配置JDK-7
CentOS-6.9安装配置JDK-7 安装说明 系统环境:centos-6.9安装方式:rpm安装 软件:jdk-7u79-linux-x64.rpm下载地址:http://download.ora ...
- MySQL获取分组后的TOP 1和TOP N记录-转
有时会碰到一些需求,查询分组后的最大值,最小值所在的整行记录或者分组后的top n行的记录,在一些别的数据库可能有窗口函数可以方面的查出来,但是MySQL没有这些函数,没有直接的方法可以查出来,可通过 ...
- python面向对象:类方法
类的方法包括以下几种: 构造方法 :__init__(self,) 析构方法 :__del__(self) 类方法@classmethod.实例方法.静态方法@staticmethod 一.构造方法 ...
- xcode工程编译错误:一般错误总结
1.Apple LLVM 8.0 Error Group /’all-product-headers.yaml’ not found 最近升级了xcode打包后出现了个BUG,记录解决的方法. 现象: ...
- 用2个DATETIMEPICKER分别输入时间和日期,再合并成一个DATETIME类型
DtpDate为日期的,DtpTime为时间的 StrToDateTime(FormatDateTime('yyyy-MM-dd', DtpDate.Date) + ' ' + TimeToStr(D ...
- axios的特点有哪些?
1.axios是一个基于promise的HTTP库,支持promise的所有API: 2.它可以拦截请求和响应: 3.它可以转换请求数据和响应数据,并对响应回来的内容自动转换为json类型的数据: 4 ...