目录
实训目的
了解dvwa靶场的File Inclusion文件包含漏洞的四个等级
实训环境
Win10 靶机
Win10测试机 (这里为了方便操作,我使用靶机当测试机)
实训工具
安装PHPstudy 搭建DVWA靶场(Win10)
实训准备
win10靶机打开工具phpstudy,并启动apache 和 mysql
测试机登录dvwa靶场设置安全等级
实训步骤
Low等级
file1 file2 file3以及file4都能访问
查看low等级源码
发现在low等级可以查看任何在win10下知道路径的文件或网站
查看http网站或者是https网站,查询百度成功!
在win10靶机的C盘目录下,新建文件夹abc,在abc下新建文本文档srp.txt
在win11中测试,成功查询到srp.txt的文件内容
使用C:/abc/srp.txt进行查询,是使用绝对路径进行的查询,那么相对路径能否查询到文件内容呢?我们使用../../../../../../../../../../abc/srp.txt进行查询
查询成功!这个地方需要注意,../是返回上级目录,但是不确定文件在哪一层目录的情况下,可以../.../../../多返回几级,这样就一定能返回到根目录,成功查询到想要查询文件的内容。
Medium等级
file1 file2 file3以及file4都能访问
可以查看已知路径的文件(绝对路径)
不能查看相对路径的文件
也不能查看http或https的网站
查看Medium源码,发现https:// http:// ..\ ../被替代为空了
绕过:我们可以更改page值来绕过,达到继续访问的目的
比如大写、大小写混写、重写等
..././..././替换../../
成功绕过!!!
High等级
file1 file2 file3以及file4都能访问
但是访问绝对路径和相对路径的文件以及http或https网站,都显示没有发现文件
查看high源代码
发现high等级设置fnmatch函数。如果文件名不匹配 "file*" 模式,并且文件名不等于 "include.php",则输出错误信息并退出程序。
绕过:使用page=file:///C:/绕过(绝对路径)
使用page=file:///../../../../../../../../../绕过(绝对路径)
Impossible等级
file1、file2、file3可以正常查看,但是file4不能查看
查看impossible等级源码
发现impossible等级设置了白名单,只有文件名是file1、file2、file3、include.php时可以访问,其他都不能访问。
总结:防止文件包含最好的办法就是设置白名单!!!