Araştırmacılar potansiyel saldırganlar için çeşitli giriş noktaları buldular; bunlardan biri, önemli bir SQL enjeksiyon güvenlik açığından yararlandıkları Apple’ın Book Travel portalıydı.
Masa/Mura CMS ile yapılan deneyler, öncelikle Apple ortamında mevcut olan saldırı yüzeyini ortaya çıkardı.
JSON API ana odak noktasıydı çünkü Apple ortamında mevcut olan belirli işlevlere erişim sağlıyordu. Bir JSON API’si, araştırmacıların keşfettiği potansiyel olarak duyarlı havuzların kaynağı olmalıdır.
Ücretsiz Web Semineri Canlı API Saldırı Simülasyonu: Yerinizi Ayırın | API’lerinizi bilgisayar korsanlarından korumaya başlayın
Güvenlik Açığı Havuzunun Belirlenmesi
ProjectDiscovery Cloud Platform’daki bir blog gönderisinde araştırmacılar, SQL enjeksiyon havuzu tespitine nasıl odaklandıklarını açıklıyor.
- Her CFM/CFC dosyasını ayrıştırın.
- Her ifadenin üzerinden geçin, bir etiketse ve adı cfquery ise ifadeyi seçin.
- Cfquery’nin kod bloğu içindeki tüm etiketleri (cfqueryparam gibi) soyun ve kod bloğunda hala argümanlar varsa, bu durumda giriş parametreleştirilmez ve başka bir doğrulama olmadığı sürece sorgu bir SQL enjeksiyonuna duyarlıdır.
- Bu sorguyu yazdırın.
Araştırmacılar tarafından dspObjects işlevinde kritik bir durum bulundu. GetObjects’i çağırmadan önce bir if koşulunun karşılanması gerekir: Mura sunucu uygulaması olay işleyicisinin isOnDisplay özelliğinin true olarak ayarlanması gerekir.
İlk başta araştırmacılar, olay işleyicideki herhangi bir özelliğin, yalnızca özellik adını ve değerini parametre olarak sağlayarak ayarlanabileceğini düşündüler. Kod tabanındaki hata ayıklama oturumları bu hipotezin temelini oluşturdu.
önizlemeID özelliği, bağımsız değişken olarak sağlanarak herhangi bir değere ayarlanabilir ve bu, isOnDisplay özelliğinin true olarak ayarlanmasına neden olur.
“Bu, hataya dayalı bir SQL enjeksiyonu olduğundan, Uzaktan Kod Yürütme (RCE) elde etmek için bunu oldukça kolay bir şekilde kullanabilirdik. Yerel olarak RCE’yi başarıyla gerçekleştirdik” dedi araştırmacılar.
Araştırmacılar RCE’yi başarılı bir şekilde yürütmek için bu prosedürleri kullandılar:
- Yönetici kullanıcısının şifresini sıfırlayın.
- Sıfırlama belirtecini ve kullanıcı kimliğini SQL enjeksiyonu yoluyla edinin.
- Süzülmüş bilgilerle parola sıfırlama uç noktasını kullanın.
- CFM dosyalarını yüklemek için eklenti kurulumunu kullanın.
Bulguların Açıklanması
Araştırmacılar bulgularını Apple ve ilgili Masa ve Mura CMS ekipleriyle gerektiği gibi paylaştı.
Apple, ilk rapordan sonraki iki saat içinde yanıt vererek ve bir düzeltme uygulayarak belirtilen sorunu derhal çözdü.
Masa, Mura CMS’nin açık kaynaklı bir çatalıdır; Masa CMS’nin büyük bir şeffaflığa sahip sabit bir sürümünü yayınladılar.
Başka bir kritik kimlik doğrulama öncesi SQL enjeksiyonunu ele alan ve CVE (CVE-2024-32640) olarak atanan en yeni güvenlik düzeltmeleri 7.4.6, 7.3.13 ve 7.2.8 sürümlerinde bulunmaktadır.
Bu güvenlik açıklarıyla ilgili olarak Mura ekibiyle çeşitli iletişim yöntemleri aracılığıyla birçok kez iletişime geçilmesine rağmen herhangi bir yanıt alınamadı.
Is Your Network Under Attack? - Read CISO’s Guide to Avoiding the Next Breach - Download Free Guide