2024年4月26日发(作者:)

2021

年第

1

doi:10.3969/.1671-1122.2021.01.008

技术研究

一种基于高速网络的WebShell综合检测溯源

技术研究与实现

王跃达

1

,黄潘

2

,荆涛

3

,宋雅稀

1

(1.中国科学院计算机网络信息中心,北京 100190;2.北

龙泽

达(北京)数据科技有限公司,北京 100190;

3.中国科学院办公厅,北京 100864)

摘 要:WebShell是常见的Web脚本入侵攻击工具。攻击者将WebShell植入网站

服务器后可对网站服务器进行控制,获取服务器操作权限。WebShell通常嵌套在正常网

页脚本中,具有极强的隐蔽性,对网站自身及访问者带来极大危害。针对这些问题,文

章提出一种基于DPDK的高速网络流量分析检测技术,在高速网络环境中对网络流量

进行数据包捕获和解析,并通过特征码匹配的方式实现对WebShell的高效检测,同时

对WebShell文件和攻击者进行溯源分析。

关键词:WebShell;DPDK;流量分析;溯源分析

中图分类号:TP309 文献标志码: A 文章编号:1671-1122(2021)01-0065-07

中文引用格式:王跃达,黄潘,荆涛,等.一种基于高速网络的WebShell综合检测溯源技术研究与实现[J].

信息网络安全,2021,21(1):65-71.

英文引用格式:WANG Yueda, HUANG Pan, JING Tao, et al. Research and Implementation on WebShell

Comprehensive Detection and Traceability Technology Based on High-speed Network[J]. Netinfo Security, 2021,

21(1): 65-71.

Research and Implementation on WebShell Comprehensive Detection

and Traceability Technology Based on High-speed Network

WANG Yueda

1

, HUANG Pan

2

, JING Tao

3

, SONG Yaxi

1

(1. Computer Network Information Center, Chinese Academy of Sciences, Beijing 100190, China; 2. Beilong

Zedata (Beijing) Data Technology Co., Ltd., Beijing 100190, China; 3. Office of General Affairs,

Chinese Academy of Sciences, Beijing 100864, China)

Abstract: WebShell is a common Web script intrusion attack tool. By implanting

WebShell into the Website server, the Website server can be controlled and the server operating

program permissions can be obtained. WebShell is usually nested in normal Webpage scripts,

which has strong concealment and brings great harm to the Website itself and visitors. In

response to the above problems, this paper proposes a high-speed network traffic analysis and

收稿日期:2020-11-07

基金项目:国家重点研发计划[2017YFB0801902]

作者简介:王跃达(1982—),男,吉林,高级工程师,本科,主要研究方向为网络空间安全;黄潘(2000—),男,湖北,工程师,主

要研究方向为流量检测、网络攻击;荆涛(1979—),男,吉林,高级工程师,博士,主要研究方向为网络与信息安全、流量协议分析;

宋雅稀(1994—),女,河北,硕士,主要研究方向为网络安全。

通信作者:

65

技术研究

2021

年第

1

detection technology based on DPDK, which captures and analyzes network traffic in a high-

speed network environment, and realizes efficient detection of WebShell in traffic data packets

through feature code matching. At the same time, the WebShell file and the attacker are traced

and analyzed.

Key words: WebShell; DPDK; traffic analysis; traceability analysis

0 引言

随着互联网的高速发展及Web技术的不断成熟,

B/S(Browser/Server)架构应运而生。B/S架构也称为

浏览器/服务器体系结构,是对C/S(Client/Server)架

构的改进和发展,通过浏览器完成用户与各类业务系

统间的交互。然而在B/S架构带来便利的同时,也存

在一定的安全隐患。WebShell植入是针对B/S架构攻

击非常重要的一环,是攻击者在目标网站植入的aspx、

php、jsp等程序文件,或以代码形式存在的一种命令

执行环境,也可以将其视为一种网页后门

[1]

。网页后

门是黑客成功入侵网站服务器后留下的后门程序。通

过在网站的特定目录上传远程控制脚本程序,黑客可

以暗中对网站服务器进行远程控制,上传、查看、修

改、删除网站服务器文件,读取并修改网站数据库数据,

甚至可以直接在网站服务器上运行系统命令。2019年

CNCERT/CC共监测到我国境内84850个网站被植入后

[2]

。WebShell具有编码简单、使用方便的特点,一个

