网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 网络攻防 > 安全漏洞 > Microsoft > Microsoft .Net Framework多个空字节注入漏洞(MS07-040)  

Microsoft .Net Framework多个空字节注入漏洞(MS07-040)

2007-09-06  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

涉及程序:
Microsoft .Net Framework
 
描述:
Microsoft .Net Framework多个空字节注入漏洞(MS07-040)
 
详细:
Microsoft .NET Framework是一个流行的软件开发工具包。

网管联盟bitsCN_com

.NET Framework在处理网页请求时存在漏洞,远程攻击可能利用此漏洞绕过安全限制访问到敏感信息。 网管联盟bitsCN@com

.NET Framework的Server.MapPath、Server.Execute、Server.Transfer、String.Compare、System.Net.Mail.SmtpMail.Send方式没有正确地验证某些用户输入参数,允许用户在提交的URI中注入任意空字节。成功地利用此漏洞的攻击者绕过ASP.NET网站的安全限制下载任何网页的内容。

网管网www_bitscn_com

<*来源:Paul Craig (headpimp@pimp-industries.com)

网管网www.bitscn.com

链接:http://security-assessment.com/files/advisories/2007-07-11_Multiple_.NET_Null_Byte_Injection_Vulnera
     http://secunia.com/advisories/26003/
     http://www.microsoft.com/technet/security/Bulletin/ms07-040.mspx?pf=true
     http://www.us-cert.gov/cas/techalerts/TA07-191A.html
*>
网管联盟bitsCN_com

受影响系统:
Microsoft .NET Framework 2.0
Microsoft .NET Framework 1.1
Microsoft .NET Framework 1.0
 
 
攻击方法:
警 告

网管u家u.bitsCN.com

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

例1

网管bitscn_com

<%@ Page Language="vb" %>
<html>
  <head>
    <title>vb.net MapPath example </title>
    <script runat="server">

网管网www_bitscn_com

      Sub Page_Load()
         dim name as string
         dim realname as string
       name = request("name") & ".uploaded"
         realname = Mappath(".") & "\" & name
       response.write("Mappath of name = <b>" & MapPath(name) & "</b><br>")
          response.write("The real value is: <b>" & realname & "</b><br>")
网管网www_bitscn_com

      End Sub
    </script>
  </head>
<body>
  <asp:label id="Message" runat="server"/>
  <asp:label id="Message2" runat="server"/>
</body>
</html>
网管网www.bitscn.com

例2 网管联盟bitsCN_com

<%@ Page Language="VB" %>
<html>
<head>
  <script runat="server">
网管bitscn_com

    Sub Page_Load()
      Server.Execute(request("page"))
网管u家u.bitscn@com

    End Sub 网管bitscn_com

  </script>
</head>
<body>
</body>
网管网www_bitscn_com

例3

网管网www_bitscn_com

<%@ Page Language="VB" %>
<html>
<head>
  <title>Server.execute </title>
  <script runat="server">
网管网www_bitscn_com

    Sub Page_Load()
   Server.Transfer(request("page"))
    End Sub

网管联盟bitsCN_com

  </script>
</head>
<body>
网管bitscn_com


</body>

中国网管联盟bitsCN.com

例4 网管u家u.bitsCN.com

<%@ Page Language="vb" %>
<html>
  <head>
    <title>String.Compare</title>
    <script runat="server">

网管下载dl.bitscn.com

      Sub Page_Load() 中国网管论坛bbs.bitsCN.com

   dim allowed, sFirstItem, sSecondItem as string

网管u家u.bitscn@com

   sFirstItem = Request("first")
   sSecondItem = Request("second") 网管联盟bitsCN_com

   response.Write ("String.Compare - First item = " & sFirstItem & "<br>")
   response.Write ("String.Compare - Second item = " & sSecondItem & "<br>")

网管u家u.bitsCN.com

   if String.Compare(sFirstItem, sSecondItem) =0 then
     response.Write ("<b>String.Compare - Matched! Strings are the same</b>" & "<br>")  
   else
     response.Write ("<b>String.Compare - Failed!! Strings are diffrent </b>" & "<br>")
   End If

中国网管论坛bbs.bitsCN.com

   if sFirstItem=sSecondItem then
     response.Write ("Direct eval - Matched!" & "<br>")
     else
     response.Write ("<b>Direct eval - Failed!!</b>" & "<br>")
   End If

网管联盟bitsCN@com

      End Sub
    </script>
  </head>
<body>
</body>
</html> 网管论坛bbs_bitsCN_com

例5 网管u家u.bitsCN.com

<% @Import Namespace="System.Web.Mail" %>
<% @Import Namespace="System.IO" %>
<%@ Page Language="vb" %>
<html>
  <head>
    <title>vb.net MapPath example </title>
    <script runat="server">

网管论坛bbs_bitsCN_com


Private Sub Page_Load(sender As Object, e As System.EventArgs) 网管u家u.bitscn@com

Dim m As New MailMessage()

网管论坛bbs_bitsCN_com

m.From = "tester@security-assessment.com"
m.To = request("to") & "@security-assessment.com"
m.Subject = request("subject") & ": FromWebsite"
m.Body = request("body") & "This message was submitted by a user."
Response.Write("Sending mail to: " & m.to)
m.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1") 'basic authentication
m.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "username-goes-here")
m.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "password-goes-here") 'set your 中国网管联盟bitsCN.com

SmtpMail.SmtpServer = "mail.server.here"
SmtpMail.Send(m) 网管论坛bbs_bitsCN_com

End Sub

网管论坛bbs_bitsCN_com

    </script>
  </head>
<body>

网管下载dl.bitscn.com

</body>
</html>
 
 
解决方案:
临时解决方法: 网管联盟bitsCN@com

* ASP.NET Web开发人员可将通过Internet可访问值(如查询字符串、cookie或表单变量)获取的值与允许值列表对照,拒绝此范围之外的任何其他值。 中国网管联盟bitsCN.com

厂商补丁: 中国网管论坛bbs.bitsCN.com

Microsoft
---------
Microsoft已经为此发布了一个安全公告(MS07-040)以及相应补丁:
MS07-040:Vulnerabilities in .NET Framework Could Allow Remote Code Execution (931212)
链接:http://www.microsoft.com/technet/security/Bulletin/ms07-040.mspx?pf=true
 

网管u家u.bitscn@com


TAGs   注入   漏洞   字节   多个       "   <   &   Sub   Framework      
 上一篇:Microsoft Excel表单名远程拒绝服务漏洞   下一篇:Microsoft Windows Vista Teredo接口绕过防火墙规则漏洞(MS07-038)
Microsoft .Net Framework多个空字节注入漏洞(MS07-040) 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: