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.

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.

Ş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.

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

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.

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.

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...
Ö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.

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.

Ş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.

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

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.

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.

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...