Hoşgeldin Misafir

WEB | OWASP TOP 10 | Directory Traversal

Reisci

Reisci

Yerli Ve Milli Hacker
11 Mar 2020
6,569 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
WEB | OWASP TOP 10 | Directory Traversal

Directory Traversal, bir web sayfası üzerinde URL üzerinden dizinler arası geçiş yapmaya yarayan bir güvenlik açığıdır. URL üzerinden saldırganın görmemesi gereken sistem dosyalarını okuyabilme hakkı verir. Nasıl yapıldığını application.security üzerinden inceleyelim.
Bob’a DealHub adında e-ticaret sitesi üzerinde zafiyet taraması gerçekleştirmesi isteniyor.
cw5g3qc.png

Bob web sayfası üzerinde gezinerek bilgi topluyor. Ardından bir ürün üzerinde yoğunlaşıyor yüklenen ürün resmini incelediğinde
8kc8vsx.PNG

Bob açılan resmin URL’sini incelediğinde TECH735.jpg dosyasının çağırıldığını görür. Bunun üzerine Directory Traversal açığını denemeye karar verir.
Ancak gelin önce kaynak kodlarını inceleyelim önce
1e9u0x0.PNG

Kaynak kodları incelediğimizde ”folderName” değişkenin, dizin adını tuttuğunu ”path” değişkeni ile de tüm değişkenlerin birleştirildiği görülüyor.Ardından write metodu ile tarayıcıda görüntülenmesi sağlanıyor.
lmavc6x.PNG

Resimde vurgulanan yerde path değişkeninin değeri gösteriliyor.
8c2ro6v.PNG

Fotoğraf adresini değiştirip ../../../../etc/passwd yazarak /etc dizini altındaki passwd dosyasını okumaya çalışıyoruz.
sn5bzpw.PNG

Görüldüğü üzere passwd dosyasının içerini ekrana basıyor ve bu şekilde Directory Traversal açığını sömürmüş olduk.
Gelin bu açığın nasıl fixlendiğini kaynak kodlar üzerinden inceleyelim.

a5756bv.PNG


Bir önceki kaynak kodlara getCanonicalPath adında bir method eklenerek gönderilen dosyalar iki kez kontrol ediliyor. Bu metod “..” şeklinde atlatmaları yakalıyor.​