非常简单的脚本也足以造成严重的破坏

[3]

。但WebShell

只是漏洞利用过程一环,如何快速检测出网站服务器

是否被植入WebShell文件或代码,对B/S架构的Web

站点安全来说至关重要。

目前针对WebShell的特征检测技术,通常是Server

端特征比对及文件属性异常检测等静态检测,这种检

测方式对于数据中心或服务器数量较多的大型Web系

统部署过于复杂,同时也会对服务器负载产生压力。

另外,还可以基于访问情况、行为模式特征等动态检

测方式在网络流量中发现其异常行为,但对于高速网

络环境中如何完整、高效、快速地捕获数据包是一个

难点。本文提出一种基于数据平面开发套件(DPDK)

的高速网络流量分析检测技术,可对高速网络环境中

66

的网络流量进行数据包捕获和解析,并通过特征码

匹配的方式实现对WebShell的高效检测,还可实现对

WebShell文件和攻击者的溯源分析。

1 研究背景

1.1 DPDK介绍

基于传统操作系统内核的数据采集机制丢包率高、

吞吐量低,难以满足高速网络环境需求。当前高速网

络环境中,高性能系统需要在极其有限的时间内成功

收集和处理大量数据,因此如何高效、完整、快速捕

获数据包,是准确分析网络数据的基础以及进行下一

步管控的关键

[4]

。传统的收发报文方式必须采用硬中

断进行通信,每次硬中断大约消耗100 μs,其中还不包

含因终止上下文带来的Cache Miss。数据需在内核态

与用户态之间切换复制,这会带来大量CPU消耗及全

局锁竞争。收发包都会产生系统调用开销。为了全局

一致,即使采用Lock Free,也无法避免锁总线、内存

屏障带来的性能损耗。从网卡到业务进程经过的路径

过长,某些框架会产生一定的消耗且容易Cache Miss,

如Netfilter框架。因此无法适应当前网络场景对于大规

模高速数据处理的需求,成为服务器报文处理的性能

瓶颈。

DPDK技术的提出为加速网络I/O提供了新的思路

和解决方案

[5]

。DPDK技术主要基于Linux系统运行,

用于快速数据包处理的函数库与驱动集合,可极大提

高数据处理性能和吞吐量,提高数据平面应用程序的

工作效率。DPDK通过UIO技术将报文复制到用户空

间进行处理,从而绕过内核协议栈;通过大页内存提

高TLB命中率,降低TLB miss开销,进而提高CPU访

问速度;通过CPU亲和性将网卡和线程绑定到固定的

core,减少CPU任务切换;通过无锁队列减少资源竞争;

解决了网卡收包慢的问题。目前DPDK技术已广泛应

用于安全监控、流量分析等需要对网络出口的流量数

据包进行分析的场景

[6]

1.2 WebShell检测

目前WebShell特征检测方法有静态特征检测和

动态特征检测两种。静态特征检测指攻击者在上传

WebShell文件时,通过匹配静态特征(特征码、特征值、

危险函数等)的方式来发现WebShell。也就是说,由

于不同的Web语言存在不同的特征,静态检测时需要

先建立一个恶意字符串特征库,然后在各类脚本文件

中检查是否与其匹配。静态检测方法快速方便,对已

知的WebShell查找准确率较高。通常正常程序本身也

包含WebShell文件中的一些特征字符串,这样就会出

现误报问题

[7]

。例如,用户普通文本文件信息也可能

包含这些关键特征串的信息。因此攻击者通过更改变

量名函数名可以达到免杀目的。

动态特征检测指WebShell文件在执行过程中,通

过匹配其动态特征发现WebShell。WebShell文件上传到

Web服务器后,用户在浏览器打开WebShell页面时会

被拦截,这种情况下从网络检测到的WebShell是Web

应用程序被解释执行的代码

[8]

。只要攻击者对WebShell

稍加改动就可以轻易躲避设备检测从而导致漏报,并

且需要不断更新Webshell特征库,维护量非常庞大。

2 技术架构

本文将DPDK和WebShell检测相结合,在高速网

络流量中利用DPDK进行流量采集并使用特征挖掘等

技术进行特征提取,实现对高速网络流量中的WebShell

行为的检测、分析和溯源。首先在网络出口通过分光

器将镜像出来的流量从核心交换机传输到DPDK应用

服务器;然后通过DPDK服务器实现在高速网络环境

中对数据包的采集、解析和提取,并通过特征匹配方

