exploit paylaşım grubumuz: t.me/HTTPwnn

PortSwigger - Lab: Web shell upload via obfuscated file extension

Katılım
13 Haz 2026
Mesaj
104
Reaksiyon
66
Puan
28
Konum
Warnight
Website
hack-db.org
xentr_thread_starter
Selamlar yeniden gençler bügünde kaldıgmız yerden devam ediyoruz, güzel bir lab ögretici ve temel-orta arası bir lab dikkatlice çözmenizi tavsiye ederim.

Öncelikle hemen herzamanki gibi wn.php dosyamızı hazır bulunduralım.
wn.php içerigi :
<?php echo file_get_contents('/home/carlos/secret'); ?>
Kodu Anlayalım :
file_get_contents('/home/carlos/secret'); Belirtilen yoldaki dosyanın içerigini alır.
echo alınan içergi ekranan yazdırır.

Evet wn.php dosyamız bu şekilde gelin direk .php upload etmeyi deneyelim ve alacagımız hataya bakalım.
İsteği yakaladım ve direk "Send To Repeater" yapıyoruz söylemeye gerek yok artık.

1781711671104.png

Gördügünüz gibi ne diyor bize :
Sorry, only JPG & PNG files are allowed
Sorry, there was an error uploading your file.


Bu ne demek peki sadece jpg ve png dosyalarına izin veriliyor diyor peki biz kurnazız ya Content-Type ile halledebilirmiyiz diye düşünüyoruz ve hemen Content-Type: image/png diyoruz.

1781711889491.png
Şimdi Content-Type Yerine image/png yazdık ama yine aynı hatayı verdi buda demek oluyorki mevzu medya türünde degil uzantısında diyorruz gelin birde wn.php.png deneyelim.

1781711966176.png

Evet yine avatars/wn.php.png diye kayıt edilmiş resiim öyle diyor yine hemen burp üzeri GET istegi atalım.

1781715694484.png

Ve görüyoruzki yine text olarak çalıştırmış sistem script olarak çalıştırmamış. Peki Şimdi Ne yapcaz ?
Önceki labdaki gibi .htaccess atıp deneylim bakalım ne olucak ?
Upload edilmiyor boş dönüyor istek düşünelim bakalım şimdi neler olucak ?

Bu sefer filename="wn.php.png" şeklinde değil, filename="wn.php%00.png" şeklinde yüklemeyi deneyeceğiz. Çünkü %00 karakteri null byte anlamına gelir. Yüksek seviyeli diller dosya isminin sonundaki .png uzantısını görüp güvenli kabul ederken; arka plandaki dosya sistemi "null byte" karakterini metnin sonu olarak kabul eder. Bu yüzden null byte'dan sonrası sistem tarafından silinir ve dosyamız sunucuya doğrudan wn.php olarak kaydedilir. Hadi gelin deneyelim.

1781716973560.png

Görüdügünüz gibi Response'a baktıgımızda dosyamızın wn.php diye upload edildigini görüyoruz hadi gelin GET istegi ile flagı yakalayalım.

1781717068212.png

Gördügünüz gibi bu lab içinde flagı yakaladık. File Upload serimizin bitmesine az kaldı tahminimce bugün akşam bitiririm. Bu gece WarNight FileUpload CTF i yayınlamayı düşünyorum. İyi Forumlar...
 

Ekli Dosyalar

  • 1781711662287.png
    1781711662287.png
    266.3 KB · Görüntülenme: 1
Selamlar yeniden gençler bügünde kaldıgmız yerden devam ediyoruz, güzel bir lab ögretici ve temel-orta arası bir lab dikkatlice çözmenizi tavsiye ederim.

Öncelikle hemen herzamanki gibi wn.php dosyamızı hazır bulunduralım.
wn.php içerigi :
<?php echo file_get_contents('/home/carlos/secret'); ?>
Kodu Anlayalım :
file_get_contents('/home/carlos/secret'); Belirtilen yoldaki dosyanın içerigini alır.
echo alınan içergi ekranan yazdırır.

Evet wn.php dosyamız bu şekilde gelin direk .php upload etmeyi deneyelim ve alacagımız hataya bakalım.
İsteği yakaladım ve direk "Send To Repeater" yapıyoruz söylemeye gerek yok artık.

Ek dosyayı görüntüle: 76

Gördügünüz gibi ne diyor bize :
Sorry, only JPG & PNG files are allowed
Sorry, there was an error uploading your file.


Bu ne demek peki sadece jpg ve png dosyalarına izin veriliyor diyor peki biz kurnazız ya Content-Type ile halledebilirmiyiz diye düşünüyoruz ve hemen Content-Type: image/png diyoruz.

Ek dosyayı görüntüle: 77
Şimdi Content-Type Yerine image/png yazdık ama yine aynı hatayı verdi buda demek oluyorki mevzu medya türünde degil uzantısında diyorruz gelin birde wn.php.png deneyelim.

Ek dosyayı görüntüle: 78

Evet yine avatars/wn.php.png diye kayıt edilmiş resiim öyle diyor yine hemen burp üzeri GET istegi atalım.

Ek dosyayı görüntüle: 79

Ve görüyoruzki yine text olarak çalıştırmış sistem script olarak çalıştırmamış. Peki Şimdi Ne yapcaz ?
Önceki labdaki gibi .htaccess atıp deneylim bakalım ne olucak ?
Upload edilmiyor boş dönüyor istek düşünelim bakalım şimdi neler olucak ?

Bu sefer filename="wn.php.png" şeklinde değil, filename="wn.php%00.png" şeklinde yüklemeyi deneyeceğiz. Çünkü %00 karakteri null byte anlamına gelir. Yüksek seviyeli diller dosya isminin sonundaki .png uzantısını görüp güvenli kabul ederken; arka plandaki dosya sistemi "null byte" karakterini metnin sonu olarak kabul eder. Bu yüzden null byte'dan sonrası sistem tarafından silinir ve dosyamız sunucuya doğrudan wn.php olarak kaydedilir. Hadi gelin deneyelim.

Ek dosyayı görüntüle: 80

Görüdügünüz gibi Response'a baktıgımızda dosyamızın wn.php diye upload edildigini görüyoruz hadi gelin GET istegi ile flagı yakalayalım.

Ek dosyayı görüntüle: 81

Gördügünüz gibi bu lab içinde flagı yakaladık. File Upload serimizin bitmesine az kaldı tahminimce bugün akşam bitiririm. Bu gece WarNight FileUpload CTF i yayınlamayı düşünyorum. İyi Forumlar...
es
 
Geri
En Üst