3.8 KiB
Raw Blame History

House of Lore | Small bin Attack

{{#include ../../banners/hacktricks-training.md}}

Basic Information

Code

Goal

  • Εισάγετε ένα ψεύτικο μικρό κομμάτι στον μικρό κάδο ώστε να είναι δυνατή η κατανομή του.
    Σημειώστε ότι το μικρό κομμάτι που προστίθεται είναι το ψεύτικο που δημιουργεί ο επιτιθέμενος και όχι ένα ψεύτικο σε τυχαία θέση.

Requirements

  • Δημιουργήστε 2 ψεύτικα κομμάτια και συνδέστε τα μεταξύ τους και με το νόμιμο κομμάτι στον μικρό κάδο:
  • fake0.bk -> fake1
  • fake1.fd -> fake0
  • fake0.fd -> legit (πρέπει να τροποποιήσετε έναν δείκτη στο ελεύθερο μικρό κομμάτι μέσω κάποιας άλλης ευπάθειας)
  • legit.bk -> fake0

Έτσι θα μπορείτε να κατανεμηθείτε fake0.

Attack

  • Ένα μικρό κομμάτι (legit) κατανεμήθηκε, στη συνέχεια, ένα άλλο κατανεμήθηκε για να αποτραπεί η συγχώνευση με το κορυφαίο κομμάτι. Στη συνέχεια, το legit απελευθερώνεται (μετακινώντας το στη λίστα των αταξινόμητων κομματιών) και ένα μεγαλύτερο κομμάτι κατανεμήθηκε, μετακινώντας το legit στον μικρό κάδο.
  • Ένας επιτιθέμενος δημιουργεί μερικά ψεύτικα μικρά κομμάτια και κάνει την απαραίτητη σύνδεση για να παρακάμψει τους ελέγχους εγκυρότητας:
  • fake0.bk -> fake1
  • fake1.fd -> fake0
  • fake0.fd -> legit (πρέπει να τροποποιήσετε έναν δείκτη στο ελεύθερο μικρό κομμάτι μέσω κάποιας άλλης ευπάθειας)
  • legit.bk -> fake0
  • Ένα μικρό κομμάτι κατανεμήθηκε για να αποκτήσει το legit, κάνοντάς το fake0 στην κορυφή της λίστας των μικρών κάδων
  • Ένα άλλο μικρό κομμάτι κατανεμήθηκε, αποκτώντας το fake0 ως κομμάτι, επιτρέποντας δυνητικά την ανάγνωση/γραφή δεικτών μέσα σε αυτό.

References

{{#include ../../banners/hacktricks-training.md}}