hacktricks/pentesting-web/reset-password.md

229 lines
18 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.

# Επαναφορά/Ξεχασμένος Κωδικός Πρόσβασης Bypass
{% hint style="success" %}
Μάθετε & εξασκηθείτε στο AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Μάθετε & εξασκηθείτε στο GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Υποστήριξη HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
Εγγραφείτε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους hackers και κυνηγούς bug bounty!
**Ενημερώσεις Hacking**\
Ασχοληθείτε με περιεχόμενο που εμβαθύνει στην αδρεναλίνη και τις προκλήσεις του hacking
**Νέα Hack σε Πραγματικό Χρόνο**\
Μείνετε ενημερωμένοι με τον ταχύτατο κόσμο του hacking μέσω ειδήσεων και πληροφοριών σε πραγματικό χρόνο
**Τελευταίες Ανακοινώσεις**\
Μείνετε ενημερωμένοι με τις πιο πρόσφατες bug bounties που ξεκινούν και κρίσιμες ενημερώσεις πλατφόρμας
**Εγγραφείτε μαζί μας στο** [**Discord**](https://discord.com/invite/N3FrSbmwdy) και ξεκινήστε να συνεργάζεστε με κορυφαίους hackers σήμερα!
## **Διαρροή Token Επαναφοράς Κωδικού Πρόσβασης Μέσω Referrer**
* Ο HTTP referer header μπορεί να διαρρεύσει το token επαναφοράς κωδικού πρόσβασης αν περιλαμβάνεται στη διεύθυνση URL. Αυτό μπορεί να συμβεί όταν ένας χρήστης κάνει κλικ σε σύνδεσμο τρίτου μέρους μετά από αίτημα επαναφοράς κωδικού.
* **Επίπτωση**: Πιθανή κατάληψη λογαριασμού μέσω επιθέσεων Cross-Site Request Forgery (CSRF).
* **Εκμετάλλευση**: Για να ελέγξετε αν ένα token επαναφοράς κωδικού διαρρέει στον referer header, **ζητήστε μια επαναφορά κωδικού** στη διεύθυνση email σας και **κάντε κλικ στον σύνδεσμο επαναφοράς** που παρέχεται. **Μην αλλάξετε τον κωδικό σας** αμέσως. Αντίθετα, **μεταβείτε σε έναν ιστότοπο τρίτου μέρους** (όπως το Facebook ή το Twitter) ενώ **παρεμβάλλετε τα αιτήματα χρησιμοποιώντας το Burp Suite**. Εξετάστε τα αιτήματα για να δείτε αν ο **referer header περιέχει το token επαναφοράς κωδικού**, καθώς αυτό θα μπορούσε να εκθέσει ευαίσθητες πληροφορίες σε τρίτους.
* **Αναφορές**:
* [HackerOne Report 342693](https://hackerone.com/reports/342693)
* [HackerOne Report 272379](https://hackerone.com/reports/272379)
* [Άρθρο Διαρροής Token Επαναφοράς Κωδικού](https://medium.com/@rubiojhayz1234/toyotas-password-reset-token-and-email-address-leak-via-referer-header-b0ede6507c6a)
## **Δηλητηρίαση Επαναφοράς Κωδικού**
* Οι επιτιθέμενοι μπορεί να χειριστούν τον Host header κατά τη διάρκεια αιτημάτων επαναφοράς κωδικού για να κατευθύνουν τον σύνδεσμο επαναφοράς σε κακόβουλο ιστότοπο.
* **Επίπτωση**: Οδηγεί σε πιθανή κατάληψη λογαριασμού διαρρέοντας τα tokens επαναφοράς στους επιτιθέμενους.
* **Βήματα Μείωσης**:
* Επικυρώστε τον Host header έναντι μιας λίστας επιτρεπόμενων τομέων.
* Χρησιμοποιήστε ασφαλείς, server-side μεθόδους για να δημιουργήσετε απόλυτες διευθύνσεις URL.
* **Διόρθωση**: Χρησιμοποιήστε `$_SERVER['SERVER_NAME']` για να κατασκευάσετε διευθύνσεις URL επαναφοράς κωδικού αντί για `$_SERVER['HTTP_HOST']`.
* **Αναφορές**:
* [Άρθρο Acunetix για Δηλητηρίαση Επαναφοράς Κωδικού](https://www.acunetix.com/blog/articles/password-reset-poisoning/)
## **Επαναφορά Κωδικού Με Χειρισμό Παραμέτρου Email**
Οι επιτιθέμενοι μπορούν να χειριστούν το αίτημα επαναφοράς κωδικού προσθέτοντας επιπλέον παραμέτρους email για να παραπλανήσουν τον σύνδεσμο επαναφοράς.
* Προσθέστε το email του επιτιθέμενου ως δεύτερη παράμετρο χρησιμοποιώντας &
```php
POST /resetPassword
[...]
email=victim@email.com&email=attacker@email.com
```
* Προσθέστε το email του επιτιθέμενου ως δεύτερη παράμετρο χρησιμοποιώντας %20
```php
POST /resetPassword
[...]
email=victim@email.com%20email=attacker@email.com
```
* Προσθέστε το email του επιτιθέμενου ως δεύτερη παράμετρο χρησιμοποιώντας |
```php
POST /resetPassword
[...]
email=victim@email.com|email=attacker@email.com
```
* Προσθέστε το email του επιτιθέμενου ως δεύτερη παράμετρο χρησιμοποιώντας cc
```php
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dcc:attacker@mail.tld"
```
* Προσθέστε το email του επιτιθέμενου ως δεύτερη παράμετρο χρησιμοποιώντας bcc
```php
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dbcc:attacker@mail.tld"
```
* Προσθέστε το email του επιτιθέμενου ως δεύτερη παράμετρο χρησιμοποιώντας ,
```php
POST /resetPassword
[...]
email="victim@mail.tld",email="attacker@mail.tld"
```
* Προσθέστε το email του επιτιθέμενου ως δεύτερη παράμετρο στο json array
```php
POST /resetPassword
[...]
{"email":["victim@mail.tld","atracker@mail.tld"]}
```
* **Βήματα Μείωσης**:
* Κατάλληλη ανάλυση και επικύρωση παραμέτρων email από τον διακομιστή.
* Χρήση προετοιμασμένων δηλώσεων ή παραμετροποιημένων ερωτημάτων για την αποφυγή επιθέσεων έγχυσης.
* **Αναφορές**:
* [https://medium.com/@0xankush/readme-com-account-takeover-bugbounty-fulldisclosure-a36ddbe915be](https://medium.com/@0xankush/readme-com-account-takeover-bugbounty-fulldisclosure-a36ddbe915be)
* [https://ninadmathpati.com/2019/08/17/how-i-was-able-to-earn-1000-with-just-10-minutes-of-bug-bounty/](https://ninadmathpati.com/2019/08/17/how-i-was-able-to-earn-1000-with-just-10-minutes-of-bug-bounty/)
* [https://twitter.com/HusseiN98D/status/1254888748216655872](https://twitter.com/HusseiN98D/status/1254888748216655872)
## **Αλλαγή Email και Κωδικού πρόσβασης οποιουδήποτε Χρήστη μέσω Παραμέτρων API**
* Οι επιτιθέμενοι μπορούν να τροποποιήσουν τις παραμέτρους email και κωδικού πρόσβασης σε αιτήματα API για να αλλάξουν τα διαπιστευτήρια του λογαριασμού.
```php
POST /api/changepass
[...]
("form": {"email":"victim@email.tld","password":"12345678"})
```
* **Βήματα Μείωσης**:
* Διασφαλίστε αυστηρή επικύρωση παραμέτρων και ελέγχους ταυτοποίησης.
* Εφαρμόστε ισχυρή καταγραφή και παρακολούθηση για να ανιχνεύσετε και να αντιδράσετε σε ύποπτες δραστηριότητες.
* **Αναφορά**:
* [Full Account Takeover via API Parameter Manipulation](https://medium.com/@adeshkolte/full-account-takeover-changing-email-and-password-of-any-user-through-api-parameters-3d527ab27240)
## **Χωρίς Περιορισμούς Ρυθμού: Email Bombing**
* Η έλλειψη περιορισμών ρυθμού σε αιτήματα επαναφοράς κωδικού πρόσβασης μπορεί να οδηγήσει σε email bombing, κατακλύζοντας τον χρήστη με email επαναφοράς.
* **Βήματα Μείωσης**:
* Εφαρμόστε περιορισμούς ρυθμού με βάση τη διεύθυνση IP ή τον λογαριασμό χρήστη.
* Χρησιμοποιήστε προκλήσεις CAPTCHA για να αποτρέψετε την αυτοματοποιημένη κακοποίηση.
* **Αναφορές**:
* [HackerOne Report 280534](https://hackerone.com/reports/280534)
## **Ανακαλύψτε Πώς Δημιουργείται το Token Επαναφοράς Κωδικού Πρόσβασης**
* Η κατανόηση του προτύπου ή της μεθόδου πίσω από τη δημιουργία token μπορεί να οδηγήσει στην πρόβλεψη ή την βίαιη παραβίαση των token. Ορισμένες επιλογές:
* Βασισμένο σε Χρονική Σημείωση
* Βασισμένο στο UserID
* Βασισμένο στο email του Χρήστη
* Βασισμένο στο Όνομα και Επώνυμο
* Βασισμένο στην Ημερομηνία Γέννησης
* Βασισμένο στην Κρυπτογραφία
* **Βήματα Μείωσης**:
* Χρησιμοποιήστε ισχυρές, κρυπτογραφικές μεθόδους για τη δημιουργία token.
* Διασφαλίστε επαρκή τυχαιότητα και μήκος για να αποτρέψετε την προβλεψιμότητα.
* **Εργαλεία**: Χρησιμοποιήστε το Burp Sequencer για να αναλύσετε την τυχαιότητα των token.
## **Μαντεύσιμο UUID**
* Εάν τα UUID (έκδοση 1) είναι μαντεύσιμα ή προβλέψιμα, οι επιτιθέμενοι μπορεί να τα παραβιάσουν για να δημιουργήσουν έγκυρα token επαναφοράς. Ελέγξτε:
{% content-ref url="uuid-insecurities.md" %}
[uuid-insecurities.md](uuid-insecurities.md)
{% endcontent-ref %}
* **Βήματα Μείωσης**:
* Χρησιμοποιήστε την έκδοση 4 του GUID για τυχαιότητα ή εφαρμόστε επιπλέον μέτρα ασφαλείας για άλλες εκδόσεις.
* **Εργαλεία**: Χρησιμοποιήστε το [guidtool](https://github.com/intruder-io/guidtool) για την ανάλυση και τη δημιουργία GUIDs.
## **Manipulation Response: Αντικατάσταση Κακής Απόκρισης με Καλή**
* Χειραγώγηση των αποκρίσεων HTTP για να παρακαμφθούν τα μηνύματα σφάλματος ή οι περιορισμοί.
* **Βήματα Μείωσης**:
* Εφαρμόστε ελέγχους από την πλευρά του διακομιστή για να διασφαλίσετε την ακεραιότητα της απόκρισης.
* Χρησιμοποιήστε ασφαλείς επικοινωνιακούς διαύλους όπως το HTTPS για να αποτρέψετε επιθέσεις man-in-the-middle.
* **Αναφορά**:
* [Critical Bug in Live Bug Bounty Event](https://medium.com/@innocenthacker/how-i-found-the-most-critical-bug-in-live-bug-bounty-event-7a88b3aa97b3)
## **Χρήση Εξαντλημένου Token**
* Δοκιμή αν τα εξαντλημένα token μπορούν ακόμα να χρησιμοποιηθούν για επαναφορά κωδικού πρόσβασης.
* **Βήματα Μείωσης**:
* Εφαρμόστε αυστηρές πολιτικές λήξης token και επικυρώστε την λήξη token από την πλευρά του διακομιστή.
## **Brute Force Token Επαναφοράς Κωδικού Πρόσβασης**
* Προσπάθεια βίαιης παραβίασης του token επαναφοράς χρησιμοποιώντας εργαλεία όπως το Burpsuite και το IP-Rotator για να παρακαμφθούν οι περιορισμοί ρυθμού με βάση την IP.
* **Βήματα Μείωσης**:
* Εφαρμόστε ισχυρούς περιορισμούς ρυθμού και μηχανισμούς κλειδώματος λογαριασμού.
* Παρακολουθήστε ύποπτες δραστηριότητες που υποδεικνύουν επιθέσεις βίαιης παραβίασης.
## **Δοκιμάστε να Χρησιμοποιήσετε το Token σας**
* Δοκιμή αν το token επαναφοράς του επιτιθέμενου μπορεί να χρησιμοποιηθεί σε συνδυασμό με το email του θύματος.
* **Βήματα Μείωσης**:
* Διασφαλίστε ότι τα token είναι δεσμευμένα στη συνεδρία χρήστη ή σε άλλα χαρακτηριστικά που σχετίζονται με τον χρήστη.
## **Ακύρωση Συνεδρίας κατά την Αποσύνδεση/Επαναφορά Κωδικού Πρόσβασης**
* Διασφάλιση ότι οι συνεδρίες ακυρώνονται όταν ο χρήστης αποσυνδέεται ή επαναφέρει τον κωδικό του.
* **Βήματα Μείωσης**:
* Εφαρμόστε σωστή διαχείριση συνεδρίας, διασφαλίζοντας ότι όλες οι συνεδρίες ακυρώνονται κατά την αποσύνδεση ή την επαναφορά κωδικού πρόσβασης.
## **Ακύρωση Συνεδρίας κατά την Αποσύνδεση/Επαναφορά Κωδικού Πρόσβασης**
* Τα token επαναφοράς θα πρέπει να έχουν χρόνο λήξης μετά τον οποίο γίνονται άκυρα.
* **Βήματα Μείωσης**:
* Ορίστε έναν λογικό χρόνο λήξης για τα token επαναφοράς και επιβάλετέ το αυστηρά από την πλευρά του διακομιστή.
## Αναφορές
* [https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token](https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token)
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
**Hacking Insights**\
Engage with content that delves into the thrill and challenges of hacking
**Real-Time Hack News**\
Keep up-to-date with fast-paced hacking world through real-time news and insights
**Latest Announcements**\
Stay informed with the newest bug bounties launching and crucial platform updates
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}