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.phpfile2.phpfile3.phpfile4.php的文件名是最后的善意。

IMPOSSIBLE

最后的等级,当然是白名单限制死了,所以没啥说的。


dvwa

2020-12-28 13:35 +0800