1.file include 文件包含
一些web应用程序允许用户指定需访问的文件,或者允许用户将文件上传到服务器。稍后,web应用程序处理访问用户提供的输入。通过这样做,web应用程序存在恶意文件执行的可能性。如果被包含的文件在目标计算机本地,则称为“本地文件包含(Local File Inclusion,LFI)”。但被包含文件也可能在其他机器上,这种攻击就是“远程文件包含(Remote File Inclusion, RFI)”。
当php.ini开启allow_url_include时,就可以使用以下四个函数进行文件包含。再开启allow_url_fopen(默认关闭)就可以包含远程文件。
require(),找不到被包含的文件时会产生致命错误,并停止脚本运行。
include(),找不到被包含的文件时只会产生警告,脚本将继续运行。
include_once()与include()类似,唯一区别是如果该文件中的代码已经被包含,则不会再次包含。
require_()与require()类似,唯一的区别就是如果该文件中的代码已经被包含,则不会再次包含。
2.实验演示
在DVWA页面左侧选择File Inclusion。
目标是只使用文件包含来读../hackable/flags/fi.php内的五句话。
2.1.low
DVWA Security设置为low,即开发者没有采取任何保护措施。

在页面上点击三个文件名会显示不同内容,查看URLhttp://127.0.0.1/DVWA/vulnerabilities/fi/?page=include.php。了解到是通过page=点击的文件名来显示相应内容,那么可能存

文章详细介绍了文件包含漏洞的概念,包括本地文件包含(LFI)和远程文件包含(RFI),并通过DVWA平台的实验演示了不同安全级别下的漏洞利用方法,如使用双写绕过和file协议。同时,提出了防御措施,如文件白名单验证和禁止目录跳转字符。
最低0.47元/天 解锁文章
1241

被折叠的 条评论
为什么被折叠?



