3

C#のSystem.dll名前空間へのアクセスだけで誰かが犠牲になる可能性があるのは不思議です。Webサービス経由でsystem.dllを公開するとセキュリティ上の懸念はありますか?

ダイナミックコードのコンパイルで遊んでいて、C#コードで入力できるシンプルなウェブサイトを作成しました。これは、Webサービスを介して、新しいスレッドでコードを遵守して実行するクラスに渡され、WSを介して結果が返され(コードは文字列を返す必要があります)、Webページに表示されます。

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

私がこのWebアプリケーションを公開した場合、System.dllにアクセスしてWebサーバーに重大な損害を与える可能性がありますか?

**いくつかの例のボーナスポイント! :)

答えて

6
  1. あなたは文句を言わないあなたの5秒ルールを遵守し、新しいスレッド(がmscorlib.dll)を作成することができ、Webクライアント(System.dllの)およびプロセス(System.dllの)を使用して、それを実行すると削除バイナリをダウンロードしてください。
  2. 何千もの永久ループスレッドを作成する単なるループでは、多くのCPU時間を消費します。
+0

+1 'WebRequest'クラスもsystem.dllにあります –

+0

@ simon-svenssonの直ぐ上に!私はシステムをインポートするだけで、そのようなものを停止すると思っていたが、もちろんSystem.Net名前空間を直接参照することができます。 –

0

部分信頼で実行し、適切なアクセス許可を制限している場合はありません。もしあなたがしなければ... System.dllmscorlib.dllの能力にはほとんど限界がありません。なぜならそれは反映が実装されているからです。

+0

私は、ロードされたアセンブリで部分的な信頼を実装する方法を見てみる必要があります。ありがとう。 –

関連する問題