Size bellek taşmalarını (memory overflow) öğretecek ve pratik yapmanızı sağlayacak küçük bir rehber.
Mümkün olduğunca erkenden belirtmek isterim ki bu kaynak herkes için uygun olmayabilir, biraz ön bilgiye ihtiyacınız olacak:
-
Zorunlu: Bu kaynağı doğru şekilde kullanabilmek ve anlamak için aşağıdakilere ihtiyacınız olacak:
- Temel GNU/Linux bilgisi
- Genel bellek yönetimi (stack, heap vs) bilgisi
- Temel assembly ve C bilgisi
- Lab için QEMU/KVM kurulumu
- GDB deneyimi ve bilgisi
-
Opsiyonel: Bunun dışında aşağıdakileri biliyorsan bu kaynağı takip etmen çok daha kolay olur:
- Az da olsa python bilgisi
- tmux deneyimi
Eğer yardıma ihtiyaç duyarsanız, herhangi bir sorun yaşarsanız bir issue oluşturmaktan çekinmeyin.
Ayrıca doğrudan bana da ulaşabilirsiniz.
Herşey tamamsa, aşağıdaki linkleri kullanarak macerana başlayabilirsin.
İyi eğlenceler!
Bölüm | Açıklama | Link |
---|---|---|
Kurulum | Pratik ortamını nasıl kuracağınızı öğrenin | setup.md |
0x0 | Dönüş adresi ile programın akışını değiştirin | 0x0.md |
0x1 | Stack üzerinde shellcode çalıştırın | 0x1.md |
0x2 | ret2libc ve ROP ile NX bellek korumasını bypass edin | 0x2.md |
0x3 | Format metinleri ile stack çerezlerini leakleyin | 0x3.md |
0x4 | glibc'den adres leakleyerek ASLR kırın | 0x4.md |
0x5 | ret2sys ile doğrudan sistem çağrılarını kullanın | 0x5.md |
0x6 | GNU C kütüphanesinin heap yönetimini inceleyin | 0x6.md |
0x7 | tcache'yi zehirleyek heap taşmasını, stack taşmasına çevirin | 0x7.md |