文件包含漏洞
漏洞描述:
文件包含漏洞是一种针对依赖于脚本运行时间的 Web 应用程序的漏洞。当应用程序使用攻击者控制的变量构建可执行代码的路径时,一旦其允许攻击者控制运行时执行哪个文件,则会引发该漏洞。文件包含漏洞会破坏应用程序加载代码的执行方式。
远程文件包含(RFI)在 Web 应用程序下载并执行远程文件时发生。这些远程文件通常以 HTTP 或 FTP URI 的形式,作为用户向 Web 应用程序提供的参数而获取。
本地文件包含(LFI)类似于远程文件包含,除了不包含远程文件外,只有本地文件(当前服务器上的文件)可以被包含用于执行。通过包含一个带有攻击者控制数据(如 Web 服务器的访问日志)的文件,仍然可以导致远程执行代码。
漏洞危害:
该漏洞可被利用在服务器上远程执行命令。攻击者可以把上传的静态文件或网站日志文件作为代码执行,获取服务器权限,并进一步篡改用户和交易数据,恶意删除网站等。
修复方案:
严格检查变量是否已经初始化。建议您假定所有输入都是可疑的,尝试对所有提交的输入中可能包含的文件地址(包括服务器本地文件及远程文件)进行严格的检查,参数中不允许出现 ../ 之类的目录跳转符。
严格检查 include 类的文件包含函数中的参数是否外界可控。
不要仅仅在客户端做数据的验证与过滤,将关键的过滤步骤放在服务端执行。
在发布应用程序前,测试所有已知的威胁。
热门:阿里云ACP认证考试费用 | 阿里云ACP认证方向 | 阿里云ACP认证证书有效期
推荐:阿里云ACP认证视频课程 | 阿里云ACP认证网络课堂 | 阿里云ACP认证考试大纲下载 | 阿里云ACP网络班招生方案