hacktricks/binary-exploitation/libc-heap/overwriting-a-freed-chunk.md

34 lines
4.7 KiB
Markdown
Raw Normal View History

# Αντικατάσταση ενός ελευθερωμένου τμήματος
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι υποστήριξης του HackTricks:
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>
Πολλές από τις προτεινόμενες τεχνικές εκμετάλλευσης της στοίβας χρειάζεται να είναι δυνατή η αντικατάσταση δεικτών μέσα σε ελευθερωμένα τμήματα. Ο στόχος αυτής της σελίδας είναι να περιλαμβάνει τις πιθανές ευπάθειες που θα μπορούσαν να παρέχουν αυτήν την πρόσβαση:
### Απλή Χρήση Μετά το Free
Αν είναι δυνατό για τον επιτιθέμενο να **γράψει πληροφορίες σε ένα ελεύθερο τμήμα**, θα μπορούσε να εκμεταλλευτεί αυτό για να αντικαταστήσει τους απαιτούμενους δείκτες.
### Διπλό Free
Αν ο επιτιθέμενος μπορεί να **`free` δύο φορές το ίδιο τμήμα** (ελευθερώνοντας άλλα τμήματα ανάμεσά τους πιθανώς) και να το κάνει **2 φορές στον ίδιο κάδο**, θα ήταν δυνατό για τον χρήστη να **εκχωρήσει το τμήμα αργότερα**, **να γράψει τους απαιτούμενους δείκτες** και στη συνέχεια **να το εκχωρήσει ξανά** ενεργοποιώντας τις ενέργειες του τμήματος που εκχωρήθηκε (π.χ. επίθεση fast bin, επίθεση tcache...)
### Υπερχείλιση Στοίβας
Μπορεί να είναι δυνατό να **υπερχειλιστεί ένα εκχωρημένο τμήμα μετά από ένα ελεύθερο τμήμα** και να τροποποιηθούν κάποιοι κεφαλίδες/δείκτες του.
### Υπερχείλιση Ενός Byte
Σε αυτήν την περίπτωση θα ήταν δυνατό να **τροποποιηθεί το μέγεθος** του επόμενου τμήματος στη μνήμη. Ένας επιτιθέμενος θα μπορούσε να εκμεταλλευτεί αυτό για να **κάνει ένα εκχωρημένο τμήμα να έχει μεγαλύτερο μέγεθος**, στη συνέχεια **να το `free`**, κάνοντας το τμήμα να **προστεθεί σε έναν κάδο διαφορετικού** μεγέθους (μεγαλύτερο), στη συνέχεια να εκχωρήσει το **ψεύτικο μέγεθος** και η επίθεση θα έχει πρόσβαση σε ένα **τμήμα με ένα μέγεθος που είναι μεγαλύτερο** από αυτό που είναι πραγματικά, **παρέχοντας έτσι μια κατάσταση επικάλυψης τμημάτων**, η οποία είναι εκμεταλλεύσιμη με τον ίδιο τρόπο με μια **υπερχείλιση στοίβας** (ελέγξτε την προηγούμενη ενότητα).