7

为什么管道被认为是危险的使用?可以做些什么来避免这些安全问题?

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

4

1 回答 1

16

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

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

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

于 2008-10-10T16:03:39.147 回答