式在DPDK提取的数据包中进行WebShell检测。最后对

数据包内容进行深度分析,实现对WebShell文件及攻

击者的溯源。基于高速网络的WebShell综合检测溯源

技术架构如图1所示。

2021

年第

1

技术研究

安全预警

安全预警

WebShell

批量脚本

模块

链接提取

验证

预警通告

数据存储

网页木马流量存储

模块

流量分析流量分析流量分析

流量分类

流量检测

模块

流量解析

流量采集

流量采集

DPDK

模块

流量镜像流量镜像

流量存储

模块

网络真实流量

图1 基于高速网络的WebShell综合检测溯源技术架构

3 DPDK实现

3.1 高速网络捕获数据包

为了更全面解决软件方式的数据包转发和捕获效

率低的问题,6WIND、Intel等公司针对Intel的CPU和

网卡开发了DPDK。DPDK可以帮助用户将控制面和数

据面平台进行整合,从而有效执行数据包处理。DPDK

提供了X86平台下的报文数据包处理库和驱动集合,

包括数据包的接收和发送等模块。本文利用DPDK提

供的模块实现网络数据捕获,在DPDK转发函数中调

用数据并传参到自定义函数,提取关键信息,从而实

现数据包的捕获和匹配工作。

3.2 数据结构包解析

DPDK为高速数据结构报文的处理提供了实用的

工具库。rte_mbuf为缓冲区管理组件,用于内存分配创

建和数据缓冲区销毁。mbuf是报文描述的结构体,是

整个转发过程最核心的数据结构之一。为了高效访问

数据,DPDK将内存封装在mbuf(Struct rte_mbuf)数

据包结构体内。mbuf主要用来封装网络帧缓存,也可

用来封装通用控制信息缓存。rte_mbuf的结构与Linux

67

技术研究

2021

年第

1

内核协议栈的skb_buf相似,在保存报文的内存块前后

分别保留headroom和tailroom,以方便应用解封报文。

headroom默认128字节,可以通过宏RTE_PKTMBUF_

HEADROOM调整。mbuf是用来存储数据的buf,如

图2所示。buf_len的大小通常是4096字节,数据分为

headroom、data和tailroom 3个区域。

Struct rte_mbuf *m

m->buf_len

Rte_mbuf

headroom

data

tailroom

m->_len == m->_len

m->buf_addrm->buf_data

图2 mbuf示意图

可以通过计算m->-m->buf_addr得到headroom

的长度,通过计算m->buf_len-m->_len- headroom_

size计算tailroom的长度。通过DPDK官方的结构体指

针偏移函数可以直接将数据解析到相应的协议头结构

体变量中,其顺序为DPDK数据包结构体mbuf、二层

链路结构体头部、IP头部、TCP头部、HTTP流量信息。

3.3 HTTP数据包提取

为了实现对数据包的检测,需要进入数据帧的

应用层区分不同的应用数据。首先将数据帧进行剥离

直至应用层,进而分析HTTP报文特征,比对各应用

层各种应用的特征,进行分类识别。HTTP流量是基

于TCP协议的,为提高检测效率和精度,需过滤掉非

TCP数据包,判断TCP连接状态是否为正常连接状态。

本文在取出TCP数据包后,使用相关自定义函数确认

当前数据包是否存在HTTP数据包关键字,以此判断

该数据包是否为HTTP数据包。

由于数据包载荷部分会出现不同字符,只通过数

据包数组中是否存在HTTP协议头关键字来判断数据

包是否为HTTP数据包存在误匹配情况。本文提取数

据包的前几个字符形成HTTP数据包前置变量,再与

HTTP数据包关键字进行匹配,从而避免误匹配情况。

68

4 WebShell特征提取方法

WebShell特征有多种,包括WebShell的文件名、

数据包大小、请求头部、网络流量中的关键字等

[9]

本文主要基于WebShell文件名和通信流量两种特征进

行特征提取。

4.1 基于文件名的特征提取

WebShell是由黑客编写完成,并命名为具有明显

特征的文件名,再发布到网络上。很多攻击者直接将

WebShell传到目标网站,不重命名,即使重命名,为

了便于WebShell管理,通常会命名为一些比较特殊且

具有一定隐蔽性的、便于记忆的、易于混淆管理员视

线的WebShell名称,如、、等。

一般基于WebShell文件名特征的分析方法主要采集大

