EXP-101: 8-Stack Based Overflow Nedir?

Stack Overflow, yazılım hatalarından biridir ve bir buffer’ın (arabellek) kapasitesinden daha fazla veri yazılması ile meydana gelir. Bu taşma, stack (yığın) üzerindeki bellek alanlarının ezilmesine, hatta geri dönüş adresinin (return address) bozulmasına neden olur. Bu hatadan faydalanılarak, eğer belirli koşullar sağlanırsa, EIP (Instruction Pointer) register’ı üzerinde kontrol sağlanabilir ve program yönlendirilerek zararlı kodlar çalıştırılabilir. Stack … Devamını oku

EXP-101: 7-Exploit Geliştirme Sırasında Karşılaşılan Güvenlik Önlemleri ve Bypass Teknikleri

Güvenlik Önlemleri: Genel Özet Tablosu Güvenlik Önlemi Amacı Bypass Teknikleri Stack Canary Stack overflow algılama Canary leak, stack dışı saldırılar ASLR Adresleri rastgeleleştirir Info leak, ret2plt DEP / NX Veri bölgesinde kod çalışmasını engeller ROP, ret2libc RELRO GOT overwrite engelleme ROP, partial RELRO zafiyetleri PIE Kod segmenti adreslerini rastgeleleştirir Base leak, offset hesaplama Fortify Source … Devamını oku

EXP-101: 6-GDB ile Debugging’e Giriş: Temel Komutlar

GDB (GNU Debugger), C ve C++ gibi derlenmiş dillerle yazılmış programları hata ayıklamak için kullanılan güçlü bir araçtır. GDB’yi Başlatmak GDB, genellikle terminalden aşağıdaki gibi başlatılır: 1. help GDB içindeki komutları ve kategorileri listeler. Bu komutla birlikte hangi komutun ne işe yaradığını görebilirsiniz. 2. checksec Binary’nin güvenlik önlemlerini kontrol etmek için kullanılır. Bu komut gef … Devamını oku

EXP-101: 5-Debug{ger,ging} ve Disassembler

Debugger Debugger (Hata Ayıklayıcı), çalışan bir programı analiz etmek, hataları tespit etmek ve yazılımın nasıl davrandığını daha iyi anlamak için kullanılan bir araçtır. Geliştiriciler ve güvenlik araştırmacıları, programın yürütülme sürecini adım adım izleyerek sorunları çözmek ya da yazılımın derinlemesine davranışını incelemek için debugger kullanır. Debugger’lar sayesinde: Popüler Debugger’lar: Debugging Debugging (hata ayıklama), bir yazılımın çalışması … Devamını oku

EXP-101: 4-LIFO (Last In, First Out) Nedir ?

Bilgisayar bilimlerinde birçok veri yapısı ve sistemin çalışma prensibi, belirli kurallara göre organize edilmiştir. Bu kurallardan biri olan LIFO (Last In, First Out), özellikle yığın (stack) veri yapısının temelini oluşturur. Bu yazıda LIFO’nun ne olduğunu, nasıl çalıştığını, hangi alanlarda kullanıldığını ve neden önemli olduğunu detaylı olarak inceleyeceğiz. LIFO Nedir? LIFO (Last In, First Out) ifadesi, … Devamını oku