文章目录
1.原理
本地文件包含漏洞(Local File Inclusion,LFI)是一种常见的 Web 应用程序漏洞,仅能够对服务器本地的文件进行包含,由于服务器上的文件并不是攻击者所能够控制的,因此该情况下,攻击着更多的会包含一些 固定的系统配置文件,从而读取系统敏感信息。很多时候本地文件包含漏洞会结合一些特殊的文件上传漏洞,从而形成更大的威力。
举个例子,假设有一个网站允许用户通过 URL 参数来指定要显示的文件,例如:
http://example.com/viewfile.php?file=somefile.txt
如果应用程序未正确验证用户提交的输入,那么攻击者就可以通过提交不合法的文件名来读取服务器上的任意文件,例如:
http://example.com/viewfile.php?file=../../../etc/passwd
2.PHP文件包含函数
常见的有以下四种:
include 和 require:这两个函数可以用来在 PHP 代码中包含并运行另一个 PHP 文件。
include_once 和 require_once:这两个函数与 include 和 require 类似,但会保证文件只被包含一次。
3.攻击流程
url:http://192.168.107.128/vul/fileinclude/fi_local.php?filename=file2.php&submit=%E6%8F%90%E4%B