Asp.Net防提权设置

几天前,一个朋友让我帮他搞下服务器安全,结果发现服务器上都是Asp.Net的站,不过防旁注做的不错,只不过能执行命令,对服务器不安全。直到有一天,我入侵一个国外的网站,发现死活执行不了命令,想看看他安全怎么做的,我也学学,之后就下载回配置文件了,回去一分析,发现除了授权级别和授权文件被改了,其他倒没什么。今天研究出来是怎么防止提权的。

先打开:C:WINDOWSMicrosoft.NETFrameworkv2.0.50727configweb.config
之后找到<trust level=”Full” originUrl=”” /> 改为 <trust level=”High” originUrl=”” />
然后打开C:WINDOWSMicrosoft.NETFrameworkv2.0.50727configweb_hightrust.config
里面有一句:
<SecurityClass Name=”RegistryPermission” Description=”System.Security.Permissions.RegistryPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″/>
把这句删掉,就可以防止读取注册表
这样就可以防止执行被命令 而且 IISSpy 以及读取注册表都无法了。并且经过测试,在目录里新建个Web.Config也是无法绕过这个设置的。
下面是效果图,有图有真相:
设置之前:

设置之后:


转自网络安全技术博客由网络安全攻防研究室(www.91ri.org) 信息安全小组收集整理.