4.7 KiB
Αντικατάσταση ενός ελευθερωμένου τμήματος
Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)!
Άλλοι τρόποι υποστήριξης του HackTricks:
- Αν θέλετε να δείτε την εταιρεία σας διαφημισμένη στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα τηλεγραφήματος ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.
Πολλές από τις προτεινόμενες τεχνικές εκμετάλλευσης της στοίβας χρειάζεται να είναι δυνατή η αντικατάσταση δεικτών μέσα σε ελευθερωμένα τμήματα. Ο στόχος αυτής της σελίδας είναι να περιλαμβάνει τις πιθανές ευπάθειες που θα μπορούσαν να παρέχουν αυτήν την πρόσβαση:
Απλή Χρήση Μετά το Free
Αν είναι δυνατό για τον επιτιθέμενο να γράψει πληροφορίες σε ένα ελεύθερο τμήμα, θα μπορούσε να εκμεταλλευτεί αυτό για να αντικαταστήσει τους απαιτούμενους δείκτες.
Διπλό Free
Αν ο επιτιθέμενος μπορεί να free
δύο φορές το ίδιο τμήμα (ελευθερώνοντας άλλα τμήματα ανάμεσά τους πιθανώς) και να το κάνει 2 φορές στον ίδιο κάδο, θα ήταν δυνατό για τον χρήστη να εκχωρήσει το τμήμα αργότερα, να γράψει τους απαιτούμενους δείκτες και στη συνέχεια να το εκχωρήσει ξανά ενεργοποιώντας τις ενέργειες του τμήματος που εκχωρήθηκε (π.χ. επίθεση fast bin, επίθεση tcache...)
Υπερχείλιση Στοίβας
Μπορεί να είναι δυνατό να υπερχειλιστεί ένα εκχωρημένο τμήμα μετά από ένα ελεύθερο τμήμα και να τροποποιηθούν κάποιοι κεφαλίδες/δείκτες του.
Υπερχείλιση Ενός Byte
Σε αυτήν την περίπτωση θα ήταν δυνατό να τροποποιηθεί το μέγεθος του επόμενου τμήματος στη μνήμη. Ένας επιτιθέμενος θα μπορούσε να εκμεταλλευτεί αυτό για να κάνει ένα εκχωρημένο τμήμα να έχει μεγαλύτερο μέγεθος, στη συνέχεια να το free
, κάνοντας το τμήμα να προστεθεί σε έναν κάδο διαφορετικού μεγέθους (μεγαλύτερο), στη συνέχεια να εκχωρήσει το ψεύτικο μέγεθος και η επίθεση θα έχει πρόσβαση σε ένα τμήμα με ένα μέγεθος που είναι μεγαλύτερο από αυτό που είναι πραγματικά, παρέχοντας έτσι μια κατάσταση επικάλυψης τμημάτων, η οποία είναι εκμεταλλεύσιμη με τον ίδιο τρόπο με μια υπερχείλιση στοίβας (ελέγξτε την προηγούμενη ενότητα).