量的网页木马数据,并将名称提取出来作为匹配特征。

本文收集的部分WebShell名称特征如表1所示。

表1 WebShell页面名称特征示例

ASP木马ASPX木马脚本格式木马JSP木马PHP木马

up_win32.

php

rootkit-asp

WebAdmin2xE.

aspx

4.2 基于通信流量的特征提取

在流量分析中可以进行包的载荷检测,也就是

对数据包的内容进行检测。分析木马特征时需模拟

WebShell连接,然后抓取其交互数据包进行分析。在

分析WebShell流量过程中发现很多辨识度非常高的

WebShell特征,这些特征比将文件名作为特征进行

WebShell识别更加有效、准确。以WebShell管理工具

中国菜刀为例,本文对其在访问传输中产生的流量进

行特征分析。使用中国菜刀默认的WebShell模拟植入

目标系统后,WebShell访问过程产生的通信流量中请

求包和响应包如图3所示。

4.2.1 请求包分析

对中国菜刀WebShell的请求包进行分析,可以发

a)请求包

b)响应包

图3 请求包和响应包

现其主要包含以下4项内容:

1)访问WebShell的密码;

2)与WebShell建立连接使用的字符编码类型,如

GB312、UTF8;

3)利用WebShell执行的命令;

4)对WebShell连接工具进行的字符混淆信息。

在特征匹配的过程中,可以将数据包中的固定关

键字做为特征码。例如,WebShell连接的密码一般为

工具的默认连接密码chopper、caidao等。也可将数据

包中的固定格式作为特征,包括“&z0=” “&z1=”等头部

信息包含的内容。

通过对大量的WebShell请求包进行分析发现,

WebShell请求包的头部格式相对固定,主要包括明文

密码、随机值、字符编码和执行命令等。以中国菜刀

2021

年第

1

技术研究

为例,z1的值“C:”是执行C分区根目录查看命令,可

以将z1和所执行的命令作为匹配特征。分段格式中的

“&z0=” “&z1=” “&z2=”包含不同的连接信息,这个固

定的格式也可以作为特征进行匹配。

4.2.2 响应包分析

通过分析请求包可知,该条通信目的是查看C分

区的根目录结构,如果执行成功,将返回C分区根目

录下的内容,如图4所示。

图4 执行成功返回根目录下内容

通过分析响应包可以发现其中包含的目录信息,

也就是中国菜刀执行“C:”命令得到的响应信息。这些

响应的字段为明文显示的目录路径或文件名称。一般

情况下仅FTP网站传输时存在明文目录路径和文件名

称,如果在HTTP数据包中存在这些信息,则可以直

接判定为可疑数据包。在响应包中可以看到特征“X@

Y”。通过分析大量中国菜刀WebShell的响应数据包可

以发现,“X@Y”特征是一直存在于响应包中的一个固

定字段。因此,同样也可以将该固定字段作为匹配特征。

通过上述分析方法可以得到该WebShell的特征,再

根据相应特征对传输流量中的HTTP数据包进行匹配,

若命中,则可获得同类WebShell的相关情报。本文将“X@

Y”作为关键字,使用KMP直接匹配HTTP数据包载荷

部分存在“X@Y”字符串的数据包,检测WebShell;也

可以将关键位置的文件路径或文件名等信息作为特征,

使用正则表达式匹配HTTP数据包载荷部分存在相关文

件路径或文件名称信息的数据包检测WebShell。根据以

上方法的检测结果判断是否命中,即可判定该数据包

是否为可疑数据包或WebShell响应包。

对于加密的请求包,本文通过Base64、URLDecode

等相关算法提取HTTP数据包载荷部分的密文进行解

69

技术研究

2021

年第

1

密,再匹配相应的特征。另外,由于WebShell是一个

网页文件,使用加密的请求包访问WebShell时,其密

文格式也是固定的,因此本文通过匹配固定的密文格

式判断该数据包是否为WebShell数据包。

5 检测和溯源

WebShell的工作机制为通过post请求的方式向服

务器传递恶意命令,达到控制目标服务器的目的。网

页木马主要分为大型网页木马和小型一句话木马两种

类型,其原理都是通过调用系统函数执行WebShell传

入的恶意命令。因为WebShell是基于HTTP协议运行的,

传输的流量均为HTTP数据包,所以本文使用KMP和

正则表达式均可进行高效匹配。

通过静态检测方法使用KMP匹配算法

