3

C# で System.dll 名前空間にアクセスするだけで、誰かがどのような損害を与える可能性があるのか​​、興味があります。

動的コード コンパイルをいじって、C# コードを入力できる簡単な Web サイトを作成しました。これは Web サービスを介してクラスに渡され、クラスは新しいスレッドでコードに準拠して実行し、WS を介して結果を返し (コードは文字列を返す必要があります)、Web ページに表示されます。

現在、スレッドが 5 秒以上実行されている場合にスレッドを中止する簡単なチェックを行って、無限ループのような単純なものでクラッシュしないようにしています。

「仮説的に」言えば、私がこの Web アプリケーションを公開した場合、だれかが System.dll にアクセスするだけで Web サーバーに深刻な損害を与える可能性がありますか?

**ある種の例のボーナスポイント! :)

4

2 に答える 2

6
  1. 5秒のルールに準拠しない新しいスレッド(mscorlib.dll)を作成し、WebClient(System.dll)で削除バイナリをダウンロードし、Process(System.dll)を使用して実行できます。
  2. 何千もの永遠にループするスレッドを作成するループだけでも、多くのCPU時間を消費します。
于 2011-02-06T04:40:00.520 に答える
0

部分的な信頼で実行し、権限を適切に制限している場合はそうではありません。そうしないと... まあ、リフレクションが実装されている場所であるため、System.dllandの機能にはほとんど限界があります。mscorlib.dll

于 2011-02-06T05:02:42.543 に答える