# Επικαλύπτοντας ένα ελεύθερο κομμάτι {{#include ../../banners/hacktricks-training.md}} Πολλές από τις προτεινόμενες τεχνικές εκμετάλλευσης σωρού χρειάζονται τη δυνατότητα να επικαλύπτουν δείκτες μέσα σε ελεύθερα κομμάτια. Ο στόχος αυτής της σελίδας είναι να συνοψίσει τις πιθανές ευπάθειες που θα μπορούσαν να παραχωρήσουν αυτή την πρόσβαση: ### Απλή Χρήση Μετά την Ελευθέρωση Εάν είναι δυνατόν για τον επιτιθέμενο να **γράψει πληροφορίες σε ένα ελεύθερο κομμάτι**, θα μπορούσαν να το εκμεταλλευτούν αυτό για να επικαλύψουν τους απαραίτητους δείκτες. ### Διπλή Ελευθέρωση Εάν ο επιτιθέμενος μπορεί να **`ελευθερώσει` δύο φορές το ίδιο κομμάτι** (ελευθερώνοντας άλλα κομμάτια ενδιάμεσα πιθανώς) και να το κάνει **2 φορές στην ίδια δεξαμενή**, θα ήταν δυνατό για τον χρήστη να **κατανεμηθεί το κομμάτι αργότερα**, **να γράψει τους απαραίτητους δείκτες** και στη συνέχεια **να το κατανεμηθεί ξανά** ενεργοποιώντας τις ενέργειες του κομματιού που κατανεμήθηκε (π.χ. επίθεση γρήγορης δεξαμενής, επίθεση tcache...) ### Υπερχείλιση Σωρού Ενδέχεται να είναι δυνατό να **υπερχυλίσει ένα κατανεμημένο κομμάτι που έχει δίπλα του ένα ελεύθερο κομμάτι** και να τροποποιήσει κάποιες κεφαλίδες/δείκτες του. ### Υπερχείλιση Off-by-one Σε αυτή την περίπτωση θα ήταν δυνατό να **τροποποιηθεί το μέγεθος** του επόμενου κομματιού στη μνήμη. Ένας επιτιθέμενος θα μπορούσε να το εκμεταλλευτεί αυτό για να **κάνει ένα κατανεμημένο κομμάτι να έχει μεγαλύτερο μέγεθος**, στη συνέχεια **`ελευθερώσει`** το, κάνοντάς το κομμάτι να **προστεθεί σε μια δεξαμενή διαφορετικού** μεγέθους (μεγαλύτερου), στη συνέχεια να κατανεμηθεί το **ψεύτικο μέγεθος**, και η επίθεση θα έχει πρόσβαση σε ένα **κομμάτι με μέγεθος μεγαλύτερο** από αυτό που είναι πραγματικά, **παρέχοντας έτσι μια κατάσταση επικαλυπτόμενων κομματιών**, η οποία είναι εκμεταλλεύσιμη με τον ίδιο τρόπο όπως μια **υπερχείλιση σωρού** (δείτε την προηγούμενη ενότητα). {{#include ../../banners/hacktricks-training.md}}