青海龙8国际乐建设、网络推广最好的公司--您身边的龙8国际乐建设专家,马上拿起电话,联系我们:0971-8235355   
青海西宁龙8国际乐建设、龙8国际乐制作公司-西宁威势电子信息服务有限公司
 
西宁威势最新龙8国际乐制做案例展示
Lastest Project
 
当前位置为:首页 >> 黑客攻防 >> 正文  
龙8国际乐_龙8国际娱乐电脑版_龙8国际娱城手机版

文章来源: 西宁威势电子信息服务有限公司     发布时间:2010-9-20    浏览次数:5533   

转自绿盟科技

发布日期:2010-09-17
更新日期:2010-09-19

受影响系统:

Microsoft .NET Framework 4.0
Microsoft .NET Framework 3.5 SP1
Microsoft .NET Framework 3.5
Microsoft .NET Framework 2.0 SP2
Microsoft .NET Framework 1.0 SP3
描述:
BUGTRAQ  ID: 43316
CVE ID: CVE-2010-3332

Microsoft .NET Framework是一个流行的软件开发工具包。

使用.NET Framework所编译的ASP.Net应用中没有正确地实现加密,攻击者可以解密并篡改敏感数据。

如果要理解这个漏洞,首先要了解加密预言。在加密领域,预言(oracle)指的是在提问时提供提示的系统。对于用作了padding oracle的ASP.NET,攻击者可以通过向Web服务器发送密文文本然后通过检查所返回的出错代码来判断是否正确的加密。通过反复上述操作,攻击者就可以解密剩余部分的密文文本。

成功利用这个漏洞的攻击者可以查看目标服务器上加密的数据,如View State,获得读取目标服务器上的文件,如web.config。

<*来源:Juliano Rizzo
        Thai Duong
  
  链接:http://www.microsoft.com/technet/security/advisory/2416728.mspx?pf=true
        http://blogs.technet.com/b/srd/archive/2010/09/17/understanding-the-asp-net-vulnerability.aspx
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

http://netifera.com/download/poet/poet-1.0.0-win32-x86.jar

建议:
临时解决方法:

* 启用ASP.NET自定义错误并将所有的错误代码都映射到相同的出错页面。

如果如果ASP.NET应用中没有web.config文件:

对于.NET Framework 3.5 RTM

1. 在根目录中创建名为web.config的文本文件并注入以下内容:

<configuration>
<location allowOverride="false">
   <system.web>
     <customErrors mode="On" defaultRedirect="~/error.html" />
   </system.web>
</location>
</configuration>

2. 创建包含有通用出错消息的error.html文件并保存到根目录。

3. 或者,重新命名web.config文件中error.html文件指向已有的出错页面,但该页面必须显示通用内容。

对于.NET Framework 3.5 Service Pack 1及之后版本

1. 在根目录中创建名为web.config的文本文件并注入以下内容:

<configuration>
<location allowOverride="false">
   <system.web>
     <customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/ErrorPage.aspx" />
   </system.web>
</location>
</configuration>

2. 如果擅长使用C#,推荐使用以下ErrorPage.aspx文件:

<%@ Page Language="C#" AutoEventWireup="true" %>
<%@ Import Namespace="System.Security.Cryptography" %>
<%@ Import Namespace="System.Threading" %>

<script runat="server">
        void Page_Load() {
        byte[] delay = new byte[1];
        RandomNumberGenerator prng = new RNGCryptoServiceProvider();

        prng.GetBytes(delay);
        Thread.Sleep((int)delay[0]);
        
        IDisposable disposable = prng as IDisposable;
        if (disposable != null) { disposable.Dispose(); }
    }
</script>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <div>
        An error occurred while processing your request.
    </div>
</body>
</html>

3. 如果擅长使用Visual Basic .NET,推荐使用以下ErrorPage.aspx文件:

<%@ Page Language="VB" AutoEventWireup="true" %>
<%@ Import Namespace="System.Security.Cryptography" %>
<%@ Import Namespace="System.Threading" %>

