THT DUYURU

Web & Server Güvenliği Doğru web ve veritabanı sunucusu güvenliği sağlanmadan, bilgisayar korsanları hassas verilerinize erişebilir. Web, Sunucu ve veritabanı güvenliğini nasıl sağlayacağınızı buradan öğrenebilirsiniz.

chat
Seçenekler

Remote Command Execution (RCE) Açığı

tokikolik - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2017
Nereden:
İstanbul
Yaş:
20
Mesajlar:
1.422
Konular:
141
Teşekkür (Etti):
95
Teşekkür (Aldı):
207
Ticaret:
(0) %
16-05-2017 22:28
#1
Remote Command Execution (RCE) Açığı
Bu güvenlik açığı tüm türler arasında en tehlikelisidir ve genelde 10 üzerinden 10 ile derecelendirilir. Bulmak zordur. Komut çalıştırma açığı aranan scriptte, komut çalıştıran bi kod parçası olması gerekir haliyle. Bu yüzden bulmak zordur, çünkü çok gerekmedikçe webmasterlar kolay kolay komut çalıştıran kodlar yazmaz. Ancak her sistemin her katmanında bu tip açıklara rastlanabilir. Biz burada web hacking'deki mevzusundan bahsedeceğiz.


Önce "remote code execution" ve "remote command execution" farklarından bahsedeceğim.
Remote code execution demek, script üzerinden kod çalıştırma açığı demek. Bilirsiniz eval() fonksiyonu ve bu fonksiyonla aynı mantıkla çalışan veya bünyesinde bu fonksiyonu çağıran fonksiyonlar remote code execution'a sebebiyet vermektedir. Eval desteği olan her web programlama dilinde karşılaşılabilir ve o script dilinde yazacağınız kodları çalıştırabilmenize imkan sağlar. Ama "remote command execution" farklıdır. Bu açık türü ise bu tür script dilleri üzerinden işletim sistemine yapılan çağrıları kullanır. Yani script kodları değil, doğrudan cmd/shell komutları çalıştırırsınız.


Önce php de sistem shell çağrısı yapan fonksiyonlara bakalım;

1
passthru()
2
exec()
3
shell_exec()
4
proc_open()
5
system()
6
popen()
7
`komut`

(` ve ` arasına yazılmış her şey shell_exec fonksiyonuna gönderilir. fonksiyondan emin değilim ama bi php açın içine komutu bu özel tırnak(backtick) içinde yazın, komut olarak çalıştırılır.)

Genel olarak bunlar sistemde komut veya herhangi bi uygulama çalıştırmaya yarayan fonksiyonlardır.

Peki bu fonksiyonları webmaster ne gibi durumlarda kullanır?

Örneğin; whois, ping, traceroute gibi komutlar, pek çok domain ve network işlemlerini kolaylaştırabilir. Dolayısıyla bu gibi formlar arka planda sizden aldığı verileri önce shell komutuna gönderip daha sonra çıktıyı size iletiyor olabilir. Bu tabi sadece bir örnek, video dönüştürme, image process, debugging vs. vs. vs. daha pek çok sebeple bu gibi sistem çağrıları kullanılıyor olabilir.








-------------------------------------------------------KAYNAK-------------------------------------------------------
Remote Command Execution (RCE) - Diary of Injector

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler