💣 Command Injection Nedir ❓ Uygulama Üzerinden Sistem Komutları Çalıştırma Tehlikesi

Paylaşımı Faydalı Buldunuz mu❓

  • Evet

    Oy: 7 100.0%
  • Hayır

    Oy: 0 0.0%

  • Kullanılan toplam oy
    7

ErSan.Net

ErSan KaRaVeLioĞLu
Yönetici
❤️ AskPartisi.Com ❤️
Moderator
MT
21 Haz 2019
47,375
2,494,327
113
42
Ceyhan/Adana

İtibar Puanı:

💣 Command Injection Nedir ❓ Uygulama Üzerinden Sistem Komutları Çalıştırma Tehlikesi​


“Bir uygulamaya komut vermek, anahtarı doğrudan çekmeceye bırakmaktır.”
Ersan Karavelioğlu



1️⃣ Command Injection Nedir ❓


💣 Command Injection, kullanıcıdan alınan girdilerin yeterince filtrelenmeden işletim sistemi komutlarıyla birlikte çalıştırılması sonucu ortaya çıkan kritik bir güvenlik açığıdır.
🧠 Uygulama konuşur;
✨ Sistem dinler ve uygular.




2️⃣ Neden Bu Kadar Yıkıcıdır ❓


🔥 Çünkü hedef uygulama değil, işletim sistemidir.
🧠 Dosya okuma, silme, kullanıcı ekleme mümkündür.
✨ Sonuç, tam sunucu kontrolüne kadar gider.




3️⃣ Command Injection Nasıl Oluşur ❓


📝 Uygulama bir komut çağırır (ör. ping, convert, ffmpeg).
⚠️ Kullanıcı girdisi doğrudan komuta eklenir.
🧠 Ayraçlar (;, &&, |) ile komut zinciri kırılır.




4️⃣ Basit Bir Mantık Örneği ❓


🧪 Beklenen: ping example.com
💥 Saldırı: example.com; cat /etc/passwd
🧠 İlk komut çalışır, ikincisi arka kapıdan yürür.




5️⃣ En Sık Görüldüğü Alanlar ❓


🛠️ Sistem araçlarını çağıran özellikler
📁 Dosya dönüştürme/işleme
📡 Network testleri
🧠 “Kullanışlı” fonksiyonlar risklidir.




6️⃣ OS Command Injection vs SQL Injection ❓


🧱 SQL Injection → Veritabanı
💣 Command Injection → İşletim sistemi
🧠 Etki alanı Command Injection’da çok daha geniştir.




7️⃣ Ayraçlar ve Operatörler ❓


🔗 ; && || | $() `
🧠 Bir tanesi bile yeterlidir.
✨ Filtrelenmezse kapı açılır.




8️⃣ Blind Command Injection Nedir ❓


🕳️ Komut çalışır ama çıktı görünmez.
📡 Etki zaman, DNS, dosya yan etkilerinden anlaşılır.
🧠 Tespiti zordur, riski aynıdır.




9️⃣ Yetkiler Neden Belirleyicidir ❓


🪪 Uygulama hangi kullanıcıyla çalışıyor?
⚠️ root ise felaket hızlanır.
🧠 En az ayrıcalık burada hayat kurtarır.




🔟 Container ve Sandbox Yanılgısı ❓


🐳 “Container içindeyiz, sorun yok.”
⚠️ Yanlış yapılandırma varsa kaçış mümkündür.
🧠 İzolasyon doğru yapılırsa korur.




1️⃣1️⃣ Neden Hâlâ Yaygındır ❓


⚠️ Eski kodlar
📦 Legacy script’ler
🧠 “Çalışıyor” refleksi güvenliği bastırır.




1️⃣2️⃣ Input Validation Yeterli mi ❓


🚫 Hayır.
🧠 Kara liste aşılabilir.
✨ Asıl çözüm komut çağırmamak ya da güvenli API’lerdir.




1️⃣3️⃣ Güvenli Alternatifler ❓


🧩 OS komutu yerine yerleşik kütüphane kullanımı
🧠 Parametrik API’ler
✨ Shell’e çıkmamak en güvenlisidir.




1️⃣4️⃣ Escaping Tek Başına Çözüm mü ❓


⚠️ Hayır.
🧠 Yanlış bağlamda escape işe yaramaz.
✨ Bağlam farkındalığı şarttır.




1️⃣5️⃣ WAF Command Injection’ı Engeller mi ❓


🛡️ Bazı bilinen payload’ları yakalar.
⚠️ Blind ve özel kaçışlar geçebilir.
🧠 Uygulama içi önlem esastır.




1️⃣6️⃣ Loglama ve Tespit ❓


📜 Anormal komut desenleri
📡 Beklenmeyen outbound bağlantılar
🧠 Erken uyarı, hasarı küçültür.




1️⃣7️⃣ En Büyük Yanılgı ❓


🚫 “Bu alan kimsenin ilgisini çekmez.”
⚠️ Otomasyon her alanı dener.
🧠 Küçük girişler büyük çıkışlar doğurur.




1️⃣8️⃣ Nasıl Önlenir ❓


🧭 Shell çağrılarını kaldır
🔐 En az ayrıcalıkla çalıştır
📦 Güvenli kütüphaneler kullan
🧠 “Komut” kelimesi alarmdır.




1️⃣9️⃣ Son Söz ❓ Komut, Güvenlikten Daha Hızlıdır​


🪶 Command Injection, uygulamaya verilen yetkinin geri alınamamasıdır.
🧠 Bir kez sistem konuşursa, susması zordur.
✨ Güvenli uygulama, sistemi konuşturmaz.


“Sunucuya konuşma izni verdiğinde, ne söyleyeceğini de kontrol etmelisin.”
Ersan Karavelioğlu
 

M͜͡T͜͡

Geri
Üst Alt