惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
博客园 - 叶小钗
Last Week in AI
Last Week in AI
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Security Blog
Microsoft Security Blog
腾讯CDC
P
Proofpoint News Feed
大猫的无限游戏
大猫的无限游戏
The Cloudflare Blog
aimingoo的专栏
aimingoo的专栏
月光博客
月光博客
量子位
A
About on SuperTechFans
Engineering at Meta
Engineering at Meta
Apple Machine Learning Research
Apple Machine Learning Research
Jina AI
Jina AI
博客园 - Franky
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
人人都是产品经理
人人都是产品经理
D
DataBreaches.Net
博客园_首页
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Stack Overflow Blog
Stack Overflow Blog

博客园 - Magic.Z

几种可能使 Windows 7 睡眠后自动唤醒的原因 IIS 7.5 下载文件遇到 404.3 试用 Entity Framework Power Tools CTP1 通过 WebBrowser 获取网页截图 WPF 客户端上传文件到 ASP.NET MVC 网站 开启 IE9 导航声音 WPF 实现屏幕文字提示 - Magic.Z - 博客园 AJAX 网页保留浏览器前进后退等功能 ADO.NET Entity Framework Feature 中的 CodeFirst 创建数据库和实体类 赠送 MSDN 订阅激活卡 在 ASP.NET WebForm 中使用 Route 在 ASP.NET MVC 中创建自定义 HtmlHelper 在 ASP.NET MVC Web 应用程序中输出 RSS Feeds 用 Windows Media Center 浏览互联网视频 WebMatrix 简介 打印网页中的 GridView ASP.NET 网站后台任务 Visual Studio 2010 中的 MSDN 帮助文档 在 ADO.NET Entity Framework 4 中使用枚举
注意防范ASP.NET中可能导致信息泄漏的漏洞
Magic.Z · 2010-09-19 · via 博客园 - Magic.Z

ASP.NET中发现了一个可能导致信息泄漏的漏洞,影响了所有版本的ASP.NET,请注意做好保护措施。详细请参考http://www.microsoft.com/technet/security/advisory/2416728.mspx

该漏洞目前已有更新补丁,请通过http://www.microsoft.com/technet/security/bulletin/ms10-070.mspx下载更新或使用Windows Update更新。

以下信息是未发布补丁前的临时做法

对于.NET Framework 3.5或之前版本

1. 启用ASP.NET custom errors,并将所有错误代码指向同一个错误页面。

2. (A)如果该ASP.NET应用程序没有web.config文件,则在根目录新建一个,并写入下面的内容

1 <configuration>
2  <location allowOverride="false">
3    <system.web>
4      <customErrors mode="On" defaultRedirect="~/error.html" />
5    </system.web>
6  </location>
7 </configuration>

(B)如果已经存在web.config文件,则插入下面内容

1 <system.web>
2 <customErrors mode="On" defaultRedirect="~/error.html" />
3 </system.web>

3. 创建一个名为error.html的文件,它可以包含静态的错误提示信息,但不能包含动态内容。

对于.NET 3.5 Framework SP1或之后版本

1. 启用ASP.NET custom errors,并将所有错误代码指向同一个错误页面。

2. (A)如果该ASP.NET应用程序没有web.config文件,则在根目录新建一个,并写入下面的内容

代码

1 <configuration>
2  <location allowOverride="false">
3    <system.web>
4      <customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/ErrorPage.aspx" />
5    </system.web>
6  </location>
7 </configuration>

 (B) 如果已经存在web.config文件,则插入下面内容

1 <system.web>
2 <customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/ErrorPage.aspx" />
3 </system.web>

3. 创建ErrorPage.aspx文件,并写入以下内容

C#

代码

 1 <%@ Page Language="C#" AutoEventWireup="true" %>
 2 <%@ Import Namespace="System.Security.Cryptography" %>
 3 <%@ Import Namespace="System.Threading" %>
 4 
 5 <script runat="server">
 6         void Page_Load() {
 7         byte[] delay = new byte[1];
 8         RandomNumberGenerator prng = new RNGCryptoServiceProvider();
 9 
10         prng.GetBytes(delay);
11         Thread.Sleep((int)delay[0]);
12         
13         IDisposable disposable = prng as IDisposable;
14         if (disposable != null) { disposable.Dispose(); }
15     }
16 </script>
17 
18 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
19 
20 <html xmlns="http://www.w3.org/1999/xhtml">
21 <head runat="server">
22     <title></title>
23 </head>
24 <body>
25     <div>
26         An error occurred while processing your request.
27     </div>
28 </body>
29 </html>

VB:

代码

 1 <%@ Page Language="VB" AutoEventWireup="true" %>
 2 <%@ Import Namespace="System.Security.Cryptography" %>
 3 <%@ Import Namespace="System.Threading" %>
 4 
 5 <script runat="server">
 6     Sub Page_Load()
 7         Dim delay As Byte() = New Byte(0) {}
 8         Dim prng As RandomNumberGenerator = New RNGCryptoServiceProvider()
 9         
10         prng.GetBytes(delay)
11         Thread.Sleep(CType(delay(0), Integer))
12         
13         Dim disposable As IDisposable = TryCast(prng, IDisposable)
14         If Not disposable Is Nothing Then
15             disposable.Dispose()
16         End If
17     End Sub
18 </script>
19 
20 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
21 
22 <html xmlns="http://www.w3.org/1999/xhtml">
23 <head runat="server">
24     <title></title>
25 </head>
26 <body>
27     <div>
28         An error occurred while processing your request.
29     </div>
30 </body>
31 </html>