hacktricks/binary-exploitation/heap/off-by-one-overflow.md

4.8 KiB
Raw Blame History

Bir birim taşması

htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile sıfırdan kahramana kadar AWS hacklemeyi öğrenin htARTE (HackTricks AWS Red Team Expert)!

HackTricks'ı desteklemenin diğer yolları:

Temel Bilgiler

Yalnızca 1B birim taşmasına erişim sağlamak, saldırganın önceki boyut meta veri bilgisini değiştirmesine olanak tanır, böylece hangi parçaların gerçekten serbest bırakıldığını değiştirerek sonunda başka bir meşru parça içeren bir parça oluşturur.

Kod Örneği:

Amaç

  • Bir parçanın başka bir parçanın içinde bulunmasını sağlamak, böylece ikinci parçanın üzerinde yazma erişimi, içerilen parçayı üzerine yazmaya olanak tanır

Gereksinimler

  • Önceki boyut meta veri bilgisini değiştirmek için bir birim taşması
  • 3 bellek parçası (a, b, c) ardışık olarak ayrılmıştır. Ardından ortadaki parça serbest bırakılır. İlk parça bir birim taşması güvenlik açığına sahiptir ve saldırgan bunu 0x00 ile kötüye kullanır (önceki bayt 0x10 ise, ortadaki parçanın gerçekte olduğundan 0x10 daha küçük olduğunu gösterir).
  • Daha sonra, ortadaki serbest bırakılan parçada (b) 2 daha küçük parça ayrılır, ancak b + b->boyut c parçasını güncellemez çünkü işaret edilen adres olması gerektiğinden daha küçüktür.
  • Daha sonra, b1 ve c serbest bırakılır. c - c->prev_size hala b'yi (şimdi b1) işaret ettiği için, her ikisi de birleştirilir. Ancak, b2 hala b1 ve c arasında içindedir.
  • Son olarak, bu bellek alanını geri kazanmak için yeni bir malloc işlemi gerçekleştirilir, bu da yeni malloc sahibinin b2 içeriğini kontrol etmesine olanak tanır.

Bu resim saldırıyı mükemmel bir şekilde açıklar:

https://heap-exploitation.dhavalkapil.com/attacks/shrinking_free_chunks

Referanslar

htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile sıfırdan kahramana kadar AWS hacklemeyi öğrenin htARTE (HackTricks AWS Red Team Expert)!

HackTricks'ı desteklemenin diğer yolları: