RCE Nedir?
Remote Code Execution Saldırganın Bir Başka Sisteme/Cihaza Erişim Sağlamak İçin Uzaktak Kod Yürüterek Programlama Diline Ait Ayrıştırıcı Tarafından Uygulanması Sonucu Ortaya Çıkan Açık Türüdür. Neredeyse Tüm Programlama Dillerinde Açığın Temelini Oluşturan Eval Fonksiyonu Mevcuttur.
RCE Nasıl Oluşur?
İlgili programlama dilinde kodu değerlendiren fonksiyonların içine kullanıcı girişi yapabiliyorsanız bir kod değerlendirmesi yapılabilir. Kullanıcı girişinin olduğu bir dosya veya bir dizeye enjekte edildiği takdirde ve programlama diline göre bu enjekte edilen kötü niyetli kod yürütüldüğünde ortaya çıkan bir güvenlik açığıdır. (bknz: RCE)
RCE İçin Alınacak Önlemler Nelerdir?
Eval gibi açığın temelini oluşturan fonksiyonları kullanmayarak önlemimizi almış oluruz.
Programlama dili tarafından değerlendirilen kod içerisinde kullanıcı girişi kullanmaktan kaçınabiliriz.
Kullanıcının web sitesine upload edebileceği dosyaların uzantılarını kısıtlayabiliriz. Örneğin bir PDF yükleme yerine sadece PDF dosyalarını yüklemesine izin verebiliriz fakat Burp Suite kullanarak bypass edilebilir bunun içinde önlemler alabilirsiniz.
Programlama dili tarafından değerlendirilen kod içerisinde kullanıcı girişi kullanmaktan kaçınabiliriz.
Kullanıcının web sitesine upload edebileceği dosyaların uzantılarını kısıtlayabiliriz. Örneğin bir PDF yükleme yerine sadece PDF dosyalarını yüklemesine izin verebiliriz fakat Burp Suite kullanarak bypass edilebilir bunun içinde önlemler alabilirsiniz.