asp.net两个小漏洞

一、Page.ResolveUrl()方法。
例如:
Page.ResolveUrl("~/test.aspx?param=http://www.test.com")会直接返回“~/test.aspx?param=http://www.test.com”。

原因:在相对URL转换为绝对URL时直接在Sering中搜索 "://" ,如果找到,就直接返回了。因此,如果你传递一个带://的参数就会直接返回原字符串。

发现:http://www.codeproject.com/Articles/53460/ResolveUrl-in-ASP-NET-The-Perfect-Solution

备注:漏洞已在.net 4.0中得到了修复,3.5以前(包括3.5)都有些漏洞。

测试截图:

二、VirtualPathUtility.IsAppRelative

例如:
VirtualPathUtility.IsAppRelative("javascript:void(0)");会引发HttpException异常,而MSDN上只有参数为Null的异常(ArgumentNullException)的异常。

原因:这里的HttpException应该就地处理,不应该向外抛。

发现:http://www.cnblogs.com/qishichang/archive/2012/07/31/2617544.html

备注:漏洞已在.net 4.0中得到了修复,3.5以前(包括3.5)都有些漏洞。

这个上面的连接排版已经很不错了,就不裁图了。

posted @ 2013-01-19 06:57  Adming  阅读(1603)  评论(0编辑  收藏  举报