细谈Webshell交互原理

admin 2021-05-27 PM 106℃ 0条

什么是Webshell

  • webshell的简介
      顾名思义:指的是在Web服务器上的一种用可执行脚本语言编写的脚本程序,其大多是以ASP、PHP、JSP或者CGI等网页文件形式存在的一种命令执行环境,可以把Webshell看做Web服务器的一个在线管理工具(网页后门),shell是指取得对服务器某种程度上对操作权限。一般Webshell拥有较大的管理权限,webshell一般是用来被网站管理员用于网站管理、服务器管理等等一些用途,但是由于webshell的功能权限比较强大,可以上传下载文件,查看数据库,也可以调用一些服务器上系统的相关命令(例如创建用户,修改删除文件等),所以也叫做Webadmin。  
  • webshell的分类
    webshell的分类

  webshell根据脚本类型可以分为PHP脚本木马,ASP脚本木马,也有基于.NET的脚本木马和JSP脚本木马。在国外,还有用python脚本语言写的动态网页,当然也有与之相关的webshell。
  根据功能分为大马与小马,小马通常指的是一句话木马,有体积小、功能简单的特点,起到一个基础的权限控制,相比小马而大马的工作模式则简单的多,没有客户端与服务端的细区别,可以简单理解成把一句话木马的服务端整合到了一起,通过任意文件上传漏洞将大马上传,在网页页面上直接执行对web服务器的渗透工作。

  • Webshell的特点
    1、Webshell大多是以动态脚本形式的出现。
    2、Webshell“可以穿过服务器防火墙”,由于与远程主机交换的数据是通过80端口传递的,因此不会被防火墙拦截。
    3、Webshell一般不会在系统日志中留下记录,只会在网站的web日志中留下一些数据提交记录,隐藏性好
    4、Webshell编码加密类型繁多,自由度高,导致查杀困难。
  • 工作原理
      客户端通过Webshell远程连接到服务器,通过一些命令函数来执行通过HTTP请求中“GET参数”传递过来的命令,对服务器进行操作。例如:<?php system($_GET['cmd']);?>
  • 总结
      Webshell编码简单、使用方便,但由于许多Web服务器的安全设置问题,即使是一个简单的脚本也足以造成严重的破坏。这就是为什么有成千上万的公开Webshell的原因所在。Webshell存在如此多的变种,导致入侵检测和入侵防御系统(IDS/IPS)很难检测到它们,尤其是当使用签名来检测此类Webshell时。有些Webshell非常复杂,即使进行行为分析,也几乎无法检测到。

  话虽如此,但Webshell只是漏洞利用后的实施工具,这就意味着首先要尽早检测出Webshell,防止其上传后进行漏洞利用。

标签: #Webshell

非特殊说明,本博所有文章均为博主原创。

评论啦~