Directory Traversal Kullanarak Sistemde Gezinme

BGA Security Wiki sitesinden
Şuraya atla: kullan, ara

Amaç:

Hedef sistemdeki Directory Traversal zafiyetini istismar ederek, sistemdeki kritik dosyaları okumak.

Lab Senaryosu:

Directory Traversal zafiyeti olan bir uygulama. Örnek olarak, HTTP GET metodu ile aldığı dosya adının sonuna .css ekleyerek file_get_contents fonksiyonunu çağıran ve sonucu geri döndüren bir PHP betiği.

Araç:

  • Iceweasel 18
  • curl 7.19.7

Adımlar:

  • Directory Traversal zafiyeti, uygulama aracılığıyla planlananın dışındaki dosya ve dizinlerin okunmasıdır. Hedef web uygulamasında, yerel dosyaların içeriklerini gösteren (veya benzer işlemler yapan) sayfaya girilir ve farklı dosya isimlerine veya dizin atlama denemelerine karşı verdiği tepkiler gözlenir. Örnek uygulama “http://localhost/dirtraversal.php?cssfile=1” cssfile parametresiyle belirlenen isimdeki CSS dosyasının içeriğini, ekrana basar. cssfile parametresine, sunucuda bulunmayan bir dosya adı verildiğinde, boş bir sayfa dönmektedir. İlk adımda, CSS dışında bir dosyayı okuma ihtimali için “http://localhost/dirtraversal.php?cssfile=dirtraversal.php” denenir. Sistem eklenen dosya adının sonuna bir de .css eklediği için girişim başarısız olur. Bunu aşmak için, dosya adının sonuna null karakter’in url encoded versiyonu %00 eklenip, tekrar denenir. “http://localhost/dirtraversal.php?cssfile=dirtraversal.php%00” düzgün çalışması beklense de bazı tarayıcılarda %00 karakterini göndermeme sorunu olabilir ve yine sonuç alınamayabilir. Bu yüzden, en garanti çözüm curl uygulamasını kullanmaktır
curl "http://localhost/dirtraversal.php?cssfile=dirtraversal.php%00


Dtkullanaraksistemdegezinme1.png

dirtraversal.php Dosyasının içeriğinin okunabildiği görülmüştür.

  • Zafiyet doğrulandıktan sonra, sistemdeki kritik dosyalar okunarak, istismar işlemi gerçekleştirilir. /etc/passwd ve /etc/shadow dosyaları, hedef uygulamanın konfigürasyon dosyalar örn: “../../includes/dbconf.inc” (veri tabanı giriş bilgileri vb. elde etmek için), /etc/sysconfig/network-scripts/ifcfg-eth0 gibi dosyalar okunup, elde edilen bilgilerle, sisteme daha etkili ataklar gerçekleştirilir.

Dtkullanaraksistemdegezinme2.png