0
私はGoを介してbashシェルを生成する制限付きシェルをエスケープしたいと思っています。言い換えれば、私はこれをやってみたいが、Goを使う:を使って "nc -e/bin/bash"からTTYを持つシェルを作成するには
python -c 'import pty; pty.spawn("/bin/bash")'
私は全く新しいです。私は(この質問Go: How to spawn a bash shellで答え以下)、これを試してみましたが、何も起こりません:
package main
import "os"
import "os/exec"
func main() {
shell := exec.Command("/bin/bash")
shell.Stdout = os.Stdout
shell.Stdin = os.Stdin
shell.Stderr = os.Stderr
shell.Run()
}
また、私は何も
UPDATE
を印刷されていない主な機能の最後でfmt.Println("hello")
行を追加する場合
おそらく、私はうまくいきませんでした。私が達成しようとしているのは、制限されたシェルを取得したシェルを生成することです。これは私がやったことです: リスナー:
nc.traditional -l -p 8080 -e /bin/bash
はリスナーに接続します。そして、私はあなたのプログラムは、私のために正常に動作し、ここで
nc.traditional localhost 8080 -v
おかげです。私は質問を更新しました。実際、もし私がこれをすべてttyシェルから実行すると、動作しますが、そうではありません。私がうまく説明しなかったら謝る – v8rs