首页 > 编程 > .NET > 正文

检查ASP.NET安全漏洞及对策

2024-07-10 13:04:23
字体:
来源:转载
供稿:网友
在nt-bugtraq的邮件列表上首先报告的security bug in .net forms authentication适用于asp.net 1.0 (rtm, sp1, sp2, sp3)和asp.net 1.1 (rtm, sp1).



当form authentication被使用时,匿名用户在试图访问被保护的页面如http://localhost/webapplication2/secret.aspx时会被redirect到登录网页如http://localhost/webapplication2/login.aspx?returnurl=%2fwebapplication2%2fsecret.aspx.



但是如果使用mozilla,匿名用户可以这样未经认证就访问被保护的页面:http://localhost/webapplication2/secret.aspx;对ie,可以使用%5c达到类似的效果:http://localhost/webapplication2%5csecret.aspx



微软在10月5日发布了what you should know about a reported vulnerability in microsoft asp.net网页以提供针对此安全漏洞的对策。当前的对策主要是如kb887459所描述的那样在global.asax或其code-behind中在application_beginrequest中增加检查



    if (request.path.indexof('//') >= 0 ||        system.io.path.getfullpath(request.physicalpath) != request.physicalpath)     {        throw new httpexception(404, "not found");    }
显然每个application都需要有这样的检查以应对此安全漏洞。微软还会提供其他的对策,请关注what you should know about a reported vulnerability in microsoft asp.net网页更新。



对asp.net 2.0 beta1,并没有此漏洞而是得到404错误。



贴子以"现状"提供且没有任何担保也没有授予任何权利

发表于 thursday, october 07, 2004 1:53 am

评论
# re: asp.net form authentication安全漏洞及对策 10/7/2004 8:49 am tommywoo
http://localhost/webapplication2%5csecret.aspx


试过了,不行。ie 版本问题?

# re: asp.net form authentication安全漏洞及对策 10/7/2004 9:40 am r2
啊,好可怕!幸好我用beta1

# re: asp.net form authentication安全漏洞及对策 10/7/2004 9:43 am r2
难道微软的这种form认证这么脆弱??

# re: asp.net form authentication安全漏洞及对策 10/7/2004 10:09 am wonge
windows 2003下不会出现这种错误:http://localhost/webapplication2%5csecret.aspx ?

# re: asp.net form authentication安全漏洞及对策 10/7/2004 10:12 am 孙展波
我是使用xpsp2的os及其带的ie6验证的。
从what you should know about a reported vulnerability in microsoft asp.net网页,windows 2003 server也有这个问题。这是asp.net的bug而不是os的bug.

# re: asp.net form authentication安全漏洞及对策 10/7/2004 10:44 am lostinet
可怕的漏洞啊~~~
解决方法可以做个简单的ihttpmodule,把它注册到gac和machine.config中.


# re: asp.net form authentication安全漏洞及对策 10/7/2004 1:21 pm flashtoy
我按方法试了.怎么没有这个问题.
吓的我半死!
http://www.creva.org.cn/creva/orgshow.aspx

# re: asp.net form authentication安全漏洞及对策 10/7/2004 6:19 pm tommywoo
楼上的朋友,,我想到了。。


因为我们用的是ie,ie要用这个漏洞,得使用%5c来代替/符号。。。

我们两个都是在根目录的第一级子目录加验证的,比如你的,得用http://www.creva.org.cn%5ccreva/orgshow.aspx

显然这里有一个问题,域名是什么?这里域名被表示成了“www.creva.org.cn%5ccreva”,而不是实际域名“www.creva.org.cn”。

我想问题应该在这里,展波用的是,虚拟目录下的子目录,所以出现了那个漏洞。

你可以用mozilla的/符号试试。

# re: asp.net form authentication安全漏洞及对策 10/7/2004 6:25 pm 蓝色空间
确实有问题,赶快修正

# re: asp.net form authentication安全漏洞及对策 10/7/2004 6:38 pm libber
为什么我测试不出来呢? .net framework 1.1 sp1

# re: asp.net form authentication安全漏洞及对策 10/7/2004 8:28 pm kwklover
我也测试过了,没有这个问题啊
大家可以测试一下这个网站


# re: asp.net form authentication安全漏洞及对策 10/7/2004 8:33 pm erictang2003
我也没测试出来,用ie6 和 firefox1.0 都没试出来.
不过还是改了代码以防万一

# re: asp.net form authentication安全漏洞及对策 10/8/2004 12:10 am xiaoheng
测试了,没发现问题!!!!

# re: asp.net form authentication安全漏洞及对策 10/8/2004 9:09 am gigabyte
可以在global.asax里面加上这么一段解决:

void application_beginrequest(object source, eventargs e) {
if (request.path.indexof('//') >= 0 ||
system.io.path.getfullpath(request.physicalpath) != request.physicalpath) {
throw new httpexception(404, "not found");
}
}

这里有ms的解释:
http://www.kbalertz.com/kb_887459.aspx
# re: asp.net form authentication安全漏洞及对策 10/8/2004 1:14 pm michael lee
god ! 噩耗!!!

这种毛病都能出。还有前一阵的那个gdi+的bug,更是让人匪夷所思。



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表