mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 20:53:37 +00:00
182 lines
26 KiB
Markdown
182 lines
26 KiB
Markdown
# OAuth για Επανάληψη Λογαριασμού
|
||
|
||
<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) ή στη [**ομάδα telegram**](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>
|
||
|
||
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||
|
||
{% embed url="https://websec.nl/" %}
|
||
|
||
## Βασικές Πληροφορίες <a href="#d4a8" id="d4a8"></a>
|
||
|
||
Το OAuth προσφέρει διάφορες εκδόσεις, με βασικές πληροφορίες προσβάσιμες στην [τεκμηρίωση του OAuth 2.0](https://oauth.net/2/). Αυτή η συζήτηση επικεντρώνεται κυρίως στο ευρέως χρησιμοποιούμενο [τύπο χορήγησης κώδικα εξουσιοδότησης OAuth 2.0](https://oauth.net/2/grant-types/authorization-code/), παρέχοντας ένα **πλαίσιο εξουσιοδότησης που επιτρέπει σε μια εφαρμογή να έχει πρόσβαση ή να εκτελεί ενέργειες στον λογαριασμό ενός χρήστη σε μια άλλη εφαρμογή** (το διακομιστή εξουσιοδότησης).
|
||
|
||
Να ληφθεί υπόψη μια υποθετική ιστοσελίδα _**https://example.com**_, σχεδιασμένη για να **παρουσιάζει όλες τις αναρτήσεις σας στα μέσα κοινωνικής δικτύωσης**, συμπεριλαμβανομένων των ιδιωτικών. Για να επιτευχθεί αυτό, χρησιμοποιείται το OAuth 2.0. Η _https://example.com_ θα ζητήσει την άδειά σας να **έχει πρόσβαση στις αναρτήσεις σας στα μέσα κοινωνικής δικτύωσης**. Ως εκ τούτου, θα εμφανιστεί μια οθόνη συγκατάθεσης στην _https://socialmedia.com_, περιγράφοντας τις **άδειες που ζητούνται και τον προγραμματιστή που κάνει το αίτημα**. Με την έγκρισή σας, η _https://example.com_ αποκτά τη δυνατότητα να **έχει πρόσβαση στις αναρτήσεις σας εκ μέρους σας**.
|
||
|
||
Είναι ουσιώδες να κατανοήσετε τα ακόλουθα στοιχεία εντός του πλαισίου OAuth 2.0:
|
||
|
||
- **κάτοχος πόρων**: Εσείς, ως **χρήστης/οντότητα**, εξουσιάζετε την πρόσβαση στον πόρο σας, όπως οι αναρτήσεις του λογαριασμού σας στα μέσα κοινωνικής δικτύωσης.
|
||
- **διακομιστής πόρων**: Ο **διακομιστής που διαχειρίζεται αυθεντικοποιημένα αιτήματα** μετά την ασφαλή λήψη ενός `access token` εκ μέρους του `κατόχου πόρων`, π.χ., **https://socialmedia.com**.
|
||
- **εφαρμογή πελάτης**: Η **εφαρμογή που ζητά εξουσιοδότηση** από τον `κάτοχο πόρων`, όπως το **https://example.com**.
|
||
- **διακομιστής εξουσιοδότησης**: Ο **διακομιστής που εκδίδει `access tokens`** στην `εφαρμογή πελάτη` μετά την επιτυχή αυθεντικοποίηση του `κατόχου πόρων` και την ασφαλή εξουσιοδότηση, π.χ., **https://socialmedia.com**.
|
||
- **client\_id**: Ένα δημόσιο, μοναδικό αναγνωριστικό για την εφαρμογή.
|
||
- **client\_secret:** Ένα εμπιστευτικό κλειδί, γνωστό μόνο στην εφαρμογή και στον διακομιστή εξουσιοδότησης, που χρησιμοποιείται για τη δημιουργία `access_tokens`.
|
||
- **response\_type**: Ένας τύπος τιμής που καθορίζει **τον τύπο του ζητούμενου τοκέν**, όπως το `code`.
|
||
- **scope**: Το **επίπεδο πρόσβασης** που ζητά η `εφαρμογή πελάτης` από τον `κάτοχο πόρων`.
|
||
- **redirect\_uri**: Η **διεύθυνση URL στην οποία ανακατευθύνεται ο χρήστης μετά την εξουσιοδότηση**. Αυτή πρέπει συνήθως να συμφωνεί με την προ-καταχωρημένη διεύθυνση ανακατεύθυνσης.
|
||
- **state**: Ένα παράμετρος για τη **διατήρηση δεδομένων κατά την ανακατεύθυνση του χρήστη προς και από τον διακομιστή εξουσιοδότησης**. Η μοναδικότητά του είναι κρίσιμη για τη λειτουργία ως **μηχανισμός προστασίας CSRF**.
|
||
- **grant\_type**: Μια παράμετρος που υποδηλώνει **τον τύπο χορήγησης και τον τύπο του τοκέν που θα επιστραφεί**.
|
||
- **code**: Ο κωδικός εξουσιοδότησης από τον `διακομιστή εξουσιοδότησης`, χρησιμοποιείται σε συνδυασμό με το `client_id` και το `client_secret` από την εφαρμογή πελάτη για την απόκτηση ενός `access_token`.
|
||
- **access\_token**: Το **τοκέν που χρησιμοποιεί η εφαρμογή πελάτη για αιτήματα API** εκ μέρους του `κάτοχου πόρων`.
|
||
- **refresh\_token**: Επιτρέπει στην εφαρμογή να **λάβει ένα νέο `access_token` χωρίς να ζητήσει ξανά τη συγκατάθεση του χρήστη**.
|
||
|
||
### Ροή
|
||
|
||
Η **πραγματική ροή OAuth** προχωρά ως εξής:
|
||
|
||
1. Πλοηγείστε στο [https://example.com](https://example.com) και επιλέξτε το κουμπί "Ενσωμάτωση με Κοινωνικά Δίκτυα".
|
||
2. Στη συνέχεια, η ιστοσελίδα στέλνει ένα αίτημα στη διεύθυνση [https://socialmedia.com](https://socialmedia.com) ζητώντας την άδειά σας να επιτρέψετε στην εφαρμογή του https://example.com να έχει πρόσβαση στις αναρτήσεις σας. Το αίτημα δομείται ως:
|
||
```
|
||
https://socialmedia.com/auth
|
||
?response_type=code
|
||
&client_id=example_clientId
|
||
&redirect_uri=https%3A%2F%2Fexample.com%2Fcallback
|
||
&scope=readPosts
|
||
&state=randomString123
|
||
```
|
||
3. Στη συνέχεια, σας παρουσιάζεται μια σελίδα συγκατάθεσης.
|
||
|
||
4. Ακολουθώντας την έγκρισή σας, τα Κοινωνικά Δίκτυα στέλνουν μια απάντηση στο `redirect_uri` με τις παραμέτρους `code` και `state`:
|
||
```
|
||
https://example.com?code=uniqueCode123&state=randomString123
|
||
```
|
||
5. https://example.com χρησιμοποιεί αυτόν τον `code`, μαζί με το `client_id` και το `client_secret` του, για να κάνει μια αίτηση στον διακομιστή για να λάβει ένα `access_token` εκ μέρους σας, επιτρέποντας πρόσβαση στις άδειες που συμφωνήσατε:
|
||
```
|
||
POST /oauth/access_token
|
||
Host: socialmedia.com
|
||
...{"client_id": "example_clientId", "client_secret": "example_clientSecret", "code": "uniqueCode123", "grant_type": "authorization_code"}
|
||
```
|
||
6. Τέλος, η διαδικασία ολοκληρώνεται όταν το https://example.com χρησιμοποιεί το `access_token` σας για να κάνει ένα κλήση API στα Κοινωνικά Μέσα για πρόσβαση
|
||
|
||
## Ευπάθειες <a href="#323a" id="323a"></a>
|
||
|
||
### Ανοιχτή redirect\_uri <a href="#cc36" id="cc36"></a>
|
||
|
||
Το `redirect_uri` είναι κρίσιμο για την ασφάλεια στις υλοποιήσεις OAuth και OpenID, καθώς καθοδηγεί πού αποστέλλονται ευαίσθητα δεδομένα, όπως κωδικοί εξουσιοδότησης, μετά την εξουσιοδότηση. Εάν διαμορφωθεί εσφαλμένα, μπορεί να επιτρέψει σε επιτιθέμενους να ανακατευθύνουν αυτά τα αιτήματα σε κακόβουλους διακομιστές, ενεργοποιώντας την ανάληψη λογαριασμού.
|
||
|
||
Οι τεχνικές εκμετάλλευσης ποικίλουν ανάλογα με τη λογική επικύρωσης του διακομιστή εξουσιοδότησης. Μπορούν να κυμαίνονται από αυστηρή αντιστοίχιση μονοπατιών έως την αποδοχή οποιουδήποτε URL εντός του καθορισμένου τομέα ή υποκαταλόγου. Οι κοινές μεθόδοι εκμετάλλευσης περιλαμβάνουν ανοιχτές ανακατευθύνσεις, διάβαση μονοπατιών, εκμετάλλευση αδύναμων regexes και ενσωμάτωση HTML για κλοπή διακριτικού.
|
||
|
||
Εκτός από το `redirect_uri`, άλλοι παράμετροι OAuth και OpenID όπως το `client_uri`, το `policy_uri`, το `tos_uri` και το `initiate_login_uri` είναι επίσης ευάλωτοι σε επιθέσεις ανακατεύθυνσης. Αυτές οι παράμετροι είναι προαιρετικές και η υποστήριξή τους ποικίλλει ανάμεσα στους διακομιστές.
|
||
|
||
Για εκείνους που στοχεύουν έναν διακομιστή OpenID, το σημείο ανακάλυψης (`**.well-known/openid-configuration**`) συχνά αναφέρει σημαντικές λεπτομέρειες ρύθμισης όπως το `registration_endpoint`, το `request_uri_parameter_supported` και το "`require_request_uri_registration`. Αυτές οι λεπτομέρειες μπορούν να βοηθήσουν στην αναγνώριση του σημείου εγγραφής και άλλων συγκεκριμένων ρυθμίσεων του διακομιστή.
|
||
|
||
### XSS στην υλοποίηση ανακατεύθυνσης <a href="#bda5" id="bda5"></a>
|
||
|
||
Όπως αναφέρεται σε αυτήν την αναφορά αμοιβής ευρήματος σφαλμάτων [https://blog.dixitaditya.com/2021/11/19/account-takeover-chain.html](https://blog.dixitaditya.com/2021/11/19/account-takeover-chain.html) είναι πιθανόν να υπάρχει η περίπτωση ότι το **URL ανακατεύθυνσης αντανακλάται στην απόκριση** του διακομιστή μετά την αυθεντικοποίηση του χρήστη, είναι **ευάλωτο σε XSS**. Πιθανό πελομένο για δοκιμή:
|
||
```
|
||
https://app.victim.com/login?redirectUrl=https://app.victim.com/dashboard</script><h1>test</h1>
|
||
```
|
||
### CSRF - Ανακατεύθυνση του παραμέτρου κατάστασης <a href="#bda5" id="bda5"></a>
|
||
|
||
Στις υλοποιήσεις OAuth, η κακή χρήση ή παράλειψη της **παραμέτρου `state`** μπορεί να αυξήσει σημαντικά τον κίνδυνο επιθέσεων **Cross-Site Request Forgery (CSRF)**. Αυτή η ευπάθεια προκύπτει όταν η παράμετρος `state` είτε **δεν χρησιμοποιείται, χρησιμοποιείται ως στατική τιμή, ή δεν επικυρώνεται σωστά**, επιτρέποντας στους επιτιθέμενους να παρακάμψουν τις προστασίες CSRF.
|
||
|
||
Οι επιτιθέμενοι μπορούν να εκμεταλλευτούν αυτό αποκτώντας την εξουσία να συνδέσουν τον λογαριασμό τους με τον λογαριασμό ενός θύματος, οδηγώντας σε πιθανές **καταλήψεις λογαριασμού**. Αυτό είναι ιδιαίτερα κρίσιμο σε εφαρμογές όπου το OAuth χρησιμοποιείται για **σκοπούς πιστοποίησης**.
|
||
|
||
Παραδείγματα αυτής της ευπάθειας έχουν καταγραφεί σε διάφορες προκλήσεις **CTF** και **πλατφόρμες χακτινγκ**, αναδεικνύοντας τις πρακτικές της επιπτώσεις. Το πρόβλημα επεκτείνεται επίσης σε ενσωματώσεις με υπηρεσίες τρίτων όπως **Slack**, **Stripe**, και **PayPal**, όπου οι επιτιθέμενοι μπορούν να ανακατευθύνουν ειδοποιήσεις ή πληρωμές στους λογαριασμούς τους.
|
||
|
||
Η σωστή χειρισμός και επικύρωση της **παραμέτρου `state`** είναι ζωτικής σημασίας για την προστασία ενάντια στο CSRF και την ασφάλεια της ροής του OAuth.
|
||
|
||
### Πριν από την Κατάληψη Λογαριασμού <a href="#ebe4" id="ebe4"></a>
|
||
|
||
1. **Χωρίς Επαλήθευση Email κατά τη Δημιουργία Λογαριασμού**: Οι επιτιθέμενοι μπορούν προληπτικά να δημιουργήσουν ένα λογαριασμό χρησιμοποιώντας το email του θύματος. Αν το θύμα χρησιμοποιήσει αργότερα μια υπηρεσία τρίτου για σύνδεση, η εφαρμογή ενδέχεται να συνδέσει ακούσια αυτόν τον λογαριασμό τρίτου με τον προ-δημιουργημένο λογαριασμό του επιτιθέμενου, οδηγώντας σε μη εξουσιοδοτημένη πρόσβαση.
|
||
|
||
2. **Εκμετάλλευση Χαλαρής Επαλήθευσης Email στο OAuth**: Οι επιτιθέμενοι μπορεί να εκμεταλλευτούν υπηρεσίες OAuth που δεν επαληθεύουν τα emails καταχωρώντας με την υπηρεσία τους και στη συνέχεια αλλάζοντας το email του λογαριασμού σε αυτό του θύματος. Αυτή η μέθοδος απειλεί επίσης την μη εξουσιοδοτημένη πρόσβαση στον λογαριασμό, παρόμοια με το πρώτο σενάριο αλλά μέσω διαφορετικού διανύσματος επίθεσης.
|
||
|
||
### Αποκάλυψη Μυστικών <a href="#e177" id="e177"></a>
|
||
|
||
Η εντοπισμός και προστασία των μυστικών παραμέτρων OAuth είναι ζωτικής σημασίας. Ενώ το **`client_id`** μπορεί να αποκαλυφθεί με ασφάλεια, η αποκάλυψη του **`client_secret`** συνιστά σημαντικούς κινδύνους. Αν το `client_secret` διαρρεύσει, οι επιτιθέμενοι μπορούν να εκμεταλλευτούν την ταυτότητα και την εμπιστοσύνη της εφαρμογής για να **κλέψουν τα `access_tokens`** των χρηστών και προσωπικές πληροφορίες.
|
||
|
||
Μια συνηθισμένη ευπάθεια προκύπτει όταν οι εφαρμογές χειρίζονται λανθασμένα την ανταλλαγή του κώδικα εξουσιοδότησης για ένα `access_token` στην πλευρά του πελάτη αντί για την πλευρά του διακομιστή. Αυτό το λάθος οδηγεί στην αποκάλυψη του `client_secret`, επιτρέποντας στους επιτιθέμενους να δημιουργήσουν `access_tokens` υπό την εμφάνιση της εφαρμογής. Επιπλέον, μέσω κοινωνικής μηχανικής, οι επιτιθέμενοι θα μπορούσαν να αναβαθμίσουν τα δικαιώματα προσθέτοντας επιπλέον εύρος στην εξουσιοδότηση OAuth, εκμεταλλευόμενοι περαιτέρω την εμπιστοσύνη της εφαρμογής.
|
||
|
||
### Βίαιη Δοκιμή Κλειδιού Πελάτη
|
||
|
||
Μπορείτε να προσπαθήσετε να **δοκιμάσετε βίαια το κλειδί πελάτη** ενός παροχέα υπηρεσιών με τον πάροχο ταυτότητας προκειμένου να προσπαθήσετε να κλέψετε λογαριασμούς.\
|
||
Το αίτημα στην βίαιη δοκιμή μπορεί να μοιάζει με:
|
||
```
|
||
POST /token HTTP/1.1
|
||
content-type: application/x-www-form-urlencoded
|
||
host: 10.10.10.10:3000
|
||
content-length: 135
|
||
Connection: close
|
||
|
||
code=77515&redirect_uri=http%3A%2F%2F10.10.10.10%3A3000%2Fcallback&grant_type=authorization_code&client_id=public_client_id&client_secret=[bruteforce]
|
||
```
|
||
### Διαρροή Κώδικα + Κατάσταση στον Κεφαλίδα Αναφοράς
|
||
|
||
Αφού ο πελάτης έχει τον **κώδικα και την κατάσταση**, αν αυτά **αντανακλώνται μέσα στον κεφαλίδα Αναφοράς (Referer header)** όταν περιηγείται σε διαφορετική σελίδα, τότε είναι ευάλωτο.
|
||
|
||
### Πρόσβαση Κλειδιού Πρόσβασης Αποθηκευμένου στο Ιστορικό του Προγράμματος Περιήγησης
|
||
|
||
Πηγαίνετε στο **ιστορικό του προγράμματος περιήγησης και ελέγξτε αν το κλειδί πρόσβασης είναι αποθηκευμένο εκεί**.
|
||
|
||
### Αιώνιος Κωδικός Εξουσιοδότησης
|
||
|
||
Ο **κωδικός εξουσιοδότησης θα πρέπει να ζει μόνο για κάποιο χρονικό διάστημα για να περιοριστεί το παράθυρο χρόνου όπου ένας επιτιθέμενος μπορεί να τον κλέψει και να τον χρησιμοποιήσει**.
|
||
|
||
### Κωδικός Εξουσιοδότησης/Ανανέωσης που δεν συνδέεται με τον πελάτη
|
||
|
||
Αν μπορείτε να πάρετε τον **κωδικό εξουσιοδότησης και να τον χρησιμοποιήσετε με ένα διαφορετικό πελάτη τότε μπορείτε να αναλάβετε τον έλεγχο άλλων λογαριασμών**.
|
||
|
||
### Ευτυχισμένες Διαδρομές, XSS, Iframes & Αποστολή Μηνυμάτων για διαρροή κώδικα & τιμών κατάστασης
|
||
|
||
**[Ελέγξτε αυτήν την ανάρτηση](https://labs.detectify.com/writeups/account-hijacking-using-dirty-dancing-in-sign-in-oauth-flows/#gadget-2-xss-on-sandbox-third-party-domain-that-gets-the-url)**
|
||
|
||
### AWS Cognito <a href="#bda5" id="bda5"></a>
|
||
|
||
Σε αυτήν την αναφορά επιδρομής σε ευρήματα ασφάλειας: [**https://security.lauritz-holtmann.de/advisories/flickr-account-takeover/**](https://security.lauritz-holtmann.de/advisories/flickr-account-takeover/) μπορείτε να δείτε ότι το **διακριτικό** που δίνει πίσω το **AWS Cognito** στον χρήστη μπορεί να έχει **επαρκείς δικαιώματα για να αντικαταστήσει τα δεδομένα του χρήστη**. Επομένως, αν μπορείτε να **αλλάξετε το email του χρήστη με ένα διαφορετικό email χρήστη**, μπορείτε να **αναλάβετε** τους λογαριασμούς άλλων.
|
||
```bash
|
||
# Read info of the user
|
||
aws cognito-idp get-user --region us-east-1 --access-token eyJraWQiOiJPVj[...]
|
||
|
||
# Change email address
|
||
aws cognito-idp update-user-attributes --region us-east-1 --access-token eyJraWQ[...] --user-attributes Name=email,Value=imaginary@flickr.com
|
||
{
|
||
"CodeDeliveryDetailsList": [
|
||
{
|
||
"Destination": "i***@f***.com",
|
||
"DeliveryMedium": "EMAIL",
|
||
"AttributeName": "email"
|
||
}
|
||
]
|
||
}
|
||
```
|
||
### Κατάχρηση των τεκμηρίων άλλων εφαρμογών <a href="#bda5" id="bda5"></a>
|
||
|
||
Όπως [**αναφέρεται σε αυτό το άρθρο**](https://salt.security/blog/oh-auth-abusing-oauth-to-take-over-millions-of-accounts), οι ροές OAuth που αναμένουν να λάβουν το **token** (και όχι έναν κωδικό) θα μπορούσαν να είναι ευάλωτες αν δεν ελέγχουν ότι το token ανήκει στην εφαρμογή.
|
||
|
||
Αυτό συμβαίνει επειδή ένας **επιτιθέμενος** θα μπορούσε να δημιουργήσει μια **εφαρμογή που υποστηρίζει το OAuth και να συνδεθεί με το Facebook** (για παράδειγμα) στη δική του εφαρμογή. Στη συνέχεια, μόλις ένα θύμα συνδεθεί με το Facebook στην **εφαρμογή του επιτιθέμενου**, ο επιτιθέμενος θα μπορούσε να λάβει το **OAuth token του χρήστη που δόθηκε στην εφαρμογή του, και να το χρησιμοποιήσει για να συνδεθεί στην εφαρμογή OAuth του θύματος χρησιμοποιώντας το token του χρήστη του θύματος**.
|
||
|
||
{% hint style="danger" %}
|
||
Συνεπώς, αν ο επιτιθέμενος καταφέρει να κάνει τον χρήστη να δώσει πρόσβαση στη δική του εφαρμογή OAuth, θα μπορεί να αναλάβει τον έλεγχο του λογαριασμού του θύματος σε εφαρμογές που αναμένουν ένα token και δεν ελέγχουν αν το token χορηγήθηκε στο αναγνωριστικό της εφαρμογής τους.
|
||
{% endhint %}
|
||
|
||
### Δύο συνδέσμοι & cookie <a href="#bda5" id="bda5"></a>
|
||
|
||
Σύμφωνα με [**αυτό το άρθρο**](https://medium.com/@metnew/why-electron-apps-cant-store-your-secrets-confidentially-inspect-option-a49950d6d51f), ήταν δυνατό να κάνει ένα θύμα να ανοίξει μια σελίδα με ένα **returnUrl** που οδηγεί στον υπολογιστή του επιτιθέμενου. Αυτές οι πληροφορίες θα **αποθηκευτούν σε ένα cookie (RU)** και σε ένα **μετέπειτα βήμα** το **prompt** θα **ζητήσει** από τον **χρήστη** αν θέλει να δώσει πρόσβαση σε αυτόν τον υπολογιστή του επιτιθέμενου.
|
||
|
||
Για να παρακάμψετε αυτό το prompt, ήταν δυνατό να ανοίξετε ένα καρτελάκι για να ξεκινήσετε τη **ροή OAuth** που θα ορίσει αυτό το RU cookie χρησιμοποιώντας το **returnUrl**, να κλείσετε το καρτελάκι πριν εμφανιστεί το prompt, και να ανοίξετε ένα νέο καρτελάκι χωρίς αυτήν την τιμή. Στη συνέχεια, το **prompt δεν θα ενημερώσει για τον υπολογιστή του επιτιθέμενου**, αλλά το cookie θα οριστεί σε αυτόν, έτσι το **token θα σταλεί στον υπολογιστή του επιτιθέμενου** στην ανακατεύθυνση.
|
||
|
||
### Παράμετροι SSRFs <a href="#bda5" id="bda5"></a>
|
||
|
||
**[Ελέγξτε αυτή την έρευνα](https://portswigger.net/research/hidden-oauth-attack-vectors) για περισσότερες λεπτομέρειες σχετικά με αυτήν την τεχνική.**
|