服务热线
400-8531-676
在线客服
微信公众号
WebShell就是以ASP、PHP、JSP或者CGI等网页文件形式存在的一种命令执行环境,也可以将其成为一种网页后门。黑客在入侵了一个网站后,通常会将ASP或者PHP后门文件与网站服务器Web目录下正常的网页文件混在一起,然后就可以使用浏览器来访问ASP或者PHP后门,得到一个命令执行环境,以达到控制网站服务器的目的。顾名思义,“Web”的含义是需要服务器提供Web服务,“Shell”的含义是取得对服务器某种程度的操作权限。WebShell常常被入侵者利用,通过网站服务端口对网站服务器获取某种程度的操作权限。
在攻击链模型中,整个攻击过程分为以下几个步骤。
(1)Reconnaissance,踩点
(2)Weaponization,组装
(3)Delivery,投送
(4)Exploitation,攻击
(5)Installation,植入
(6)C2,控制
(7)Actions,行动
在针对网站的攻击中,通常是利用上传漏洞,上传WebShell,然后通过WebShell进一步控制Web服务器,对应攻击链模型的Install和C2环节。
常见的WebShell检测方法主要有以下几种:
(1)静态检测,通过匹配特征码、特征值、危险操作函数来查找WebShell的方法。只能查找已知的WebShell,并且误报率、漏报率会比较高,但是如果规则完善,可以减低误报率,但是漏报率必定会有所提高。
(2)动态检测,检测执行时刻表现出来的特征,比如数据库操作、敏感文件读取等。
(3)语法检测,根据PHP语言扫描编译的实现方式,进行剥离代码和注释,通过分析变量、函数、字符串、语言结构的方式,来实现关键危险函数的捕捉。这样可以完美解决漏报的情况。但误报上,仍存在问题。
(4)统计学检测,通过信息熵、最长单词、重合指数、压缩比等进行检测。
本章主要以常见的WebShell数据集为例介绍WebShell的检测技术,介绍WebShell使用的数据集以及对应的特征提取方法,介绍使用的算法以及对应的验证结果,包括朴素贝叶斯算法和深度学习算法之MLP、CNN。
11.1 数据集
数据集包含WebShell样本2616个,开源软件PHP文件9035个。WebShell数据来自互联网上常见的WebShell样本,数据来自GitHub上相关项目,为了演示方便,全部使用了基于PHP的WebShell样本。
CountVectorizer()函数只考虑每个单词出现的频率;然后构成一个特征矩阵,每一行表示一个训练文本的词频统计结果。其思想是,先根据所有训练文本,不考虑其出现顺序,只将训练文本中每个出现过的词汇单独视为一列特征,构成一个词汇表(vocabulary list),该方法又称为词袋法(Bag of Words)。
慧族网络是一家致力于移动互联网软硬件技术开发的公司,为您提供高端APP开发,管理软件,小程序定制,高品质网站设计等服务,目前公司拥有100余名国内顶尖的研发工程师,并且拥有丰富的成功案例和行业经验,我们将与您面对面沟通需求,原型对接清晰直观,采用一对一方式,一个专业团队,负责一个客户,个性化定制,从不套模板,后期免费维护,不收服务费 。
公司主营:小程序开发,APP开发,网站开发,系统软硬件定制,物联网开发等,技术成熟,经验丰富。聚焦电商、餐饮、教育、旅游、物联网、政府、高校、企业等领域,先后研发了多项具有核心自主知识产权的产品与系统平台,深受广大客户的好评。
软件开发找慧族,价格便宜又放心,咨询热线 :4008531676