web-dev-qa-db-ja.com

禁止文字を置換する関数チェックpython

次のpython関数コード(変更する権限なし))の「ブラックボックス」があります。

def exec_ping():
    forbidden = ['&', ';', '-', '`', '||', '|']
    command = input('Enter an IP: ')
    for i in forbidden:
        if i in command:
            print('Invalid characters')
            exit()
    os.system('ping ' + command)

次のコマンド入力でこの機能を実行したい:

-c 1 localhost; whoami;

このコマンドを実行するには:

ping -c 1 localhost; whoami;

禁止されている文字のチェックをバイパスするにはどうすればよいですか?別の文字/エンコーディングを使用できますか?

3
Evyatar

$(whoami)はフィルターをバイパスしてwhoamiを実行する必要があります。

5
Benoit Esnard