[10]

只对已

知模式的攻击进行检测,循环读取特征库中静态文本

特征,如关键字、特征码、危险函数等,并与HTTP

流量中的关键字或者函数进行匹配,如果匹配成功,

则将命中信息写入记录文件。动态检测使用正则匹配

算法,调用正则匹配函数对特征库中敏感行为特征及

文件的运行状态进行监控,并与HTTP流量进行正则

匹配,若匹配成功,则将相关信息写入记录文件。

正则匹配算法和KMP匹配算法的区别是,正则表

达式直接定义特征,而KMP需要进行循环读取特征库,

两种方法各有所长。在实际应用中,本文将KMP算法

和正则匹配表达式相结合,根据WebShell主要特征使

用正则表达式进行匹配,并通过KMP算法进一步匹配

其是否存在非主要特征以佐证是否存在网络木马,进

而提高准确率。

对于在加密流量中传输的WebShell,首先通过特

定函数或正则表达式获取WebShell中相关特征的Base64

密文。例如,Y21K就是cmd的Base64加密密文。然后

通过KMP以及正则表达式在HTTP流量数据包中匹配

解密后的恶意命令,判断该数据包是否存在WebShell

传输行为。

WebShell检测技术首先通过DPDK技术对高速网

络的数据包进行捕获,并对rte_mbuf数据结构进行解

70

析,提取其中的HTTP数据包。然后根据已知的特征

库,调用KMP算法和正则表达式,对转换为字符串

格式的流量包进行关键字匹配。命中的数据包即为含

有WebShell信息的数据包。得到包含WebSehll信息的

数据包后,还需进一步处理,从高速缓存的链表中检

索与数据包IP相关的数据包结构体,并形成时间格式

文件,以便对整个Webshell的连接与执行操作过程进

行溯源分析。由于该数据包匹配的是HTTP流量,所

以请求的网页页面即是WebShell文件。本文直接访问

post请求包中的host和路径就能打开WebShell界面,若

命中的流量较多,则单独提取host和路径,并组合成

URL,通过Socket发送HTTP报文,以验证相关页面是

否能够正常访问。

在攻击溯源过程中,通过抓包软件捕获报文的

方式进行溯源,在匹配到WebShell流量的同时在数据

包中检索与当前WebShell的源IP相关的流量。基于

DPDK或大流量捕获的方式进行溯源时,从全流量设

备中查询已经匹配的网页木马流量IP,并查询与其相

关流量情况,进而溯源分析网页木马流量文件以及攻

击利用网页木马的相关操作痕迹。

6 实验及分析

6.1 环境部署

为验证DPDK高速宽带下WebShell检测技术的准

确性和实用性,本文部署1台服务器用于分析某骨干

网镜像流量。服务器光纤直连分光器,使用DPDK进

行流量捕获分析。

6.2 流量分析结果

在总带宽为20 Gbps的流量中,每天平均匹配约

10000条疑似WebShell流量,每天平均检测到20多个

WebShell,所有匹配结果经过程序和人工处理验证,

能够识别中国菜刀、Webbacoo、蚁剑等免杀木马,其

中通过部分特征对WebShell木马流量进行检测的匹配

率和误报率如表2所示。由表2可知,对于WebShell木

马流量,大部分特征匹配率都很高,且有很低的误报

率,但也会出现匹配率低的情况。匹配率低是因为存

在流量中包含中文字符或者因数据问题导致乱码的情

况,因而载荷部分会出现特征字符串“X@Y”。此外,

还存在WebShell的响应信息由两个“X@Y”包裹的情况。

表2 基于部分特征检测的匹配率和误报率

WebShell特征检测数量/条/天检测匹配率误报率木马类型

getpwd=62100%0%网页大马

一句话木马、

@eval/%40eval2638100%0%

中国菜刀、

蚁剑

array_map77100%0%中国菜刀

&z1=24690.2%9.8%中国菜刀

X@Y10000.4%99.6%中国菜刀

silicpass9100%0%网页大马

d2hvYW1p5100%0%蚁剑

mytag_100050%50%蚁剑

&z2=60010%99%中国菜刀

%u004510100%0%中国菜刀

如果只匹配“X@Y”特征,误报率非常大。针对

乱码情况,可采用正则表达式进行多扩展名辅助匹配,

进一步确认是否为网络木马响应信息。针对包裹情况,

在流量头部或尾部匹配“X@Y”特征或者匹配包含两个

