2

今日はerlangシェルで遊んでいて、次のようなコマンドインジェクションができることに気づきました。

io:get_chars("Cmd> ", 3).
Cmd> Dud List=[3,4,5]. io:get_line("I just took over your shell!").

get_chars関数の入力をサニタイズして、これを不可能にする方法はありますか?

4

1 に答える 1

5

あなたは実際にコマンドインジェクションを行っていません。 io:get_chars("Cmd> ", 3).単にそれが仕事です:入力ストリームから3文字を読み取ります。これらの後に入力されたものはすべて、通常のread-eval-printループの一部としてerlangシェルによって処理されます。

于 2009-07-14T11:14:40.790 に答える