PortSwigger Directory Traversal
Directory traversel ( Path traversal olarak da bilinir), saldırganların hedef sunucuda keyfi dosya okumasına izin veren bir güvenlik zafiyetidir. Bu okunan dosyalar, kod, data, back-end bilgileri veya önemli işletim sistemi dosyaları olabilir. Bazı durumlarda saldırgan sunucu üzerindeki dosyalara yazma eylemi gerçekleştirerek hedef sunucuda full kontrole sahip olabilir.
Lab 1 Lab 2 Lab 3 Lab 4 Lab 5 Lab 6
Lab-1 File path traversal, simple case
Bu laboratuvardaki product images görüntülenmesinde file path traversal güvenlik zafiyeti bulunmaktadır. Lab’ın tamamlanması için /etc/passwd dosyasının görüntülenmesi gerekmektedir.
Ürün görsellerini incelemek için yapılan request üzerinde “/etc/passwd” payload’ı gönderilerek hedeflenen dosya içeriği görüntülenmektedir.
Lab-2 File path traversal, traversal sequences blocked with absolute path bypass
Bu laboratuvardaki ürün görsellerini görüntülemede file path traversal güvenlik zafiyeti bulunmaktadır.
Uygulama traversal sequence’leri engellemektedir. Lab’ın tamamlanması için /etc/passwd dosyasının görüntülenmesi gerekmektedir.
Lab-3 File path traversal, traversal sequences stripped non-recursively
Bu laboratuvardaki ürün görsellerini görüntülemede file path traversal güvenlik zafiyeti bulunmaktadır. Uygulama kullanıcı tarafından sağlanan dosya adından path traversal dizinini çıkartır. Lab’ın tamamlanması için /etc/passwd dosyasının okunması gerekmektedir.
Uygulama alınan girdideki nokta ve eğik çizgi karakterlerini çıkartmaktadır fakat çıkartma işlemi sadece bir kere yapılmaktadır. Payload ….//….//….//etc/passwd olarak değiştirildiğinde hedeflenen dosyaya erişilmektedir.
Lab-4 File path traversal, traversal sequences stripped with superfluous URL-decode
Bu laboratuvardaki ürün görsellerini görüntülerken path traversal güvenlik zafiyeti oluşmaktadır. Uygulama path traversal işlemi için gerekli olan karakterleri engellemektedir. Lab’ın tamamlanması için /etc/passwd dosyasının okunması gerekmektedir.
Payload URL-encoded olarak gönderildiğinde hedeflenen dosya görüntülenmektedir.
Lab-5 File path traversal, validation of start of path
Bu laboratuvardaki ürün görsellerini görüntülemede path traversal güvenlik zafiyeti bulunmaktadır. Uygulama girilen path’in beklenen klasörde başladığını doğrular. Lab’ın tamamlanması için /etc/passwd dosyasının görüntülenmesi gerekmektedir.
Uygulama girdi olarak aldığı yolun “/var/www/images/” olduğunu doğrulamaktadır. Bu yüzden payload bu doğrulama ile başlamaktadır. Sonrasında dizinlerden geri gidilmektedir ve /etc/passwd dosyası görüntülenmektedir.
Lab-6 File path traversal, validation of file extension with null byte bypass
Bu laboratuvardaki görseller görüntülenirken path traversal güvenlik zafiyeti oluşmaktadır. Uygulama hedeflenen dosyanın uzantısını doğrulamaktadır. Lab’ın tamamlanması için /etc/passwd dosyasının görüntülenmesi gerekmektedir.
Uygulama girdinin .png .jpg gibi bir uzantı ile bitmesini istemektedir. Null byte kullanılarak path’in uzantıdan sonra bitmesi sağlanabilmektedir.