繁体   English   中英

期望的“ spawn”命令是否安全地传递参数?

[英]Does the expect's 'spawn' command passes the parameters securely?

我有以下期望脚本,该脚本执行“ myexe”并传递一些密码作为参数:

#!/usr/bin/expect
gets stdin pwd

log_user 0

eval spawn "/myexe ${pwd}"

log_user 1
expect eof
catch wait result
exit [lindex $result 3]

我的可执行文件“ myexe”是已编译的Linux可执行文件(不是Shell脚本),目标是向其安全地传递密码。 不幸的是,可执行文件没有读取密码的标准输入,而是期望它作为开始参数。

当我执行以下期望脚本时,看不到带有“ ps”的“ myexe”可执行文件。 有人知道期望所执行的“生成”是否足够安全吗? 密码在其他地方(例如/ proc)可见吗?

不要在这里使用eval 根据密码的内容,这可能是灾难性的。 这样就足够了:

spawn /myexe $pwd

在myexe运行时执行ps -ef任何人都可以看到密码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM