Asp.Net de Kritik Açık

Programlama28/09/2010


ScottGu`s Blog sayfasında yazılan yazıya göre Asp.Net`in tüm versiyonlarında çok kritik bir açık bulundu. Kötü niyetli kişiler bu açığı kullarak bir çok gizli dosyaya(web.config vb.) ulaşabiliyor. Açığın Asp.Net gibi bir sistemde çıkmış olması onu kullanan diğer hizmetleri de(Sharepoint vb.) riske atmış bulunuyor.

Yine aynı sayfada alınabilecek kişisel önlemler anlatılıyor. Türkçe yazmak gerekirse yayınlanan sitede "CustomError" anahtarını açıp "error.aspx" gibi bir sayfaya yönlendirme yapmak ve o sayfada da aşağıdaki kodlari çalıştırmak gerekiyor.

Web.config
<configuration>
   <system.web>
     <customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/error.aspx" />
   </system.web>
</configuration>

error.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>

<html>
<head runat="server">
    <title>Error</title>
</head>
<body>
    <div>
        An error occurred while processing your request.
    </div>
</body>
</html>

Açığın ortaya çıkmasından kısa bir süre sonra Microsoft Açıkla ilgili bir yama yayınladı. Aşağıdaki linkden gerekli yüklemeyi biran önce yüklemenizi tavsiye ederim...

http://support.microsoft.com/kb/2416471
Etiketler: