[英]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.