Print Stack Canary
Last updated
Last updated
AWS Hacking'ı öğrenin ve uygulayın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE) GCP Hacking'ı öğrenin ve uygulayın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)
Yığın taşmasına karşı savunmasız bir programın bir puts işlevini yığın taşmasının bir kısmına işaret ederek çalıştırabileceği bir durumu hayal edin. Saldırgan, canary'nin ilk baytının bir null bayt (\x00
) olduğunu ve canary'nin geri kalanının rastgele baytlar olduğunu bilir. Daha sonra, saldırgan, yığının sadece canary'nin ilk baytı hariç olacak şekilde üzerine yazan bir taşma oluşturabilir.
Ardından, saldırgan, payload'ın ortasında puts işlevini çağırır ve bu, canary'nin tümünü yazdıracaktır (ilk null bayt hariç).
Bu bilgiyle saldırgan, canary'yi bilerek (aynı program oturumunda) yeni bir saldırı oluşturabilir ve gönderebilir.
Bu taktik açıkça çok sınırlıdır, çünkü saldırganın, payload'ın içeriğini yazdırabilmesi ve ardından canary'yi dışarı çıkarabilmesi ve daha sonra (aynı program oturumunda) gerçek tampon taşmasını oluşturabilmesi gerekmektedir.
CTF örnekleri:
64 bit, ASLR etkin ancak PIE etkin değil, ilk adım canary'nin 0x00 baytına kadar taşma ile doldurmak ve ardından puts'u çağırarak sızdırmaktır. Canary ile puts'un GOT'tan adresini sızdırmak için bir ROP cihazı oluşturulur ve ardından /bin/sh
argümanı ile system
'i çağırmak için bir ROP cihazı oluşturulur.
32 bit, ARM, relro yok, canary, nx yok, pie yok. Yığından canary'yi sızdırmak için puts çağrısı ile taşma + ret2lib, system
'i çağırmak için bir ROP zinciri ile r0 (argüman /bin/sh
) ve pc (system adresi) pop etme
Format dizileri tarafından sağlanan bir keyfi okuma ile canary'yi sızdırmak mümkün olabilir. Bu örneği kontrol edin: https://ir0nstone.gitbook.io/notes/types/stack/canaries ve keyfi bellek adreslerini okumak için format dizilerini kötüye kullanma hakkında okuyabilirsiniz:
Format StringsBu zorluk, yığından canary'yi okumak için çok basit bir şekilde bir format dizesini kötüye kullanır
AWS Hacking'ı öğrenin ve uygulayın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE) GCP Hacking'ı öğrenin ve uygulayın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)