<script runat="server">
    Sub Page_Load()
        Dim delay As Byte() = New Byte(0) {}
        Dim prng As RandomNumberGenerator = New RNGCryptoServiceProvider()
        
        prng.GetBytes(delay)
        Thread.Sleep(CType(delay(0), Integer))
        
        Dim disposable As IDisposable = TryCast(prng, IDisposable)
        If Not disposable Is Nothing Then
            disposable.Dispose()
        End If
    End Sub
</script>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <div>
        An error occurred while processing your request.
    </div>
</body>
</html>

如果ASP.NET应用中已有web.config文件:

对于.NET Framework 3.5 RTM及之后版本

1. 在已有的web.config文件中插入以下内容:

<?xml version="1.0"?>
<configuration>
<configSections>
...
</configSections>
<appSettings>
...
</appSettings>
<connectionStrings>
...
</connectionStrings>

[<location allowOverride="false">
<system.web>
<customErrors mode="On" defaultRedirect="~/error.html" />
</system.web>
</location>]

<system.web>
...
</system.web>
<system.codedom>
...
</system.codedom>
</configuration>

2. 创建包含有通用出错消息的error.html文件并保存到根目录。

3. 或者,重新命名web.config文件中error.html文件指向已有的出错页面,但该页面必须显示通用内容。

对于.NET Framework 3.5 Service Pack 1及之后版本

1. 在根目录中创建名为web.config的文本文件并注入以下内容:

<?xml version="1.0"?>
<configuration>
<configSections>
...
</configSections>
<appSettings>
...
</appSettings>
<connectionStrings>
...
</connectionStrings>

[<location allowOverride="false">
<system.web>
<customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/ErrorPage.aspx" />
</system.web>
</location>]

</configuration>

<system.web>
...
</system.web>
<system.codedom>
...
</system.codedom>
</configuration>

2. 如果擅长使用C#,推荐使用以下ErrorPage.aspx文件:

<%@ Page Language="C#" AutoEventWireup="true" %>
<%@ Import Namespace="System.Security.Cryptography" %>
<%@ Import Namespace="System.Threading" %>

<script runat="server">
        void Page_Load() {
        byte[] delay = new byte[1];
        RandomNumberGenerator prng = new RNGCryptoServiceProvider();

        prng.GetBytes(delay);
        Thread.Sleep((int)delay[0]);
        
        IDisposable disposable = prng as IDisposable;
        if (disposable != null) { disposable.Dispose(); }
    }
</script>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <div>
        An error occurred while processing your request.
    </div>
</body>
</html>

3. 如果擅长使用Visual Basic .NET,推荐使用以下ErrorPage.aspx文件:

<%@ Page Language="VB" AutoEventWireup="true" %>
<%@ Import Namespace="System.Security.Cryptography" %>
<%@ Import Namespace="System.Threading" %>

<script runat="server">
    Sub Page_Load()
        Dim delay As Byte() = New Byte(0) {}
        Dim prng As RandomNumberGenerator = New RNGCryptoServiceProvider()
        
        prng.GetBytes(delay)
        Thread.Sleep(CType(delay(0), Integer))
        
        Dim disposable As IDisposable = TryCast(prng, IDisposable)
        If Not disposable Is Nothing Then
            disposable.Dispose()
        End If
    End Sub
</script>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <div>
        An error occurred while processing your request.
    </div>
</body>
</html>

厂商补丁:

Microsoft
---------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.microsoft.com/technet/security/

评论列表
正在加载评论……
  
评论   
呢  称:
验证码:
若看不清请点击更换!
内  容:
 
 
  在线洽谈咨询:
点击这里,在线洽谈   点击这里,在线洽谈   点击这里,在线洽谈
乘车路线    汇款方式   加盟合作  人才招聘
 
公司地址:青海省西宁市西关大街73号(三二四部队招行所四楼)     青ICP备13000578号-1 公安机关备案号:63010402000123    
QQ:147399120    mail:lostlove000@163.com    电话: 13897410341    邮编:810000
© Copyright( 2008-2009) QhWins.Com All Rights Reserved    版权所有:西宁威势电子信息服务有限公司 未经书面制授权,请勿随意转载!