Secure Web Turkey
  • cPanel Optimizasyon
  • Sunucu Optimizasyon
  • Script Zafiyet Kontrolü
  • Hakkımızda
  • İletişim
Sonuç yok
Tüm sonuçları gör
Secure Web Turkey
  • cPanel Optimizasyon
  • Sunucu Optimizasyon
  • Script Zafiyet Kontrolü
  • Hakkımızda
  • İletişim
Sonuç yok
Tüm sonuçları gör
Secure Web Turkey
Sonuç yok
Tüm sonuçları gör

RCE Nedir ? Nasıl Önlenir ?

linux Yazar linux
Kasım 29, 2020
Script Bug - Bug Bounty, Web Güvenlik
5 dk okuma süresi

(Remote Command Execution) RCE Nedir ?

RCE( “Uzaktan Komut Yürütme“) kritik bir güvenlik açığıdır. Çok kritiktir çünkü saldırgan sunucuda komut çalıştırabilir.
Bu nedenle CVSS puanı (Ortak Güvenlik Açığı Puanlama Sistemi) 10.00‘dur. (en yüksek puan)

RCE Nasıl Meydana Gelir ?

Ben PHP üzerinden örnek vereceğim.
Bildiğiniz gibi PHP üzerinde komut çalıştırmaya yarayan bazı fonksiyonlar var.

passthru()
exec()
shell_exec()
system()
not: daha fazla fonksiyon bulunmaktadır burada bir kısmı yazılmıştır.

Örneğin bulunduğumuz dizini gösteren bir PHP kodu yazalım.

<?php
$komut="pwd";
echo exec($komut);
?>
Çıktı:
/home/user

Normal şartlarda PHP’de bu şekilde komut çalıştırabiliyoruz. Sitenin yazılımında yukarıda ki koda benzer bir kod varsa dikkat edilmeli.
Kullanıcıdan alınan bir verinin komut çalıştırma fonksiyonunda kullanılması RCE açığı meydana getirebilir. Örnek ile bakalım:
<?php

if (isset($_POST['metin']) && !empty($_POST['metin'])) {

              echo exec("echo isminiz ".$_POST['metin']);
           }
?>
<form method="post" action="/index.php">
<input name="metin" id="metin">
<button type="submit" class="isim"><span class="">İsmimi gir</span> <span class="ismini
gir"></span></button>
</form>

Örneğin böyle bir kod var. Kodumuzu çalıştıralım:

Siteye girdiğimizde bizi böyle bir yazı karşılıyor. Bir isim girelim:

Ben ahmet girip “ismimi gir” butonuna bastım. Ekrana “isminiz ahmet” dedi.
Şimdi bir saldırgan gözüyle bakalım.
Koda tekrar bakalım ve görelim.
echo exec("echo isminiz ".$_POST['metin']);
Kodumuzda exec fonksiyonu kullanılmış. exec fonksiyonu komut çalıştırırken kullanılan bir fonksiyondur.
Yazılımcı burada isminizi terminal komutuyla yazdırmak istemiş.
Alınan isim değerini “isminiz girilen değer” olarak ekrana bastırıyor.
Girilen isim yerine bir komut yazılırsa ne olacağına bakalım.

pwd yani bulunduğumuz dizini gösteren komutu girdik ve onayladık. Gördüğümüz gibi pwd isim yerine geçti yani hiç bir şey olmadı.
Yazılımcının yazdığı koda tekrar bakalım ve bunu nasıl geçeceğimize bakalım.
echo exec("echo isminiz ".$_POST['metin']);
Yazılımcı burada kelimeleri birleştirme işlemi yapmış. “echo isminiz” ile bizim girdiğimiz değeri birleştiriyor.
Biz girdiğimiz değeri ayrı bir komut gibi göstermeyi deneyeceğiz. Bunun için && ‘i kullanacağız. Bu ne işe yarıyor derseniz “ve” anlamına geliyor.
Yani diğer komuttan ayırabiliriz.

&& pwd yazarak gönderiyorum:

Evet komut çalıştırmayı başardık. Artık sistemde dilediğimiz komutu çalıştırabiliriz.
Bu anlamanız için basit bir örnektir.
RCE bazen hiç beklenmeyen yerlerde çıkabilmektedir. Çok geniş bir açıktır.

  • LFI zafiyeti bazı durumlarda RCE zafiyetine,
  • SQL injection zafiyeti bazı durumlarda RCE zafiyetine dönüşebilir.
  • OOB zafiyeti bazı durumlarda RCE zafiyetine dönüşebilir.

