LOW
1、设置难度等级为low后打开测试环境,依次点击上面的三个php文件,发现url只有参数发生了变化,这个参数可以进行利用
查看代码发现没有任何过滤,所有的文件只要包含php语句都会被解析成php文件
2、改变参数为一个不存在的文件,出现报错信息,并且爆出了文件的绝对路径,便可以通过路径访问文件
3、读取php.ini文件
(1)用绝对路径构造URL:
(2)用相对路径构造URL:读取php.ini文件需要跳转到上两级目录,我们利用../进行上一级目录的跳转
4、dvwa根目录下有一个phpinfo.php文件显示服务端php配置信息,我们利用相对路径进行URL的构造
5、远程文件包含:访问百度主页
medium
1、查看源码,发现对http、https和../ ..\\进行了过滤,会将它们替换为空格
2、改变参数为一个不存在的文件,出现报错信息,仍然可爆出文件的绝对路径
3、用绝对路径构造URL可以读取php.ini文件,使用相对路径无法进行读取
4、远程文件包含:
过滤了http://和https://,直接输入网址无法访问
使用双写绕过方式,访问成功
High
1、查看源码,使用fnmatch函数检查page的参数,需以file开头或以include.php开头
2、使用file协议进行绕过,爆出绝对路径
(file:// 访问本地文件,且只支持本地文件读取,不支持远程文件执行)
3、使用绝对路径访问phpinfo.php
impossible
查看源码:
如果访问的文件不等于include.php,file1.php,file2.php,file3.php这四个文件则返回error,即把可以访问的文件加入白名单,只有在白名单里面的文件才可以访问,防御性能还是很高的