通过Web服务暴露system.dll是否存在安全问题?

时间:2011-02-06 04:25:30

标签: c# web-services visual-studio-2010 compiler-construction dynamic-code

我很好奇只有​​在C#中访问System.dll命名空间才能造成什么损害。

我正在玩动态代码编译并创建了一个简单的网站,允许我输入C#代码。这是通过Web服务传递给一个类,该类在新线程中遵守并运行代码,并通过WS返回(代码必须返回一个字符串)结果并显示在网页上。

现在我有一个简单的检查来中断线程,如果它运行超过5秒,以确保像无限循环这样简单的东西不会崩溃。

“假设”说如果我发布这个Web应用程序可能会有人对只访问System.dll的Web服务器造成严重/任何损害吗?

**某些例子的奖励积分! :)

2 个答案:

答案 0 :(得分:6)

  1. 您可以创建一个不符合您的5秒规则的新线程(mscorlib.dll),使用WebClient(System.dll)下载删除二进制文件并使用Process(System.dll)执行它。
  2. 只是一个创建数千个永久循环线程的循环会占用大量的cpu时间。

答案 1 :(得分:0)

如果您运行部分信任并且适当地限制权限,则不会。如果你不......那么,System.dllmscorlib.dll的功能几乎没有限制,因为这是实现反射的地方。