对于许多流行的Web应用程序,Medium Trust托管环境中缺乏反射似乎是
cause a lot of problems.
>为什么默认情况下使用中等信任禁用ReflectionPermission?
>反射在共享托管环境中会带来什么风险?
解决方法
反射允许恶意代码检查各种秘密:不是知识产权(尽管也是如此),而是应该是私密且安全的数据,如连接字符串,密码,银行帐户数据等.
当然,许多程序通过更容易受到攻击的向量来理解这些数据,但是没有理由增加应用程序的攻击面.
编辑从评论中引出一些对话:
真正的风险可能是不受限制的文件系统访问,这就是将反射变成真正危险的原因.如果一个坏的演员可以将一个程序集(或者被编译成程序集的东西)放到你的虚拟目录中,那么如果他们有反射权限就会遇到麻烦. (当然,如果发生这种情况,还有其他潜在的问题,但这不应该忽视这个特定的漏洞.)
在一个更难以预防的共享托管环境中,尽管这当然不是不可能的.也许值得将这个问题交叉发布到ServerFault,看看有什么好人可以说.