簡體   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