mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 20:53:37 +00:00
5 KiB
5 KiB
House of Lore | Small bin Attack
{% hint style="success" %}
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)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- 💬 Discord grubuna katılın veya telegram grubuna katılın veya bizi Twitter 🐦 @hacktricks_live** takip edin.**
- Hacking püf noktalarını paylaşarak HackTricks ve HackTricks Cloud github depolarına PR gönderin.
Temel Bilgiler
Kod
- https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/house_of_lore/ adresinden kontrol edin
- Bu çalışmıyor
- Veya: https://github.com/shellphish/how2heap/blob/master/glibc_2.39/house_of_lore.c
- Bu, bazı kontrolleri atlamaya çalışsa da çalışmıyor ve
malloc(): unaligned tcache chunk detected
hatasını alıyor - Bu örnek hala çalışıyor: https://guyinatuxedo.github.io/40-house_of_lore/house_lore_exp/index.html
Amaç
- Küçük binde sahte bir küçük parça ekleyerek onu tahsis etmek mümkün hale gelir.
Eklenen küçük parça, saldırganın oluşturduğu sahte parçadır ve rastgele bir konumda sahte değildir.
Gereksinimler
- 2 sahte parça oluşturun ve bunları birbirine ve küçük bindeki meşru parçaya bağlayın:
fake0.bk
->fake1
fake1.fd
->fake0
fake0.fd
->legit
(başka bir zayıflık aracılığıyla serbest bırakılan küçük bin parçasındaki bir işaretçiyi değiştirmeniz gerekir)legit.bk
->fake0
Daha sonra fake0
'ı tahsis edebileceksiniz.
Saldırı
- Bir küçük parça (
legit
) tahsis edilir, ardından üst parçayla birleşmesini önlemek için başka bir parça tahsis edilir. Ardından,legit
serbest bırakılır (onu sıralanmamış bin listesine taşır) ve daha büyük bir parça tahsis edilir,legit
'i küçük bine taşır. - Bir saldırgan birkaç sahte küçük parça oluşturur ve gerekli bağlantıları yaparak sağlamlık kontrollerini atlar:
fake0.bk
->fake1
fake1.fd
->fake0
fake0.fd
->legit
(başka bir zayıflık aracılığıyla serbest bırakılan küçük bin parçasındaki bir işaretçiyi değiştirmeniz gerekir)legit.bk
->fake0
legit
'i almak için bir küçük parça tahsis edilir,fake0
'ı küçük parçaların üst listesine taşır- Başka bir küçük parça tahsis edilir,
fake0
'ı bir parça olarak alır, potansiyel olarak içindeki işaretçileri okuma/yazma izni verir.
Referanslar
- https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/house_of_lore/
- https://heap-exploitation.dhavalkapil.com/attacks/house_of_lore
- https://guyinatuxedo.github.io/40-house_of_lore/house_lore_exp/index.html
{% hint style="success" %}
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)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- 💬 Discord grubuna katılın veya telegram grubuna katılın veya bizi Twitter 🐦 @hacktricks_live** takip edin.**
- Hacking püf noktalarını paylaşarak HackTricks ve HackTricks Cloud github depolarına PR gönderin.