在命令行中隐藏密码字段

问题描述 投票:-1回答:1

我在FreeBSD上编写一个系统服务,我需要获取用户凭据来验证身份,如下所示:

./compression_bin -i <input_file> --type=<type> --password=<secret key>

这里,秘密密钥用于在压缩给定文件之前验证用户。目前,秘密密钥出现在历史中,这是很糟糕的,可以被利用。有没有办法可以调用上面而不显示密码字段:

./compression_bin -i <input_file> --type=<type> --password=*********

c security unix freebsd
1个回答
4
投票

历史记录将始终记录命令的文本。你可以想象回去修改历史文件,但这不仅是令人讨厌的,它仍然提供了一个可以读取密码的窗口。

而且,这甚至不是最简单的漏洞。如果在命令行上给出了密码,那么在命令运行时可以通过其他方式读取密码,例如来自ps命令的输出,所有用户都可以访问该命令。

所以不要将密码作为命令行参数。从文件或标准输入或套接字或其他类似的东西中读取它。

© www.soinside.com 2019 - 2024. All rights reserved.