House of Lore | Small bin Attack
Last updated
Last updated
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Αυτό δεν λειτουργεί
Αυτό δεν λειτουργεί ακόμα και αν προσπαθεί να παρακάμψει κάποιες ελέγχους, παίρνοντας το σφάλμα: malloc(): unaligned tcache chunk detected
Αυτό το παράδειγμα λειτουργεί ακόμα: https://guyinatuxedo.github.io/40-house_of_lore/house_lore_exp/index.html
Εισάγετε ένα ψεύτικο μικρό κομμάτι στο μικρό bin ώστε να είναι δυνατή η κατανομή του. Σημειώστε ότι το μικρό κομμάτι που προστίθεται είναι το ψεύτικο που δημιουργεί ο επιτιθέμενος και όχι ένα ψεύτικο σε τυχαία θέση.
Δημιουργήστε 2 ψεύτικα κομμάτια και συνδέστε τα μεταξύ τους και με το νόμιμο κομμάτι στο μικρό bin:
fake0.bk
-> fake1
fake1.fd
-> fake0
fake0.fd
-> legit
(πρέπει να τροποποιήσετε έναν δείκτη στο ελεύθερο μικρό κομμάτι μέσω κάποιας άλλης ευπάθειας)
legit.bk
-> fake0
Τότε θα μπορείτε να κατανεμηθείτε fake0
.
Ένα μικρό κομμάτι (legit
) κατανεμήθηκε, στη συνέχεια κατανεμήθηκε ένα άλλο για να αποτραπεί η συγχώνευση με το κορυφαίο κομμάτι. Στη συνέχεια, το legit
απελευθερώνεται (μετακινώντας το στη λίστα των αταξινόμητων κομματιών) και κατανεμήθηκε ένα μεγαλύτερο κομμάτι, μετακινώντας το legit
στο μικρό bin.
Ένας επιτιθέμενος δημιουργεί μερικά ψεύτικα μικρά κομμάτια και κάνει την απαραίτητη σύνδεση για να παρακάμψει τους ελέγχους εγκυρότητας:
fake0.bk
-> fake1
fake1.fd
-> fake0
fake0.fd
-> legit
(πρέπει να τροποποιήσετε έναν δείκτη στο ελεύθερο μικρό κομμάτι μέσω κάποιας άλλης ευπάθειας)
legit.bk
-> fake0
Ένα μικρό κομμάτι κατανεμήθηκε για να αποκτήσει το legit, κάνοντάς το fake0
στην κορυφή της λίστας των μικρών bins
Ένα άλλο μικρό κομμάτι κατανεμήθηκε, αποκτώντας το fake0
ως κομμάτι, επιτρέποντας δυνητικά την ανάγνωση/γραφή δεικτών μέσα σε αυτό.
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)