Bu liste daha da çoğalabilir. İşin özü sisteminizde hiç bir açık bırakmamaya çalışın. Bir açık diğer açığı tetikleyebilir.

RCE Nasıl Önlenir ?

Gelelim şimdi bu tehlikeli zafiyeti önlemenin yollarına.

  • Kullandığınız yazılımda komut çalıştırma fonksiyonlarını (shell_exec, exec gibi) kullanmayınız.
  • php.ini düzenlenmesi yaparak komut çalıştırma fonksiyonlarını kapatın.
  • WAF kullanın.
  • Sunucuzda bulunan diğer açıkları kapatın. Başka açıklar RCE açığını tetikleyebilir.
  • Sunucuzu güncel tutun. RCE Exploit çıkabilir daha detaylı bilgi için Exploit Nedir Nasıl Önlenir ? Adlı konumuzu okuyabilirsiniz.
  • CMS güvenliği yaptırabilirsiniz. İletişime geçebilirsiniz.
  • Sunucu optimizasyonu yaptırabilirsiniz. Zararlı PHP foksiyonlarının kapatılması oldukça önemli. Perl ve CGI’ın kapatılmasında da yarar var.
  • Sunucunuzda kurulu yazılımda açık olduğunu tespit ettirmek için pentest yaptırabilirsiniz. İletişime geçebilirsiniz.
  • Yazılımınızı güvenli yerlerden temin edin. Warez forumlarından almayın.
  • Gereksiz eklenti vs. kurmayınız exploit ve açık çıkma oranı artar.
  • Kullanıcıdan alınan verinin kullanıldığı yerlere dikkat edin.
  • Kullanıcıdan alınan veriyi filtreden geçirin. “&&” gibi şeylerin kullanılmasını engelleyin.
  • Dosya yükleme alanlarını kontrol edin. Zararlı dosyalar yüklenmesini engelleyin.

RCE Nedir ? Nasıl Önlenir ? Adlı konumuzun sonuna geldik. Okuduğunuz için teşekkürler.

Etiketler: RCEremote command execution
PaylaşTweetPin

İlişkili Yazılar

XSS(Cross Site Scripting) Nedir?
Genel

XSS(Cross Site Scripting) Nedir?

XSS(Cross Site Scripting) Yazılımcının kullanıcıdan aldığı veriyi backend tarafta hiçbir filtre yapmadan yeniden kulllanıcıya sunması sebebiyle ortaya çıkan bir zafiyettir....

Aralık 20, 2021
PHP Kodlarken Dikkat Edilmesi Gerekenler
Cms Güvenlik

PHP Kodlarken Dikkat Edilmesi Gerekenler

PHP Kodlarken Dikkat Edilmesi Gerekenler PHP günümüzde çok yaygın olarak kullanılan bir dil. Web site yaparken fazlasıyla kullanılıyor.Bu konuda PHP...

Mart 29, 2021
Site Güvenliği Nasıl Sağlanır ?
Web Güvenlik

Site Güvenliği Nasıl Sağlanır ?

Site Güvenliği Nasıl Sağlanır ? Günümüzde sitelerin güvenliği fazlasıyla önem arz ediyor. Özellikle elektronik ticaret gibi ticaret sitelerinin güvenlikli olması...

Ocak 25, 2021
Yetki Yükseltme (Privilege Escalation) Nedir ?
Genel

Yetki Yükseltme (Privilege Escalation) Nedir ?

Yetki Yükseltme (Privilege Escalation) Nedir ? Yetki Yükseltme (Privilege Escalation) Nedir ? Yetki yükseltme adından anlaşılacağı gibi bir sistemde daha...

Aralık 24, 2020

Yorumlar 1

  1. Geri bildirim: LFI açığını RCE açığına dönüştürmek – Secure Web Turkey

Bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Solve : *
30 ⁄ 5 =


Önerilen

Botnet Nedir ?

Botnet Nedir ?

Aralık 21, 2020
Memory Hack Nedir ?

Memory Hack Nedir ?

Kasım 29, 2020
CloudLinux Nedir ?

CloudLinux Nedir ?

Ağustos 6, 2020
Hangi CMS’yi Seçmeliyim ?

Hangi CMS’yi Seçmeliyim ?

Aralık 2, 2020
  • Hakkımızda
  • İletişim
  • Script Zafiyet Kontrolü
  • Cms Güvenliği
  • cPanel Optimizasyon
+90536 680 3775
Sonuç yok
Tüm sonuçları gör
  • Ana Sayfa
  • Cms Güvenliği
  • cPanel Optimizasyon
  • Hakkımızda
  • İletişim
  • Script Zafiyet Kontrolü