1.0 KiB
1.0 KiB
WebShell 免杀方式有哪些
字符串拆分与拼接:将敏感函数名、命令拆分为多段,运行时动态拼接
编码与加密:使用 Base64、AES 等编码核心载荷,运行时解码执行
变量名与函数名随机化:使用无意义的变量名,增加人工分析难度
使用冷门回调函数:如 array_map、array_filter、usort 等配合 call_user_func
利用反射或动态特性:PHP 中通过 $func = new ReflectionFunction('system'); $func->invoke('whoami');
借助语言自身机制:如 Java 中的 ScriptEngine、Python 的 exec/eval 多层包装
分段加载:主 Shell 代码仅负责从远端获取真正的后门代码并执行(类似 Stager 模式)
时间条件:仅在特定时间或延迟几秒后执行,规避沙箱的短时间行为分析
换行符/注释混淆:在关键函数中插入换行、多行注释、无效字符
多层嵌套与动态调用:将执行链拆解为多步,每一步看似正常,运行时才组合