EncodedCommandが渡されたら止める

こわいですね

防御策は、、、ない、、、

ひいい!

しかし恐れてばかりではいけません
対策になるかもしれないことを思いついたので、試してみましょう

$PROFILE内でコマンドラインオプションにEncodedCommandが含まれてるかどうか確認して

あればころす

…だけだとまぁ、不都合があるかも知れないのでついでに覚えたPromptForChoiceで選択式にしてみました
はいを選ぶとEncodedCommandで渡されたコマンドが実行されます
(あと余談ですが、PromptForChoiceCtrl+Cした場合も実行されてしまいます
-1が返るって話だったんだけどなー?)

で、実行しないよ!となったらEncodedCommandが実行される前に止めなきゃならんのですが
exitでは$PROFILEが終わるだけみたいなのでStop-Process(kill)してみました

これで少なくとも自分のPowerShellは守られます!
runasとかされた場合は…わかんないです!
ALLUSERSな$PROFILEとかあるんだったら、そっちで!

EncodedCommandが渡されたら止める」への3件のフィードバック

  1. 素晴らしい!
    やりようがあるもんですね。
    ただ、WMI使うより、[Environment]::CommandLineで良いかと思います。

    • > [Environment]::CommandLine
      なるほど、ちゃんとあるんですねこういうの…!
      ありがとうございます、直しました!

  2. ピンバック: 続・EncodedCommandが渡されたら止める | たっぷす庵

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中