首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

DVWA的文件包含漏洞

File Inclusion,意为文件包含漏洞,当服务器开启allow_url_include选项时,可以通过php的某些特性函数(include(),require()和include_once(),require_once)利用url去动态包含文件。此时如果没有对文件来源进行过滤和审查,就会导致任意文件读取或者任意命令执行。文件包含漏洞分为本地文件包含漏洞与远程文件包含漏洞,远程文件包含漏洞是因为开启了php配置中的allow_url_fopen选项,开启后,服务器允许包含一个远程的文件。

初级

没有任何过滤手段,直接显示page,那么我们随便请求一个文件。

由于文件不存在,这里显示文件错误,如果请求了我们上传的木马文件,那么文件就会被执行。

我们输入真实存在的一个文件。如图

可以看到,php文件被解析了。如果文件内容是一句话木马的话,网站就被控制了。

中级

源码如图

只是过滤了http://,"../"等,是没有意义的。对于我们在初级所用的绝对路径的方法,没有产生效果,不过我们仍然可以探讨一下,str_replace的绕过方法,使用双写绕过替换规则,比如过滤了"../"我们可以写....//这样中间的../去掉后依然是../。

我们猜测这样过滤是想排除远程文件包含漏洞。

高级

源码如下:

page后面参数只能是file或者include.php,这个fnmatch函数,语法为如图

由于匹配的是file*,所以必须要file开头,使用file://协议,也可以正常包含,如图所示

成功包含,函数成功执行。

终极

源码如图

限制了只允许这三个文件包含。那么就没办法运用文件包含漏洞了。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190107G0NB7600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券