专栏首页黑伞攻防实验室网站被植入Webshell的解决方案

网站被植入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检测工具,发现检测结果后,立即隔离查杀,并排查漏洞。
  • 排查程序存在的漏洞,并及时修补漏洞

本文分享自微信公众号 - 黑伞攻防实验室(hack_umbrella),作者:黑伞团队

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-09-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • CRLF (%0D%0A) Injection

    当浏览器向Web服务器发送请求时,Web服务器用包含HTTP响应标头和实际网站内容(即响应正文)的响应进行答复。HTTP标头和HTML响应(网站内容)由特殊字符...

    用户2202688
  • DDOS终极防御

    何为DDOS:DDOS被称为分布式拒绝服务攻击,目的主要是让指定目标无法正常提供服务,是目前最强大,最难防御的攻击之一,是一个世界性的难题,并没有一个好的解决办...

    用户2202688
  • HTTP概述

    发现很多同学想学安全,上手就是一堆工具直接堆,成了就成了没成就拉到,个人感觉安全不仅仅是表面上的干进去了到索然无味!其中终端操作系统、网络架构、协议、...

    用户2202688
  • go语言的指针

    在学习go语言的时候,谈到了指针。之前很害怕指针,因为在传说中,指针这玩意儿据说狠不好弄,且有很多程序员都死在这上面。可是,这毕竟是go语言借鉴C语言为了提升速...

    李海彬
  • 将json数据格式化输出到控制台

    在做接口测试的过程中,大多数数据交互都使用json格式,但是在控制台输出json的效果远不如浏览器插件实现的漂亮。在找了一些资料后,决定自己写一个格式化输出js...

    FunTester
  • 跨终端体验设计,绕不开的用户槛儿 - 腾讯ISUX

    腾讯ISUX
  • 腾讯云免费提供云超算能力 助力中大清华抗新冠病毒药物研发

    ? 疫情牵动着每一个人的心,疫苗研发和药物筛选工作更是争分夺秒。 分离毒株、药物筛选、新药研发等需要进行大量的数据分析和科学超算工作。腾讯云具有强大的CPU...

    鹅老师
  • join

    left outer join 左外连接。跟据左边,去找右边的内容,如果左边有,右边没有对应的,就是null;如果左边没有,右边有,则不输出该条记录。

    _淡定_
  • Electron 应用的流水线设计

    Electron 是由 Github 开发,用 HTML,CSS 和 JavaScript 来构建跨平台桌面应用程序的一个开源库。

    LinuxSuRen
  • Python系列之三——人脸检测、人脸识别

    这是关于人脸的又一篇原创! 之前有利用C++和OpenCv写过人脸识别的系列文章,对于人脸识别的基本理解和步骤流程等基本知识不做反复叙述。比詹小白还要白的童鞋可...

    小小詹同学

扫码关注云+社区

领取腾讯云代金券