Dvwa_file_inclusion
DVWA_File Inclusion(文件包含)
可分为本地文件包含和远程文件包含:
-
本地文件包含可以将本地的文件包含到当前页面,适用于上传的webshell无能直接被解析出来,例如存在后缀名的严格限制,只能上传图片格式,且不存在解析漏洞,这种情况下使用本地文件包含,包含上传的webshell,也可以获取到权限,还有就是可以直接包含本地服务器上的关键配置文件,例如/etc/passwd和关键配置文件,这样也可以获取到关键的信息。
-
远程文件包含就是说直接将文件的位置,替换为链接,这样就可以包含进来外部的文件,可利用的区域是本地上传webshell失败,可使用外部文件包含,包含在服务器上的webshell,这样也可以获取到目标服务器的权限。
LOW
本地文件包含:该级的访问方式很直白http://192.168.116.131/DVWA/vulnerabilities/fi/?page=file1.php
,将file1.php
替换为/etc/passwd
即可获取到本地文件。
远程文件包含:将file1.php
替换为http://www.baidu.com
,包含成功。
MEDIUM
应该是存在过滤的,不过直接采用上一级的访问方式,本地文件包含仍可成功:
远程文件包含失败:
猜测是对域名进行了过滤,可以采用改变大小写、包含复写等方式进行尝试(这里使用了改变大小写:hTtpS):
猜测应该是基于黑名单的过滤防护,能用白名单,就不要用黑名单,这是基本的安全意识。
源代码如下:
HIGH
该级应该是存在伪白名单的,可定位是high,不能是完全防御,但我还是无耻的看了源码:
这样的话,远程文件包含就没戏了,只能本地文件包含了:
想着这个伪白名单,我怀疑作者是个心机boy,file1.php
,file2.php
,file3.php
,file4.php
的文件名是最后的善意。
IMPOSSIBLE
最后的等级,当然是白名单限制死了,所以没啥说的。