【DVWA】文件包含漏洞

【DVWA】文件包含漏洞_第1张图片

文件包含是正常现象,主配置文件有基础的一些配置,nginx虚拟机,include需要包含进来

一.什么是文件包含漏洞

文件包含漏洞:File Inclusion,文件包含(漏洞)

  • 当服务器开启allow_url_include选项时,就可以通过php的某些特性函数(include(),require()和include_once(),require_once())利用url去动态包含文件,此时如果没有对文件来源进行严格审查,就会导致任意文件读取或者任意命令执行。
  • 被包含的文件可以是各种文件格式,而当文件里面包含恶意代码,则会形成远程命令执行或文件上传漏洞。

危害

  • 执行恶意代码,获取敏感文件;包含恶意文件控制网站;控制服务器

注意:文件包含本身是没有问题的,问题出在如果在执行文件包含动作时没有对文件内容进行审核造成漏洞利用。


二.文件包含漏洞分类

  • 本地文件包含LFI(Local File Inclusion) :被包含的文件在服务器本地
    违规代码需要先上传到服务器的本地,才能继续执行。
  • 远程文件包含RFI(Remote File Inclusion) :被包含的文件在第三方服务器时 利用时包含时后面跟URL地址

三.实验

(1)低安全级别

1)本地文件包含

  • 使用DVWA文件包含漏洞的源码:对page变量未作任何限制,来进行利用可以访问敏感信息等。

【DVWA】文件包含漏洞_第2张图片
进行利用

1.例如page=/etc/passswd 来访问敏感信息
【DVWA】文件包含漏洞_第3张图片

2.- 使用一句话木马测试

在这里插入图片描述

  • 执行文件包含并测试

【DVWA】文件包含漏洞_第4张图片

root@owaspbwa:/var/www/dvwa/vulnerabilities/fi# ls
help  include.php  index.php  shell20.php  source
root@owaspbwa:/var/www/dvwa/vulnerabilities/fi# more shell20.php 

root@owaspbwa:/var/www/dvwa/vulnerabilities/fi#
  • 采用中国菜刀进行测试

在这里插入图片描述
漏洞利用成功

2)远程文件包含

需要开启了php配置中的allow_url_fopen选项(选项开启之后,服务器允许包含一个远程的文件)

1.创建木马文件,启动apache服务
在这里插入图片描述
2.可以远程访问此文件
【DVWA】文件包含漏洞_第5张图片
3.漏洞利用
【DVWA】文件包含漏洞_第6张图片
4.结果,产生test1.php文件

root@owaspbwa:~# ls /var/www/dvwa/vulnerabilities/fi/
help  include.php  index.php  shell20.php  source  test1.php
root@owaspbwa:~# cat /var/www/dvwa/vulnerabilities/fi/test1.php
root@owaspbwa:~# 
root@owaspbwa:~#

(2)中级安全级别

1.源码:
对page变量进行了限制,如果有http://,https://字符替换为空,一定程度上限制了远程文件包含,但是本地文件包含未作任何限制(同低安全级别一样)
【DVWA】文件包含漏洞_第7张图片
2.漏洞利用

  1. 本地利用同低级别操作一样
  2. 远程包含文件利用

正常输入不能执行产生php文件
【DVWA】文件包含漏洞_第8张图片
但是可以http://进行变换写,例如htthttp://p://,执行后能产生php文件
【DVWA】文件包含漏洞_第9张图片


(3)高安全级别

1.源码(能够被包含文件直接被写死,只能是include.php)
【DVWA】文件包含漏洞_第10张图片

你可能感兴趣的:(DVWA)