CustomError Açıklığı (CWE-756) | |||||
Bu makalede CustomError (CWE-756), yani Web Uygulamaya Özel Hata Sayfası Eksikliği açıklığı anlatılacaktır.
Açıklık Önem Derecesi: Düşük Açıklığın Etkisi: Bilgi İfşası Açıklığın Açıklaması: Web uygulamalar 404 Not Found, 400 Bad Request v.b. hata sayfalarında varsayılan hata sayfalarını yansıtmaktadırlar. Bu tarz varsayılan hata sayfalarında uygulamayla alakalı hassas veriler ifşa edilebilmektedir. Bir saldırgan bir istisnayı (exception’ı) kasıtlı olarak tetikleyebilir ve bu yolla uygulama ve sistem hakkında değerli bilgiler elde edebilir. Örn; işletim sistemi türü ve/veya versiyonu, web sunucu yazılımı ismi ve/veya versiyonu, framework ismi ve/veya versiyonu, veritabanı ismi, veritabanı tablosu ismi, veritabanı tablosunun kolon ismi, veritabanı bağlantı string’i (kullanıcı adı ve parola) v.b. Web uygulamalar kişisel (geliştiricinin oluşturduğu) hata sayfaları tanımlamadıklarında ve kullanmadıklarında “Web Uygulamaya Özel Hata Sayfası Eksikliği (CWE-12)” açıklığı vardır denir. Web uygulamalarda bu açıklık örneğin şöyle örneklenebilir: ASP.NET - Web.config - Güvensiz Örnek: <!-- GÜVENSİZ YAPILANDIRMA --> <?xml version="1.0" encoding="utf-8"?> <configuration> <system.web> ... <customErrors mode="Off"/> ... </system.web> </configuration> ASP.NET - Web.config - Güvenli Örnek (Alternatif #1): <!-- GÜVENLİ YAPILANDIRMA --> <?xml version="1.0" encoding="utf-8"?> <configuration> <system.web> ... <!-- Local ve Remote Kullanıcıların Her İkisi İçin --> <CustomErrors mode="On" defaultRedirect="global_hata_sayfasi.aspx"> ... </system.web> </configuration> ASP.NET - Web.config - Güvenli Örnek (Alternatif #2): <!-- GÜVENLİ YAPILANDIRMA --> <?xml version="1.0" encoding="utf-8"?> <configuration> <system.web> ... <!-- Yalnızca Remote Kullanıcılar İçin --> <CustomErrors mode="RemoteOnly" defaultRedirect="global_hata_sayfasi.aspx"> ... </system.web> </configuration> Ayar “off” olarak kaldığında hata durumlarında IIS varsayılan hata sayfasını son kullanıcıya dönecektir. Bu güvensiz durumdur. Ayar “on” veya “RemoteOnly” olarak güncellendiğinde ise hata durumlarında “defaultRedirect”teki geliştiricinin belirlediği / tasarladığı uygulamaya has hata sayfası son kullanıcıya dönecektir. Bu güvenli durumdur. Açıklığın Önlemi: ASP.NET web uygulamalarda web.config dosyası Yöntem #1 <!-- Local ve Remote Kullanıcıların Her İkisi İçin --> <CustomErrors mode="On" defaultRedirect="global_hata_sayfasi.aspx"> Yöntem #2 <!-- Yalnızca Remote Kullanıcılar İçin --> <CustomErrors mode="RemoteOnly" defaultRedirect="global_hata_sayfasi.aspx"> Yararlanılan Kaynaklar:
|
|||||
![]() |
|||||
|
|||||
Yorumlar |
|||||
Henüz yorum girilmemiştir. | |||||
Yorum Ekle | |||||