“X@Y”特征的流量,确定是否为WebShell流量。

7 结束语

本文提出一种基于高速网络的WebShell综合检测

溯源技术,目前已在实际网络环境中进行了试点部署,

并产生了一定的效果,但仍存在一些问题。首先,网

络中存在部分试探性攻击流量,在高速网络报文检测

中,可以考虑将HTTP数据包与响应报文相结合作为

流量检测目标,进一步提升检测准确率。这对于系统

漏洞的精确定位以及降低安全运维成本具有十分重要

的意义。其次,本文WebShell综合检测溯源技术由于

请求报文较长,数据包会分片传输,这就导致HTTP

数据包载荷部分分为若干数据包,如果检测过程中只

匹配到载荷部分,则无法得到头部信息,进而导致无

法溯源到网络木马文件。因此在检测前可以将分片的

请求包拼组到一起再进行检测,以达到更好的检测效

果。另外,本文方法对当前提取到的特征是有效的,

但随着技术的发展,可能出现其他异常情况,对于其

他异常情况的检测还有待验证。

2021

年第

1

技术研究

参考文献:

[1] ZHAO Yuntao, XU Chunyu, BO bo, et al. Traffic-based WebShell

Behavior Analysis and Detection Method[J]. Network Security

Technology & Application, 2018, 18(4): 8-9.

赵运弢,徐春雨,薄波,等.基于流量的WebShell行为分析与检测方

法[J]. 网络安全技术与应用,2018,18(4):8-9.

[2] National Internet Emergency Center. 2019 China Internet Network

Security Report[EB/OL]. /publish/main/46/2020/202

54595627/24754595627_.html, 2020-05-22.

国家计算机网络应急技术处理协调中心. 2019年中国互联网网络安全

报告[EB/OL]. /publish/main/46/2020/20200811

5627/24754595627_.html, 2020-05-22.

[3] ZHOU Henglei. A Traffic-based WebShell Communication Detection

Scheme[J]. Financial Computer of China, 2020, 27(6): 60-64.

周恒磊.一种基于流量的WebShell通信检测方案[J]. 中国金融电脑,

2020,27(6):60-64.

[4] XIAO Zhongqi. Design and Implementation of Traffic Identification

System Based on DPDK[D]. Wuhan: Huazhong University of Science and

Technology, 2019.

肖中奇.基于DPDK的流量识别系统的设计与实现[D]. 武汉:华中科

技大学,2019.

[5] ZENG Li, YE Xiaozhou, WANG Lingfang. Summary of Research on

DPDK Technology Application of Webshell Detection Framework Based

on Combinatorial Policy[J]. Journal of Network New Media, 2020, 9(2):

1-8.

曾理,叶晓舟,王玲芳. DPDK技术应用研究综述[J]. 网络新媒体技术,

2020,9(2):1-8.

[6] REN Qingqing, ZHOU Liang, XU Zhijun, et al. PacketUsher: Exploiting

DPDK to Accelerate Compute-intensive Packet Processing[EB/OL].

/science/article/abs/pii/S8521, 2020-

08-11.

[7] WANG Wenqing, PENG Guojun, CHEN Zhenhang, et al. WebShell

Detection Framework Based on Combination Strategy[J]. Computer

Engineering and Design, 2018, 39(4): 907-911, 917.

王文清,彭国军,陈震杭,等.基于组合策略的WebShell检测框架[J].

计算机工程与设计,2018,39(4):907-911,917.

[8] JIANG Tian. Research on WebShell Detection Method Based on

Convolution Neural Network[J]. Information Technology and Network

Security, 2019, 38(7): 27-31.

姜天.基于卷积神经网络的WebShell检测方法研究[J]. 信息技术与网

络安全,2019,38(7):27-31.

[9] LI Jiangtao. WebShell Detection Method and Implementation Based

on Machine Learning Combination Algorithm[D]. Jinan: Shandong

University, 2019.

李江涛.基于机器学习组合算法的WebShell检测方法与实现[D]. 济南:

山东大学,2019.

[10] ZHAI Yunsai. A Calculation Method to Find the Maximum Length

of the Same Prefix and Suffix Substrings in KMP Algorithm[J]. Practical

Electronics, 2020(12): 50-51, 54.

翟允赛. KMP算法中一种求相同前后缀子串最大长度的计算方法[J].

电子制作,2020(12):50-51,54.

71