Dot-Dot-Slash Nedir ?


Dot-Dot-Slash (Dizin atlama) zafiyeti gerekli olan (filtreleme/kodlama vb.) yapılmadığı dinamik sayfalarda web sitesinde ki güvenlik eksikliğinden yararlanarak hedef sistemde, sunucu üzerinde erişilmemesi gereken kritik dosyalar okunabilir, dizinlere erişim sağlanabilir.Bu zafiyet genellikle web sunucularında çıkan bir sorun.Windows işletim sistemin de "".." Linux ve Unix bazlı işletim sistemlerinde ise "../" karakteri ile yapılmaktadır.Her iki karakter de denenmelidir çünkü gördüğümüz ön yüz Linux veya Unix tabanlı bir sistem olsa da dosyanın depolandığı sunucu Windows olabilir.Sızma testlerinde direkt olarak sunucuda ki dosyalara erişemeyebiliriz bazen katmanlı olarak sunucudaki dosyalara değil dosya sunucusundaki dosyalara erişim sağlarız.



Şu isimler ile de bilinir ;


Directory traversal
Directory climbing
Backtracking
Path Traversal


Bu zafiyetin oluşmasının nedeni kullanıcı girdisinin web sunucusu veya başka bir sistem üzerindeki dosyalara okuma veya yazma amacıyla güvensiz biçimde kullanılmasından kaynaklanır.



İşletim sistemlerindeki dizin aşımı zafiyeti


Dot-Dot-Slash zafiyeti, uygulama vasıtası ile normalde erişilmemesi gereken dosya ve dizinlerin okunmasıdır. Hedef web uygulamasında yerel dosyaları gösteren sayfa da hedef web uygulamasının dosyalarına yönelik erişim sağlamak için dizin atlama denemeleri yapılır.Web uygulama,veritabanı sunucuları vb kurulumlarının sırasında kullanıcının tercihleri nedeniyle zafiyet oluşabilir.İşletim sistemindeki diğer dosyalara erişim sağlanmaya çalışılabilir.Uygulamaya giren kullanıcı sistemde yetkili biri ise ve uygulama bu zafiyeti kapsıyor ise erişim kontrolü sağlanabilir.



Örnek


Zafiyetin bulunduğu url'nin sonuna /etc/passwd ekleyerek denemeler yapabilirsiniz mesela hedefsite.com/page.php?view=../../../../../../../../../etc/passwd gibi denemeler yapabilir ve geliştirebiliriz.


İşletim sisteminin linux olduğunu bildiğimiz sistemde ;

http://173.12.228.131/dirtraversal/example1.php?file=../../../../../../../../../../../etc/passwd

Bu ifade ile dosyaya ulaşabiliyoruz.

Bu basit bir örnek daha değişik encodelarla bypass edilebilir %2e%2e%2f gibi ''%2fetc%2fpasswd? denenebilir ve geliştirilebilir.




İşletim Sistemlerinde


Zafiyet bulunan Windows sistemde ;


C:\boot.ini
C:\winnt\win.ini
C:\Windows\system
C:\Windows\system32\config\sam


Zafiyet bulunan Linux sistemde ;

/etc/passwd%00
/etc/hosts
/etc/passwd
/etc/group


gibi dosyalara deneme yaparak erişim sağlayabiliriz.