#4 RFI:从外部URL进入你的应用程序
理解RFI不仅仅是发现一个错误;它是识别一个关键的设计缺陷,如果被利用,攻击者将获得你服务器的钥匙。让我们探讨什么是RFI,如何确认其存在,以及它可能造成的毁灭性影响。
什么是远程文件包含(RFI)?
远程文件包含(RFI)发生在Web应用程序允许用户指定远程URL作为输入,而应用程序的底层代码(如PHP的include()或require())随后获取并执行该URL的内容时。
想象你的应用程序应该加载一个模板文件。通过RFI,它被欺骗加载http://attacker.com/malicious_shell.php,而不是从自己的服务器加载header.php。如果服务器配置为执行包含的文件,攻击者的代码将以你的Web服务器的权限运行。
RFI vs. LFI:关键区别
LFI:允许包含服务器本地文件系统上已有的文件。这通常需要目录遍历(../../)并依赖于在本地查找或上传恶意内容(例如,日志投毒、文件上传)。
RFI:允许包含来自任何远程URL的文件(例如,http://、ftp://)…