22 Şubat 2015

Web Uygulama Denetimi - Bölüm-13: SOAP Mesajlarına Enjeksiyon

Simple Object Access Protocol (SOAP) genellikle arka sistemlerde yük paylaşımı gerektiren kurumsal uygulamalarda kullanılan bir teknolojidir. SOAP veri iletişimini kapsüllemek için XML formatını kullanır. XML yorumlanan bir veri bloğu dili olduğundan enjeksiyon tehdidine açıktır. XML elemanları <, > ve / metakarakterleri kullanılarak tanımlanır.


SOAP mesajlaşmasında kullanılan XML mesajlarına kullanıcıdan alınan girdilerin yerleştirilmesi durumunda enjeksiyon mümkün olmakla birlikte anlamlı bir saldırı yapmak mesaj yapısı bilinmiyorsa çok kolay değildir. Hatalı denemeler büyük olasılıkla çok bilgi vermeyen bir hata mesajıyla sonuçlanacaktır. Yine de belli bir güvenilirlik derecesiyle SOAP enjeksiyon açıklıklarını tespit etmek için şu adımlar izlenebilir:

  • Her bir parametre için hatalı bir XML kapama etiketi gönderilir (örneğin </dene>). Eğer bir hata yaşanıyorsa SOAP enjeksiyon açıklığı bulunma ihtimali vardır.

  • Hata alınıyorsa doğru biçimde açılmış ve kapanmış bir etiket çifti gönderilir (örneğin <dene></dene> çifti). Hata ortadan kalkıyorsa SOAP enjeksiyon açıklığı bulunma ihtimali yüksektir.

  • Bazı durumlarda XML formatlı bir mesaja yerleştirilen girdiler tekrar XML formatından okunarak kullanıcıya gösterilir. Eğer girilen veriler tekrar kullanıcıya gösteriliyorsa aşağıdaki girdiler denenebilir ve geri dönen verilerin normalize edilip edilmediği izlenir. Eğer aşağıda girilen verilerden biri diğeri gibi döndürülüyorsa veya sadece “test” metni dönüyorsa girdinizin bir XML mesajına yerleştirildiğinden emin olabilirsiniz:

  • test<dene/>
  • test<dene></dene>

  • Eğer HTTP isteğinin içinde birden fazla SOAP mesaj enjeksiyonu yapılabilen parametre tespit edilirse parametrelerden birine yorum açma karakterleri olan “<!- -“ diğerine de kapama karakterleri olan “!- ->” girilir. Ayrıca XML mesajı içindeki sıraları bilinemediğinden tersi de denenmelidir. Bu deneme sonrasında uygulama mantığında bir değişiklik yapılıp yapılamadığı incelenir.


<<Önceki Bölüm                                                                                                      Sonraki Bölüm>>