为什么管道被认为是危险的?如何避免这些安全问题?

我最感兴趣的是Windows,但如果您有其他操作系统信息,请提供。

有帮助吗?

解决方案

(假设您在提到'c'和'IPC'时谈论的是Unix命名管道.Windows命名管道的工作方式有所不同)

任何拥有权限的人都可以写入命名管道,因此您必须小心权限和锁定(请参阅 flock())。如果应用程序信任它从命名管道获取的输入(除非您明确地在其中构建输入验证,通常就是这种情况),如果恶意用户有权限,恶意用户可以将任何所需数据写入命名管道。

此外,任何具有权限的用户都可以从管道中读取并拦截来自它的数据(如果您尚未完全锁定它)。然后,读者期望的输入流中缺少数据。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top