mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
3.8 KiB
3.8 KiB
House of Lore | Small bin Attack
{{#include ../../banners/hacktricks-training.md}}
Basic Information
Code
- Έλεγχος του από https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/house_of_lore/
- Αυτό δεν λειτουργεί
- Ή: https://github.com/shellphish/how2heap/blob/master/glibc_2.39/house_of_lore.c
- Αυτό δεν λειτουργεί ακόμα και αν προσπαθεί να παρακάμψει κάποιους ελέγχους και εμφανίζει το σφάλμα:
malloc(): unaligned tcache chunk detected - Αυτό το παράδειγμα λειτουργεί ακόμα: https://guyinatuxedo.github.io/40-house_of_lore/house_lore_exp/index.html
Goal
- Εισάγετε ένα ψεύτικο μικρό κομμάτι στον μικρό κάδο ώστε να είναι δυνατή η κατανομή του.
Σημειώστε ότι το μικρό κομμάτι που προστίθεται είναι το ψεύτικο που δημιουργεί ο επιτιθέμενος και όχι ένα ψεύτικο σε τυχαία θέση.
Requirements
- Δημιουργήστε 2 ψεύτικα κομμάτια και συνδέστε τα μεταξύ τους και με το νόμιμο κομμάτι στον μικρό κάδο:
fake0.bk->fake1fake1.fd->fake0fake0.fd->legit(πρέπει να τροποποιήσετε έναν δείκτη στο ελεύθερο μικρό κομμάτι μέσω κάποιας άλλης ευπάθειας)legit.bk->fake0
Έτσι θα μπορείτε να κατανεμηθείτε fake0.
Attack
- Ένα μικρό κομμάτι (
legit) κατανεμήθηκε, στη συνέχεια, ένα άλλο κατανεμήθηκε για να αποτραπεί η συγχώνευση με το κορυφαίο κομμάτι. Στη συνέχεια, τοlegitαπελευθερώνεται (μετακινώντας το στη λίστα των αταξινόμητων κομματιών) και ένα μεγαλύτερο κομμάτι κατανεμήθηκε, μετακινώντας τοlegitστον μικρό κάδο. - Ένας επιτιθέμενος δημιουργεί μερικά ψεύτικα μικρά κομμάτια και κάνει την απαραίτητη σύνδεση για να παρακάμψει τους ελέγχους εγκυρότητας:
fake0.bk->fake1fake1.fd->fake0fake0.fd->legit(πρέπει να τροποποιήσετε έναν δείκτη στο ελεύθερο μικρό κομμάτι μέσω κάποιας άλλης ευπάθειας)legit.bk->fake0- Ένα μικρό κομμάτι κατανεμήθηκε για να αποκτήσει το legit, κάνοντάς το
fake0στην κορυφή της λίστας των μικρών κάδων - Ένα άλλο μικρό κομμάτι κατανεμήθηκε, αποκτώντας το
fake0ως κομμάτι, επιτρέποντας δυνητικά την ανάγνωση/γραφή δεικτών μέσα σε αυτό.
References
- 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
{{#include ../../banners/hacktricks-training.md}}