Path Traversal (Directory Traversal) Açığı ve Kullanımı//StringingStroke

StringingStroke

Katılımcı Üye
8 Ocak 2017
596
1
Bilinmiyor
Merhabalar Forum Üyeleri!
Yine güzel bir konu ile karşınızdayım. Ne yazsam diye düşünürken birden aklıma bu açık geldi ve acaba bu konu ile çok fazla Türkçe kaynak var mı diye bakarken (Çok fazla kaynak olanları yazmamayı tercih ediyorum alıntı yapmak için değil ;)) pek fazla göremedim dolayısıyla bu konudan bahsetmeyi tercih ettim. Neyse lafı fazla uzatmadan konumuza geçelim.

#Path Traversal Açığı Nedir#​


Path Traversal namıdiğer Directory Traversal web root dizini dışında saklanan dosya ve dizinlere erişmeyi sağlar. Dosyaları "../" koyarak ulaşmanızı sağlar.mutlak dosya yollarını kullanarak, uygulama kaynak kodu veya konfigürasyon dahil olmak üzere dosya sisteminde depolanan rastgele dosyalara, dizinlere ve kritik sistem dosyalarına erişmek mümkün olabilir. Dosyalara erişimin, sistemin operasyonel erişim kontrolü (örneğin, Microsoft Windows işletim sisteminde kilitli veya kullanımda dosyalar olması durumunda) ile sınırlı olduğu unutulmamalıdır.
Öncelikle Directory Traversal zafiyetlerinde sıklıkla kullanacağımız parametreler şunlardır: Windows işletim sistemi gezinimi "".." Unix ve Linux işletim sistemlerinde ve türevlerinde ise "../" karakterleriyle yapılmaktadır. Ancak bazı Windows uygulamaları kullandıkları API lerden dolayı Unix/Linux türevi işletim sistemlerinde işe yarayan karakterleri de kabul edebilir. Ancak bazı sistemlerde reserved karakter veya engelli karakter olduğundan dolayı encoding yapmak zorunda kalabiliriz.Dolayısıyla kullanacğımız parametrelerde query string'e kontrollerine takılmaması için URL-encoding veya Unicode-encoding halleri kullanılmalıdır. Hatta bazen iki defa encode etmek gerekebilir.Bundan dolayı iki defa encode edilmişleri denemekte fayda vardır. bu tabloyu şöyle gösterebilirim.
oXMBX9.jpg

Kod:
[CENTER]Unix/Linux işletim sistemlerinde deneyebilecekleriniz şunlardır:
../         ..%2f
%2e%2e..%2f      ..%252f
%252e%252e%252f[/CENTER]
#Path Traversal Keşfinde Dikkat Edilmesi Gerekenler#
Path Traversal açığı keşfi için öncelikle dosya veya dizin erişimlerinde kullanılan girdi linklerinin keşfi yapılmalıdır. Çünkü site üzerinde bulunan her girde URL sinde bu zafiyetin olacağı kesin değildir. Uygulamalarda view,page,path,template,url,item,filename vb. gibi olan parametreler veya .txt,doc vb. uzantılı dosyaları çağıran girdi noktaları, Path Traversal açığı bulunabilinecek ihtimal URL'lerdir. Benzetme yapmak gerekecek olursak SQLi de siteadi.com/index.php?id=5 te potansiyel olmasına benzetebiliriz.
#Path Traversal Açığı Kullanımı#
URL'nin sonuna size gösterdiğim kodları kullanarak ve sonuna /etc/passwd ekleyerek kullanabilirsiniz. örneğin siteadresi.com/page.php?view=../../../../../../../../../etc/passwd gibi şekillerde ulaşabilirsiniz.
Site size cevap olarak bu hata şeklinde veriyi verecektir.
Bu sadece 1 yoludur kendinizi dahada geliştirebilirisiniz veya daha değişik encodelarla bypass edebilirsiniz.
 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.