asp.net虚拟主机的路径泄露问题
来源:互联网 发布:家庭网络 编辑:程序博客网 时间:2024/06/05 06:20
学习asp.net的时候发现,asp.net会把站点的asp.net的代码作临时编译(我是这样理解的,可能这样的说法不是很对)放在WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files (如果使用的是2.0的frameworks,那么就是WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files了),由此引发一个问题:如果该主机是虚拟主机,则虚拟主机上的所有使用了asp.net的站点的路径信息都会被泄露!
首先用VS2005随便建立一个website,写个hello world之类的aspx文件,执行一下,然后到刚才所说的目录下,找到website1(假设你新建的站点为website1),再进两层目录,可以看到后缀名为.cs或.xml的文件,用记事本打开,可以发现编译的信息:
#pragma checksum "E:/Liswa/WebSites/WebSite1/App_Code/db_class.cs" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "A233AE738DF284277D8E2E285EEE4D93"
这时就已经泄露了该文件来自E:/liswa/website1了.
对于纯asp的虚拟主机来说,泄露路径可能造成的问题不大,因为各个站点可以用独立的用户启动,所以各个站点之间是不能互访的,但是asp.net的主机由于站点目录都要有network services的权限,而asp.net程序都是使用这个用户来执行,因此各站点间不能做到互相隔绝.(我配置asp.net虚拟主机时的对于asp.net的权限一直比较困惑,不知道这些复杂的关系应该怎么样才能做到最好,不过根据网上一些文章的意思,asp.net虚拟主机大都存在这样的问题,无法进行站点间的有效隔绝).因为只要知道另一站点的真实路径,asp.net木马就可以访问到另一站点.
在实际的测试中,发现这个问题的确存在,在虚拟主机上进行我们文章开始时提到的目录,可以看到几乎所有站点都存在一个单独的目录.(还有一些没有单独的目录,但是在root目录下顺次跟下去,一样可以找到该相对站点的目录.对于一个入侵者,可能的做法是,得到某一站点的asp.net的webshell后,如果支持asp,那么上传个海洋木马,利用海洋木马的搜索文件功能,搜索目标站点的文件名.譬如目标站点上存在一个叫做liswa.aspx的文件,那么就可以搜索liswa,从而找到该文件对应的编译后文件所在路径(当然你也可以逐个目录地翻,但可以告诉你,如果虚拟主机上站点较多,那么你需要捡垃圾人员一样的细心才可能找到对应目录),然后随便找到一个后缀名为.cs或.xml的,打开它,就可以得到目标站点的真实路径了.再在webshell中输入得到的真实路径,那么目标站点的权限就得到了.
由于对于asp.net的权限需求还不是很明了,暂时想不到有效的解决办法,只能祈求上帝减少虚拟主机上站点的漏洞了.
- asp.net虚拟主机的路径泄露问题
- ASP.NET路径的问题
- asp.net 路径问题
- asp.net 路径问题
- asp.net 路径问题
- ASP.NET 路径问题
- ASP.Net 路径问题
- asp.net 路径问题
- asp.net路径问题
- asp.net 路径问题
- asp.net路径问题
- asp.net相对路径的问题
- asp.net相对路径的问题
- asp.net 中图片的路径问题
- asp.net相对路径的问题
- asp.net母版页的路径问题
- ASP.NET虚拟主机存在的重大隐患
- ASP.NET虚拟主机的重大安全隐患
- sql2000数据库"索引"
- 分页代码及相应SQL效率的分析
- 第一步,安装apache_2.0.59
- 转:使用一条SQL语句删除表中重复记录
- [转帖] 感情一
- asp.net虚拟主机的路径泄露问题
- 转:string 和stringbuilder的区别
- 第二步,安装并使用SVN
- XML序列化的实例
- 第三步,整合apache与svn
- 转:C#.Net 中ArrayList 与 Array的区别
- 谁是中国最辛苦群体
- 我这一年半--总结提纲
- PowerDesigner的使用1