DVWA环境实战测试 “文件包含”漏洞(步骤详细)

文件包含漏洞

概念

文件包含其实是一种代码的处理方法,函数如include,require等 参数是文件名。当一个代码文件想要引用另一个代码文件时就要用到包含。
*文件包含漏洞
如果文件包含漏洞的参数可控且过滤不严,就会被攻击者“偷梁换柱”,直接引用恶意代码达到代码执行的目的

准备实战环境

在这里插入图片描述进入DVWA界面
我们先把安全等级调成low等级,在这里插入图片描述
进入File inclusion 模块
在这里我们要配置下PHP设置:打开phpstudy,打开其他选项菜单,在菜单里选择php扩展及设置——参数相关设置——勾选allow_url_include 再次回到dvwa界面刷新后提示信息消失了。

当我们分别点击上面的file1,file2,file3,时对应URL也发生了变化,仅仅是配置参数的变化,其他无变化这个参数就是我们可以利用的地方.
在这里插入图片描述将配置的参数任意赋值如page=test.php,服务端出现了报错,证明这个点可以控制的。
首先是本地文件的获取,php.ini文件获取:由于这个文件在dvwa-master里面所以我们用
…/…/来获取上两级目录page=…/…/php.ini(这是点点斜杠)
在这里插入图片描述成功获取文件。

远程文件执行:我们知道dvwa根目录有一个phpinfo.php文件,可以显示服务端php配置信息,我们把之前的url参数中的php.ini换成phpinfo.php执行下。
在这里插入图片描述
出现了php的配置信息,表明了文件包含不仅能读文件还能够执行文件.
远程文件执行本地构造的文件:
我们在本地网站创建一个phpinfo.txt文件写入php代码如图:

在这里插入图片描述然后执行我们的文件包含,直接在page后面加上url如图:
在这里插入图片描述又出现了我们phpinfo的页面,说明可以执行远程文件而且不管是否为php文件,只要包含php代码就能够执行。

完成了low等级的文件包含,我们把等级调成medium
按照low等级的方法执行url是失败的,弹出如图错误信息:
在这里插入图片描述说明服务端过滤了某些字符,经过排除法尝试发现是过滤了…/这个字符串.也就是…/不能用了,但是…\也能进行翻转,验证一下发现是可以的。(#同理点点反斜杠 捂脸)

在这里插入图片描述接着我们尝试远程文件的执行,果然失败了
和本地包含方法一样我们通过看错误信息用排除法确定了过滤了http://这个字符
尝试httphttp:错误信息出现了…当输入httphttp://?/ 时出现了phpinfo的页面
在这里插入图片描述到此就完成了medium等级的文件包含
我们把等级调成high
照葫芦画瓢 我们试一下low等级跟medium等级的方法,都失败了
在这里插入图片描述出现了新的错误信息,经过不断尝试发现服务端只认file*开头的参数
尝试结果如下file1.php 成功 1file.php失败 在file111.php出现了熟悉的错误信息
在这里插入图片描述在这里科普一个file协议:文件传输协议,访问本地计算机的文件,直接用page=file:///D:\phpStudy\WWW\DVWA-master\php.ini
在这里插入图片描述成功访问php.ini文件 读取系统文件win.ini 同样成功
由于file协议只支持本地文件读取,不支持远程文件执行,就没办法执行远程文件(当然可以利用文件上传漏洞配合执行文件包含) 下次博客会更新文件上传漏洞.结合进去文件包含执行。

                  以上是在dvwa演示环境下文件包含漏洞的详细分析
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值