Information Disclosure Nedir?

Burak
3 min readNov 11, 2020

--

Aslında adından da anlaşılacağı üzere Bilgi ifşa/açığa çıkması gibi anlamları var. Bilinmemesi ve ya görünmemesi gereken hassas bilgilerin açığa çıkması/ifşa olması anlamına geliyor. Diyelim ki bir web siteniz var sitenizde kullanıcılarınız var. Düşünün tüm kullanıcıların bilgileri ifşa oluyor. Kötü bir durum.

Peki ne tarz bilgiler açığa çıkarsa tehlikeli olabilir? Ve ne amaçla kullanılabilirler? Aslında bu açığa çıkan bilgiye ve sizin ne tür bir uygulamanız olduğu ile değişir. Etkisi çok yüksek de olabilir örneğin müşterilerinizin kredi kartı bilgilerinin sızması gibi ya da sadece kullanıcıların en sevdiği rengi öğrenmek gibi düşük etkilere de sahip olabilir. Veritabanın da depolanan her bilgi, hata mesajlarında ki bilgiler hepsi information disclosure’dur. Bilgi bilgidir.

Information disclosure tek başına bir güvenlik açığı oluşturmayabilir. Genelde başka güvenlik açıkları ile birleştirilir. Örneğin Nginx sunucununuz 1.17 gibi bir sürümde çalıştığını öğrendik. Tek başına işe yaramaz gibi duruyor ama google’da Nginx v1.17 vulnerability gibi bir arama yaparsam bu sürüme ait bir RCE (Remote Code Execution) bulabilirim. İşte RCE zaafiyetini kullabilmemizi sağladı halbu ki sadece version numarası örğrenmiştim.

Şimdi birkaç örnekle neler yapabileceğimizi görelim.

Diyelimki böyle bir alışveriş sitesine denk geldik. Gayet normal gözüküyor. Bir de sayfa kaynağını inceliyelim.

Geliştiricimiz bir hata yapmış ve tahmin edilmesi zor olan admin sayfasının adını javascript kodunda kullanmış.

hedefimiz /admin-fcpb92 adlı yolumuz.

Yola gidiyoruz ve işte admin panelindeyiz :)

Bir örneğe daha bakalım

Yine aynı sitedeyiz. Bu sefer istekleri inceleyeceğiz ve istekleri manipule edeceğiz. Tabii ki yine burp suite kullanacaz.

Bir ürüne tıklayalım ve arkada nasıl bir istek gittine bakalım.

Gayet normal bir istek productId=1 adlı değişkenimiz 1 numaralı ürünü bize getiriyor. Peki değişkenin değerini rastgele bir şekilde değiştirelim ve isteği geri yollayalım.

Random paramantre değeri

Sonucumuza bakalım ne döndü

500 Internal Server hatası aldık biraz aşağılara inelim

Ve işte işimize yarayacak bir bilgi. Apache sunucusu ve versiyon bilgisi hemen araştıralım.

Araştırmamızın sonucunda ciddi bir güvenlik açına karşı zaafiyetli olduğunu gördük. Burdan sonrası yeteneklerimize kalmış :)

Sonuç

Gördüğünüz üzere genelde Information Disclosure tek başına ciddi bir güvenlik açığı oluşturmayabilir. Ama bize başka güvelik açıklarını kullanmamız için bir yol göstericidir.

Peki ne yapmamız lazım?

Olması gereken kullanıcıya ekranda göstermeyeceğin hiçbir bilginin arkada dönen response’da dönmemesi gerek. Çok basit di mi? :)

Evet bir yazımızın daha sonuna geldik umarım bilgilendirici olmuştur. Hoşçakal :)

--

--