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

问题描述 投票:0回答:2

我很好奇仅仅访问 C# 中的 System.dll 命名空间就会造成什么损害。

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

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

“假设”来说,如果我发布此 Web 应用程序,有人只需访问 System.dll 就会对 Web 服务器造成严重/任何损害吗?

**某种示例的奖励积分! :)

c# web-services visual-studio-2010 dynamic-code
2个回答
6
投票
  1. 您可以创建一个不符合 5 秒规则的新线程 (mscorlib.dll),使用 WebClient (System.dll) 下载删除二进制文件并使用 Process (System.dll) 执行它。
  2. 仅仅一个创建数千个永远循环线程的循环就会消耗大量的CPU时间。

0
投票

如果您以部分信任的方式运行并适当限制权限,则不会。 如果您不...那么,

System.dll
mscorlib.dll
的功能几乎没有限制,因为这就是实现反射的地方。

© www.soinside.com 2019 - 2024. All rights reserved.