Today's Learning
CTF çözdüğüm sıralarda öğrendiğim ufak tefek ama kritik bilgileri unutmamak maksadıyla burada paylaşıyorum. Bugün neler öğrendim Bir string'in boyutu değiştiğinde bellekteki adresi de değişir. Debugger ile bir fonksiyonu incelemeye başlamadan önce fonksiyonun stack frame'ini öğren. Bunu bilmek sana stack'i analiz ederken kolaylık sağlar. Bir uygulama, dosya çağıracağı vakit dosyayı aramaya başlayacağı yer uygulamanın çalıştırıldığı dizindir. Bir uygulamayı analiz ederken _init_ ve _finit_ fonksiyonlarını analiz etmekte fayda var. Böylece program açıldığı ve kapandığı sırada hangi işlemler yapıldığını bilebiliriz.. Bellek taşırma zafiyetini istismar ederken şayet stack'te yeteri kadar buffer alanı yoksa, shelcode'un başına sub esp, 0xN yönergesini yerleştirerek gerekli buffer alanını tahsis edebiliriz. (N: bize gereken byte miktarının hexadecimal karşılığı) Bellek taşırma zafiyetini istismar ederken şayet stack'te yeteri kadar buffer alanı yoksa ...