2009-06-01 11 views
7

Sitelerimden birinde böyle hatalar alıyorum. Gün içerisinde, kullanıcıların sitede beklemeyecekleri dönemler için rastgele gerçekleşiyor.ScriptResource hatası: saldırıya uğradım mı?

Farklı ip adresleri

System.Web.HttpException: Invalid viewstate. at System.Web.UI.Page.DecryptStringWithIV(String s, IVType ivType) at System.Web.UI.Page.DecryptString(String s)

veya

System.Security.Cryptography.CryptographicException: Padding is invalid and cannot be removed. at System.Security.Cryptography.RijndaelManagedTransform.DecryptData(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount, Byte[]& outputBuffer, Int32 outputOffset, PaddingMode paddingMode, Boolean fLast) at System.Security.Cryptography.RijndaelManagedTransform.TransformFinalBlock(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount) at System.Security.Cryptography.CryptoStream.FlushFinalBlock() at System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, IVType ivType, Boolean useValidationSymAlgo) at System.Web.UI.Page.DecryptStringWithIV(String s, IVType ivType) at System.Web.UI.Page.DecryptString(String s)

Onlar bu sayfada meydana gelen daima:

ScriptResource.axd?d=VVe1O4rzLSI9hB5nRzBXZxUYTQz6ylDTL9djGR 

site kullanıcıları Ajax ve .NET 3 üzerinde çalışır.

I Bu kişi siteye girmeye çalışıyor mu? Sitede html ile bir hata mı?

Herhangi bir fikrin var mı?

cevap

5

Bu hatanın ViewState sunucunuzun eski bir ViewStateUserKey kullanılarak şifresinin çözülmesinden kaynaklandığını düşünüyorum. Bu hataları Çıkarma

iki adımlı bir işlemdir:

  1. bir siteye özgü doğrulama anahtarı olduğundan emin olun. this one gibi bir tane oluşturmak için birkaç çevrimiçi kaynak kullanabilirsiniz.
  2. Sayfanın ViewStateUserKey'in her zaman tutarlı olduğundan emin olun.

Setting the ViewStateUserKey property can help you prevent attacks on your application from malicious users. It does this by allowing you to assign an identifier to the view-state variable for individual users so that they cannot use the variable to generate an attack. You can set this property to any string value, such as the user's session ID or the user's authenticated name.

Sen (belki Sayfası ya da baz Page'in başlatma olayında) kendiniz ayarlayarak bunu yapabilirsiniz: MSDN belgelerine

if (Session["ViewStateUserKey"] == null) 
{ 
    Session["ViewStateUserKey"] = new Guid().ToString(); 
}  
this.Page.ViewStateUserKey = Session["ViewStateUserKey"].ToString(); 

Ve hayır, seni düşünmüyorum saldırıya uğradı.

+0

Peki bu bir nimet, Cevabınız için teşekkürler Ben bir vereceğim. Bu, kullanıcılar tarayıcısında bir hataya neden olur mu? – Paul

+0

Bunu yapmam gerektiğini farz edeyim, asla kendimi kopyalayamamış olmalarına rağmen - bende bu hata ile bol miktarda kütük gördüm. –

İlgili konular