webshell项目学术论文:后门检测领域的研究引用与影响
项目概述
GitHub 加速计划 / we / webshell 是一个开源的 WebShell 收集项目,涵盖了各种常用脚本类型,如 ASP、ASPX、PHP、JSP、PL 和 PY 等。该项目旨在为安全研究人员和开发人员提供一个全面的 WebShell 样本库,用于后门检测、防御机制研究和安全意识培训。
项目的官方文档可以参考 README.md,其中详细介绍了项目的目的、贡献指南以及免责声明。需要注意的是,项目中所有 WebShell 样本的安全性不做保证,使用者需自行鉴别是否存在后门代码。
项目结构与内容分布
该项目采用按脚本类型分类的目录结构,主要包含以下核心模块:
- ASP 脚本目录:asp/,包含各种 ASP 类型的 WebShell,如 asp/bypass_safedog_01.asp、asp/cmd.asp.txt 等
- ASPX 脚本目录:aspx/,存放 ASP.NET 相关的 WebShell 样本
- JSP 脚本目录:jsp/,包含多种 JSP 类型的 WebShell,如 jsp/cmdjsp.jsp、jsp/JspSpy.jsp 等
- PHP 脚本目录:php/,存放 PHP 类型的 WebShell 样本
- Python 脚本目录:py/,包含 Python 类型的 WebShell,如 py/cgi-python.py、py/d00r_py3.py 等
- 文档目录:docs/,包含项目文档,如 docs/webshell.md
- 免杀技术文档:几种实战成功过的webshell的免杀方式.md,详细介绍了 WebShell 的免杀技术
WebShell 免杀技术研究
PHP 免杀技术
PHP 免杀技术主要利用 PHP 版本差异和语法特性来绕过检测。一种有效的方法是利用高版本 PHP 语法不换行来执行命令,如下所示:
<?=
$a=<<< aa
assasssasssasssasssasssasssasssasssasssasssassss
aa;echo `whoami`
?>
这种方法在 PHP 7.3.4 中可以成功执行命令,但在低版本中会报错。详细的版本测试结果和更多免杀方法可以参考 几种实战成功过的webshell的免杀方式.md。
另一种 PHP 免杀技术是利用十六进制字符串,在特定 PHP 版本中可以成功执行命令:
<?php
$s=substr("aabbccsystem","0x6");
$s(whoami)
?>
经过测试,该方法在 PHP 5.3 和 5.5 中可以成功执行命令,但在 PHP 5.2 和 PHP 7 中无法执行。
JSP 免杀技术
JSP 免杀技术主要利用 XML 特性和 Java 编码格式。其中,jspx CDATA 特性是一种有效的免杀方法:
String cmd = request.getPar<!\[CDATA\[ameter\]\]>("shell");
此时,ameter 依旧会与 getPar 拼接成为 getParameter,从而绕过检测。
另一种 JSP 免杀技术是利用 Java 支持的其他编码格式,如 UTF-16BE、UTF-16LE、CP037 等。通过将 WebShell 代码编码为这些格式,可以有效绕过一些检测工具。详细实现可以参考 几种实战成功过的webshell的免杀方式.md 中的 Python 脚本示例。
ASPX 免杀技术
ASPX 免杀技术相对较少,主要包括以下几种方法:
- Unicode 编码:将关键函数名进行 Unicode 编码,如将
eval编码为\u0065\u0076\u0061\u006c - 空字符串连接:在函数字符串中插入特殊字符,如
\u200c、\u200d等 - 使用
<%%>语法:将整个字符串与函数利用<%%>进行分割 - 头部免杀:修改页面头部标识,如将
<%@ Page Language="Jscript"%>修改为<%@Page Language=JS%> - 使用特殊符号
@:在关键代码中添加@符号,如@Context.@Session["payload"] - 插入注释:在代码中插入注释,如
<%/*qi*/Session./*qi*/Add(@"k"/*qi*/,/*qi*/"e45e329feb5d925b"/*qi*/)
这些技术的详细实现和效果可以参考 几种实战成功过的webshell的免杀方式.md。
后门检测领域的研究引用
该项目在后门检测领域具有重要的研究价值,为安全研究人员提供了丰富的样本库。以下是项目在后门检测研究中的主要应用方向:
特征码提取与检测规则生成
研究人员可以通过分析项目中的 WebShell 样本,提取各种 WebShell 的特征码,用于改进入侵检测系统(IDS)和防火墙的检测规则。例如,可以分析 [Backdoor Dev Shells/devshell.php](https://link.gitcode.com/i/4f5dc445cdb07214f26500ad37a836a3/blob/6b17eae4a0bc792f996a38ce32772e4db9c7c799/Backdoor Dev Shells/devshell.php?utm_source=gitcode_repo_files) 等样本,提取 PHP WebShell 的共同特征。
免杀技术研究与防御机制改进
项目中的 几种实战成功过的webshell的免杀方式.md 详细介绍了各种 WebShell 的免杀技术,为研究人员提供了免杀方法的参考。通过分析这些免杀技术,安全研究人员可以改进现有的防御机制,提高对新型 WebShell 的检测能力。
WebShell 检测工具测试
该项目提供了大量不同类型、不同免杀级别的 WebShell 样本,可以用于测试各种 WebShell 检测工具的准确性和有效性。例如,可以使用 antSword-shells/ 目录下的样本测试蚁剑客户端的检测能力。
项目影响与应用场景
安全培训与教育
该项目可以作为安全培训和教育的重要资源,帮助安全从业人员了解各种 WebShell 的特征和危害,提高安全意识。例如,docs/webshell.md 可以作为入门教程,帮助初学者了解 WebShell 的基本概念和类型。
安全产品开发
安全厂商可以利用项目中的样本库开发和改进 WebShell 检测产品。通过分析 LandGrey/webshell-detect-bypass/ 等目录下的样本,可以了解最新的 WebShell 检测绕过技术,从而开发出更有效的检测产品。
学术研究
学术界可以基于该项目开展 WebShell 检测、免杀技术等方面的研究。项目中的样本和技术文档为相关研究提供了丰富的数据支持和实验材料。
结论与展望
GitHub 加速计划 / we / webshell 项目作为一个全面的 WebShell 样本库,在后门检测领域具有重要的研究价值和应用前景。通过对项目中各种 WebShell 样本和免杀技术的研究,可以有效推动 WebShell 检测技术的发展,提高网络安全防护能力。
未来,随着 Web 技术的不断发展,WebShell 技术也将不断更新。该项目需要持续收集和更新 WebShell 样本,特别是针对新兴技术(如云原生、Serverless 等)的 WebShell,以保持其在后门检测研究领域的参考价值。同时,研究人员也需要基于项目中的资源,不断探索新的检测方法和防御机制,以应对日益复杂的 WebShell 威胁。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



