Κατάληψη Λογαριασμού
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Πρόβλημα Εξουσιοδότησης
Πρέπει να επιχειρηθεί η αλλαγή του email ενός λογαριασμού και η διαδικασία επιβεβαίωσης πρέπει να εξεταστεί. Εάν βρεθεί αδύναμη, το email πρέπει να αλλάξει σε αυτό του επιδιωκόμενου θύματος και να επιβεβαιωθεί.
Πρόβλημα Κανονικοποίησης Unicode
- Ο λογαριασμός του επιδιωκόμενου θύματος
victim@gmail.com - Ένας λογαριασμός πρέπει να δημιουργηθεί χρησιμοποιώντας Unicode\
για παράδειγμα:vićtim@gmail.com
Όπως εξηγείται στο this talk, η παραπάνω επίθεση μπορεί επίσης να γίνει με κατάχρηση παρόχων ταυτότητας τρίτων:
- Δημιουργήστε έναν λογαριασμό στον πάροχο ταυτότητας τρίτου με email παρόμοιο με του θύματος χρησιμοποιώντας κάποιο unicode χαρακτήρα (
vićtim@company.com). - Ο πάροχος τρίτου δεν πρέπει να επαληθεύει το email
- Εάν ο πάροχος ταυτότητας επαληθεύει το email, ίσως μπορείτε να στοχεύσετε το domain μέρος όπως:
victim@ćompany.comκαι να καταχωρίσετε αυτό το domain και να ελπίζετε ότι ο πάροχος ταυτότητας θα παράγει την ascii έκδοση του domain ενώ η πλατφόρμα του θύματος θα κανονικοποιεί το domain name. - Συνδεθείτε μέσω αυτού του παρόχου ταυτότητας στην πλατφόρμα του θύματος που θα πρέπει να κανονικοποιήσει το unicode χαρακτήρα και να σας επιτρέψει την πρόσβαση στον λογαριασμό του θύματος.
Για περισσότερες λεπτομέρειες, ανατρέξτε στο έγγραφο για την Κανονικοποίηση Unicode:
Επανάχρηση Reset Token
Εάν το σύστημα-στόχος επιτρέπει την επανάχρηση του reset link, πρέπει να γίνουν προσπάθειες να βρεθούν περισσότερα reset links χρησιμοποιώντας εργαλεία όπως gau, wayback, ή scan.io.
Προ-Κατάληψη Λογαριασμού
- Το email του θύματος πρέπει να χρησιμοποιηθεί για εγγραφή στην πλατφόρμα και πρέπει να οριστεί ένας κωδικός (πρέπει να γίνει προσπάθεια επιβεβαίωσης, αν και η έλλειψη πρόσβασης στα emails του θύματος μπορεί να το καθιστά αδύνατο).
- Πρέπει να περιμένετε μέχρι το θύμα να εγγραφεί χρησιμοποιώντας OAuth και να επιβεβαιώσει τον λογαριασμό.
- Ελπίζεται ότι η κανονική εγγραφή θα επιβεβαιωθεί, επιτρέποντας την πρόσβαση στον λογαριασμό του θύματος.
CORS Misconfiguration για Κατάληψη Λογαριασμού
Εάν η σελίδα περιέχει CORS misconfigurations, ίσως να μπορείτε να κλέψετε ευαίσθητες πληροφορίες από τον χρήστη για να καταλάβετε τον λογαριασμό του ή να τον κάνετε να αλλάξει auth πληροφορίες για τον ίδιο σκοπό:
CORS - Misconfigurations & Bypass
Csrf για Κατάληψη Λογαριασμού
Εάν η σελίδα είναι ευάλωτη σε CSRF, μπορεί να καταφέρετε να κάνετε τον χρήστη να αλλάξει τον κωδικό του, το email ή στοιχεία authentication ώστε να μπορέσετε στη συνέχεια να αποκτήσετε πρόσβαση:
CSRF (Cross Site Request Forgery)
XSS για Κατάληψη Λογαριασμού
Εάν βρείτε XSS στην εφαρμογή, μπορεί να καταφέρετε να κλέψετε cookies, το local storage, ή πληροφορίες από τη σελίδα που θα μπορούσαν να σας επιτρέψουν να καταλάβετε τον λογαριασμό:
- Attribute-only reflected payloads σε σελίδες login μπορούν να κάνουν hook στο
document.onkeypress, να εξάγουν keystrokes μέσωnew Image().src, και να κλέψουν credentials χωρίς να υποβάλουν τη φόρμα. Δείτε Attribute-only login XSS behind WAFs για μια πρακτική ροή εργασίας.
Same Origin + Cookies
Εάν βρείτε περιορισμένο XSS ή subdomain takeover, μπορείτε να πειραματιστείτε με τα cookies (π.χ. fixating) για να προσπαθήσετε να συμβιβάσετε τον λογαριασμό του θύματος:
Επίθεση στον Μηχανισμό Επαναφοράς Κωδικού
Reset/Forgotten Password Bypass
Security-question resets that trust client-supplied usernames
Εάν μια ροή “update security questions” παίρνει παράμετρο username παρόλο που ο καλών είναι ήδη authenticated, μπορείτε να αντικαταστήσετε τα δεδομένα ανάκτησης οποιουδήποτε λογαριασμού (συμπεριλαμβανομένων των admins) επειδή το backend τυπικά εκτελεί UPDATE ... WHERE user_name = ? με την μη αξιόπιστη τιμή σας. Το μοτίβο είναι:
- Συνδεθείτε με έναν προσωρινό χρήστη (throwaway user) και καταγράψτε το session cookie.
- Υποβάλετε το username του θύματος μαζί με νέες απαντήσεις μέσω της φόρμας επαναφοράς.
- Αμέσως κάντε authentication μέσω του security-question login endpoint χρησιμοποιώντας τις απαντήσεις που μόλις εισαγάγατε για να κληρονομήσετε τα προνόμια του θύματος.
POST /reset.php HTTP/1.1
Host: file.era.htb
Cookie: PHPSESSID=<low-priv>
Content-Type: application/x-www-form-urlencoded
username=admin_ef01cab31aa&new_answer1=A&new_answer2=B&new_answer3=C
Οτιδήποτε προστατεύεται από το πλαίσιο του θύματος $_SESSION (admin dashboards, dangerous stream-wrapper features, κ.λπ.) είναι τώρα εκτεθειμένο χωρίς να αγγίζετε τις πραγματικές απαντήσεις.
Οι απαριθμημένοι usernames μπορούν στη συνέχεια να στοχευθούν μέσω της τεχνικής overwrite παραπάνω ή να επαναχρησιμοποιηθούν ενάντια σε δευτερεύουσες υπηρεσίες (FTP/SSH password spraying).
Response Manipulation
Αν η απόκριση αυθεντικοποίησης μπορεί να μειωθεί σε ένα απλό boolean, δοκίμασε απλώς να αλλάξεις false σε true και δες αν αποκτάς πρόσβαση.
OAuth to Account takeover
Host Header Injection
- Το Host header τροποποιείται μετά την έναρξη ενός αιτήματος επαναφοράς κωδικού.
- Το
X-Forwarded-Forproxy header αλλάζεται σεattacker.com. - Τα Host, Referrer και Origin headers αλλάζουν ταυτόχρονα σε
attacker.com. - Μετά την έναρξη επαναφοράς κωδικού και την επιλογή επανεξαποστολής του mail, εφαρμόζονται και οι τρεις προαναφερθείσες μέθοδοι.
Response Manipulation
- Code Manipulation: Ο κώδικας κατάστασης αλλάζεται σε
200 OK. - Code and Body Manipulation:
- Ο κώδικας κατάστασης αλλάζει σε
200 OK. - Το response body τροποποιείται σε
{"success":true}ή σε κενό αντικείμενο{}.
Αυτές οι τεχνικές χειρισμού είναι αποτελεσματικές σε σενάρια όπου το JSON χρησιμοποιείται για μετάδοση και λήψη δεδομένων.
Αλλαγή email της τρέχουσας συνεδρίας
From this report:
- Attacker requests to change his email with a new one
- Attacker receives a link to confirm the change of the email
- Attacker send the victim the link so he clicks it
- The victims email is changed to the one indicated by the attacker
- The attack can recover the password and take over the account
This also happened in this report.
Bypass email verification for Account Takeover
- Attacker logins with attacker@test.com and verifies email upon signup.
- Attacker changes verified email to victim@test.com (no secondary verification on email change)
- Now the website allows victim@test.com to login and we have bypassed email verification of victim user.
Παλιά Cookies
Όπως εξηγείται in this post, ήταν δυνατό να κάνεις login σε έναν λογαριασμό, να αποθηκεύσεις τα cookies ως authenticated user, να κάνεις logout, και στη συνέχεια να κάνεις login ξανά.
Με το νέο login, αν και μπορεί να δημιουργηθούν διαφορετικά cookies, τα παλιά άρχισαν να λειτουργούν ξανά.
Trusted device cookies + batch API leakage
Long-lived device identifiers that gate recovery can be stolen when a batch API lets you copy unreadable subresponses into writable sinks.
- Εντοπίστε ένα trusted-device cookie (
SameSite=None, long-lived) που χρησιμοποιείται για να χαλαρώσει τους ελέγχους ανάκτησης. - Βρείτε ένα first-party endpoint που επιστρέφει αυτό το device ID σε JSON (π.χ., an OAuth
codeexchange returningmachine_id) αλλά δεν είναι αναγνώσιμο cross-origin. - Χρησιμοποιήστε ένα batch/chained API που επιτρέπει την αναφορά σε προηγούμενες subresponses (
{result=name:$.path}) και τη γραφή τους σε ένα attacker-visible sink (page post, upload-by-URL, κ.λπ.). Παράδειγμα με Facebook Graph API:
POST https://graph.facebook.com/
batch=[
{"method":"post","omit_response_on_success":0,"relative_url":"/oauth/access_token?client_id=APP_ID%26redirect_uri=REDIRECT_URI","body":"code=SINGLE_USE_CODE","name":"leaker"},
{"method":"post","relative_url":"PAGE_ID/posts","body":"message={result=leaker:$.machine_id}"}
]
access_token=PAGE_ACCESS_TOKEN&method=post
- Φόρτωσε το batch URL σε ένα κρυφό
<iframe>ώστε το θύμα να στείλει το trusted-device cookie· το JSON-path reference αντιγράφει τοmachine_idστο attacker-controlled post ακόμα και αν το OAuth response είναι μη αναγνώσιμο από τη σελίδα. - Replay: όρισε το κλεμμένο device cookie σε νέα συνεδρία. Η Recovery τώρα αντιμετωπίζει τον browser ως trusted, συχνά εκθέτοντας ασθενέστερες “no email/phone” ροές (π.χ., automated document upload) που επιτρέπουν την προσθήκη attacker email χωρίς password ή 2FA.
Αναφορές
- https://blog.hackcommander.com/posts/2025/12/28/turning-a-harmless-xss-behind-a-waf-into-a-realistic-phishing-vector/
- https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050
- https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea
- 0xdf – HTB Era: security-question IDOR & username oracle
- Steal DATR Cookie
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.


