Stack Overflow Zafiyeti ve Exploit Yöntemi Merhabalar, Vizelerin, finallerin vs. araya girmesiyle neredeyse iki aydır yazmaya vakit bulamamıştım. Bugün elimden geldiğince stack tabanlı zafiyetlerden ve ne şekilde exploit edilebileceğinden bahsetmeye çalışacağım.Sonraki yazılarda stack tabanlı zafiyetlerin windows ve linux üzerinde exploit edilmesini anlatarak exploit geliştirme konularına girmeyi düşünüyorum.Bu yazı daha çok stack overflow zafiyetinin mantığını anlamaya yönelik olacaktır. Her neyse fazla uzatmadan başlayalım. Buffer Overflow (Arabellek Taşması) Nedir? Buffer, hafızada ard arda dizili türde veri tipi(int,char gibi) depolayan hafıza bloğudur.C’de bunlar array olarak geçer. Buffer Overflow ise, hatalı bir şekilde kullanılan fonksiyonlardan oluşan(strcpy,strcmp vs.) bir programda yer alan değişkenlere, saklama kapasitelerinden daha fazla veri yüklenmesi ile programın crash olması durumuna denir.E tamam sonra ne olacak? Kapasite aşıldığından dolayı programın akışı, normal a...
Remote Code Evaluation Nedir? Remote Code Evaluation (RCE), kullanıcı girdisinin bir string ya da bir dosyaya enjekte edilmesi ve bu girdinin kullanılan programlama diline ait parser (ayrıştırıcı) tarafından uygulanmasıyla ortaya çıkan bir açık türüdür. Bu durum, genelde, web geliştiricilerinin beklediği bir şey değildir. Bir Remote Code Evaluation zafiyeti suistimale açık web uygulaması ya da web sunucusunun tümü üzerinde bir risk meydana getirebilir. RCE ile ilgili önemli bir nokta şu ki neredeyse tüm programlama dillerinde açığın temelini oluşturan söz konusu evaluation (değerleme) fonksiyonları mevcuttur. RCE’yi Bir Örnekle Açıklayalım Kullanıcı girdilerinin, kodun evaluate edilmesini sağlayan fonksiyonlara enjekte edilmesine izin verdiğiniz takdirde bir code evaluation (kod değerleme) meydana gelebilir. Kasti olarak, örneğin, bir hesap makinesi programı yazmak amacıyla matematik fonksiyonlarına erişirken; veya tesadüfen bu olay meydana gelebilir. Tesadüfi denmesinin sebebi şu ki k...