mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/pentesting-web/account-takeover.md'] to el
This commit is contained in:
parent
be06f4eeb4
commit
057d6e8b05
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
## **Πρόβλημα Εξουσιοδότησης**
|
## **Πρόβλημα Εξουσιοδότησης**
|
||||||
|
|
||||||
Το email ενός λογαριασμού θα πρέπει να προσπαθήσει να αλλάξει, και η διαδικασία επιβεβαίωσης **πρέπει να εξεταστεί**. Εάν βρεθεί **ασθενής**, το email θα πρέπει να αλλάξει σε αυτό του προοριζόμενου θύματος και στη συνέχεια να επιβεβαιωθεί.
|
Το email ενός λογαριασμού θα πρέπει να προσπαθήσει να αλλάξει, και η διαδικασία επιβεβαίωσης **πρέπει να εξεταστεί**. Αν βρεθεί **ασθενής**, το email θα πρέπει να αλλάξει σε αυτό του προοριζόμενου θύματος και στη συνέχεια να επιβεβαιωθεί.
|
||||||
|
|
||||||
## **Πρόβλημα Κανονικοποίησης Unicode**
|
## **Πρόβλημα Κανονικοποίησης Unicode**
|
||||||
|
|
||||||
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
- Δημιουργήστε έναν λογαριασμό στον τρίτο πάροχο ταυτότητας με παρόμοιο email με το θύμα χρησιμοποιώντας κάποιο χαρακτήρα unicode (`vićtim@company.com`).
|
- Δημιουργήστε έναν λογαριασμό στον τρίτο πάροχο ταυτότητας με παρόμοιο email με το θύμα χρησιμοποιώντας κάποιο χαρακτήρα unicode (`vićtim@company.com`).
|
||||||
- Ο τρίτος πάροχος δεν θα πρέπει να επαληθεύσει το email
|
- Ο τρίτος πάροχος δεν θα πρέπει να επαληθεύσει το email
|
||||||
- Εάν ο πάροχος ταυτότητας επαληθεύσει το email, ίσως μπορείτε να επιτεθείτε στο μέρος του τομέα όπως: `victim@ćompany.com` και να καταχωρήσετε αυτόν τον τομέα και να ελπίζετε ότι ο πάροχος ταυτότητας θα δημιουργήσει την ascii έκδοση του τομέα ενώ η πλατφόρμα του θύματος κανονικοποιεί το όνομα τομέα.
|
- Αν ο πάροχος ταυτότητας επαληθεύσει το email, ίσως μπορείτε να επιτεθείτε στο μέρος του τομέα όπως: `victim@ćompany.com` και να καταχωρήσετε αυτόν τον τομέα και να ελπίζετε ότι ο πάροχος ταυτότητας θα δημιουργήσει την ascii έκδοση του τομέα ενώ η πλατφόρμα του θύματος κανονικοποιεί το όνομα τομέα.
|
||||||
- Συνδεθείτε μέσω αυτού του παρόχου ταυτότητας στην πλατφόρμα του θύματος που θα πρέπει να κανονικοποιήσει τον χαρακτήρα unicode και να σας επιτρέψει να αποκτήσετε πρόσβαση στον λογαριασμό του θύματος.
|
- Συνδεθείτε μέσω αυτού του παρόχου ταυτότητας στην πλατφόρμα του θύματος που θα πρέπει να κανονικοποιήσει τον χαρακτήρα unicode και να σας επιτρέψει να αποκτήσετε πρόσβαση στον λογαριασμό του θύματος.
|
||||||
|
|
||||||
Για περισσότερες λεπτομέρειες, ανατρέξτε στο έγγραφο σχετικά με την Κανονικοποίηση Unicode:
|
Για περισσότερες λεπτομέρειες, ανατρέξτε στο έγγραφο σχετικά με την Κανονικοποίηση Unicode:
|
||||||
@ -27,7 +27,7 @@ unicode-injection/unicode-normalization.md
|
|||||||
|
|
||||||
## **Επαναχρησιμοποίηση Συνδέσμου Επαναφοράς**
|
## **Επαναχρησιμοποίηση Συνδέσμου Επαναφοράς**
|
||||||
|
|
||||||
Εάν το σύστημα στόχος επιτρέπει τον **σύνδεσμο επαναφοράς να επαναχρησιμοποιηθεί**, θα πρέπει να καταβληθούν προσπάθειες για **να βρείτε περισσότερους συνδέσμους επαναφοράς** χρησιμοποιώντας εργαλεία όπως `gau`, `wayback`, ή `scan.io`.
|
Αν το στοχοθετημένο σύστημα επιτρέπει τον **σύνδεσμο επαναφοράς να επαναχρησιμοποιηθεί**, θα πρέπει να καταβληθούν προσπάθειες για **να βρείτε περισσότερους συνδέσμους επαναφοράς** χρησιμοποιώντας εργαλεία όπως `gau`, `wayback`, ή `scan.io`.
|
||||||
|
|
||||||
## **Προ Ανάληψη Λογαριασμού**
|
## **Προ Ανάληψη Λογαριασμού**
|
||||||
|
|
||||||
@ -35,9 +35,9 @@ unicode-injection/unicode-normalization.md
|
|||||||
2. Θα πρέπει να περιμένετε μέχρι το θύμα να εγγραφεί χρησιμοποιώντας OAuth και να επιβεβαιώσει τον λογαριασμό.
|
2. Θα πρέπει να περιμένετε μέχρι το θύμα να εγγραφεί χρησιμοποιώντας OAuth και να επιβεβαιώσει τον λογαριασμό.
|
||||||
3. Ελπίζεται ότι η κανονική εγγραφή θα επιβεβαιωθεί, επιτρέποντας την πρόσβαση στον λογαριασμό του θύματος.
|
3. Ελπίζεται ότι η κανονική εγγραφή θα επιβεβαιωθεί, επιτρέποντας την πρόσβαση στον λογαριασμό του θύματος.
|
||||||
|
|
||||||
## **Κακή Διαμόρφωση CORS για Ανάληψη Λογαριασμού**
|
## **Λάθος Ρύθμιση CORS για Ανάληψη Λογαριασμού**
|
||||||
|
|
||||||
Εάν η σελίδα περιέχει **κακές διαμορφώσεις CORS** μπορεί να είστε σε θέση να **κλέψετε ευαίσθητες πληροφορίες** από τον χρήστη για να **αναλάβετε τον λογαριασμό του** ή να τον κάνετε να αλλάξει τις πληροφορίες αυθεντικοποίησης για τον ίδιο σκοπό:
|
Αν η σελίδα περιέχει **λάθη ρύθμισης CORS** μπορεί να είστε σε θέση να **κλέψετε ευαίσθητες πληροφορίες** από τον χρήστη για να **αναλάβετε τον λογαριασμό του** ή να τον κάνετε να αλλάξει τις πληροφορίες αυθεντικοποίησης για τον ίδιο σκοπό:
|
||||||
|
|
||||||
{{#ref}}
|
{{#ref}}
|
||||||
cors-bypass.md
|
cors-bypass.md
|
||||||
@ -45,7 +45,7 @@ cors-bypass.md
|
|||||||
|
|
||||||
## **CSRF για Ανάληψη Λογαριασμού**
|
## **CSRF για Ανάληψη Λογαριασμού**
|
||||||
|
|
||||||
Εάν η σελίδα είναι ευάλωτη σε CSRF μπορεί να είστε σε θέση να κάνετε τον **χρήστη να τροποποιήσει τον κωδικό πρόσβασής του**, το email ή την αυθεντικοποίηση ώστε να μπορείτε στη συνέχεια να αποκτήσετε πρόσβαση σε αυτό:
|
Αν η σελίδα είναι ευάλωτη σε CSRF μπορεί να είστε σε θέση να κάνετε τον **χρήστη να τροποποιήσει τον κωδικό πρόσβασής του**, το email ή την αυθεντικοποίηση ώστε να μπορείτε στη συνέχεια να αποκτήσετε πρόσβαση σε αυτό:
|
||||||
|
|
||||||
{{#ref}}
|
{{#ref}}
|
||||||
csrf-cross-site-request-forgery.md
|
csrf-cross-site-request-forgery.md
|
||||||
@ -53,7 +53,7 @@ csrf-cross-site-request-forgery.md
|
|||||||
|
|
||||||
## **XSS για Ανάληψη Λογαριασμού**
|
## **XSS για Ανάληψη Λογαριασμού**
|
||||||
|
|
||||||
Εάν βρείτε ένα XSS στην εφαρμογή μπορεί να είστε σε θέση να κλέψετε cookies, τοπική αποθήκευση, ή πληροφορίες από τη σελίδα που θα μπορούσαν να σας επιτρέψουν να αναλάβετε τον λογαριασμό:
|
Αν βρείτε ένα XSS στην εφαρμογή μπορεί να είστε σε θέση να κλέψετε cookies, τοπική αποθήκευση, ή πληροφορίες από τη σελίδα που θα μπορούσαν να σας επιτρέψουν να αναλάβετε τον λογαριασμό:
|
||||||
|
|
||||||
{{#ref}}
|
{{#ref}}
|
||||||
xss-cross-site-scripting/
|
xss-cross-site-scripting/
|
||||||
@ -61,7 +61,7 @@ xss-cross-site-scripting/
|
|||||||
|
|
||||||
## **Ίδια Προέλευση + Cookies**
|
## **Ίδια Προέλευση + Cookies**
|
||||||
|
|
||||||
Εάν βρείτε έναν περιορισμένο XSS ή μια ανάληψη υποτομέα, θα μπορούσατε να παίξετε με τα cookies (σταθεροποιώντας τα για παράδειγμα) για να προσπαθήσετε να συμβιβάσετε τον λογαριασμό του θύματος:
|
Αν βρείτε ένα περιορισμένο XSS ή μια ανάληψη υποτομέα, θα μπορούσατε να παίξετε με τα cookies (σταθεροποιώντας τα για παράδειγμα) για να προσπαθήσετε να συμβιβάσετε τον λογαριασμό του θύματος:
|
||||||
|
|
||||||
{{#ref}}
|
{{#ref}}
|
||||||
hacking-with-cookies/
|
hacking-with-cookies/
|
||||||
@ -75,7 +75,7 @@ reset-password.md
|
|||||||
|
|
||||||
## **Μανιπουlation Απόκρισης**
|
## **Μανιπουlation Απόκρισης**
|
||||||
|
|
||||||
Εάν η απόκριση αυθεντικοποίησης μπορούσε να **μειωθεί σε μια απλή boolean απλά προσπαθήστε να αλλάξετε το false σε true** και δείτε αν αποκτάτε πρόσβαση.
|
Αν η απόκριση αυθεντικοποίησης μπορούσε να **μειωθεί σε μια απλή boolean απλά προσπαθήστε να αλλάξετε το false σε true** και δείτε αν αποκτάτε πρόσβαση.
|
||||||
|
|
||||||
## OAuth για Ανάληψη Λογαριασμού
|
## OAuth για Ανάληψη Λογαριασμού
|
||||||
|
|
||||||
|
@ -471,17 +471,67 @@ window.search = window.search || {};
|
|||||||
showResults(true);
|
showResults(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
var branch = lang === "en" ? "master" : lang
|
(async function loadSearchIndex(lang = window.lang || 'en') {
|
||||||
fetch(`https://raw.githubusercontent.com/HackTricks-wiki/hacktricks/refs/heads/${branch}/searchindex.json`)
|
/* ───────── paths ───────── */
|
||||||
.then(response => response.json())
|
const branch = lang === 'en' ? 'master' : lang;
|
||||||
.then(json => init(json))
|
const baseRemote = `https://raw.githubusercontent.com/HackTricks-wiki/hacktricks/${branch}`;
|
||||||
.catch(error => { // Try to load searchindex.js if fetch failed
|
const remoteJson = `${baseRemote}/searchindex.json`;
|
||||||
var script = document.createElement('script');
|
const remoteJs = `${baseRemote}/searchindex.js`;
|
||||||
script.src = `https://raw.githubusercontent.com/HackTricks-wiki/hacktricks/refs/heads/${branch}/searchindex.js`;
|
const localJson = './searchindex.json';
|
||||||
script.onload = () => init(window.search);
|
const localJs = './searchindex.js';
|
||||||
document.head.appendChild(script);
|
const TIMEOUT_MS = 5_000;
|
||||||
|
|
||||||
|
/* ───────── helpers ───────── */
|
||||||
|
const fetchWithTimeout = (url, opt = {}) =>
|
||||||
|
Promise.race([
|
||||||
|
fetch(url, opt),
|
||||||
|
new Promise((_, r) => setTimeout(() => r(new Error('timeout')), TIMEOUT_MS))
|
||||||
|
]);
|
||||||
|
|
||||||
|
const loadScript = src =>
|
||||||
|
new Promise((resolve, reject) => {
|
||||||
|
const s = document.createElement('script');
|
||||||
|
s.src = src;
|
||||||
|
s.onload = resolve;
|
||||||
|
s.onerror = reject;
|
||||||
|
document.head.appendChild(s);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/* ───────── 1. remote JSON ───────── */
|
||||||
|
try {
|
||||||
|
const r = await fetchWithTimeout(remoteJson);
|
||||||
|
if (!r.ok) throw new Error(r.status);
|
||||||
|
return init(await r.json());
|
||||||
|
} catch (e) {
|
||||||
|
console.warn('Remote JSON failed →', e);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ───────── 2. remote JS ───────── */
|
||||||
|
try {
|
||||||
|
await loadScript(remoteJs);
|
||||||
|
return init(window.search);
|
||||||
|
} catch (e) {
|
||||||
|
console.warn('Remote JS failed →', e);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ───────── 3. local JSON ───────── */
|
||||||
|
try {
|
||||||
|
const r = await fetch(localJson);
|
||||||
|
if (!r.ok) throw new Error(r.status);
|
||||||
|
return init(await r.json());
|
||||||
|
} catch (e) {
|
||||||
|
console.warn('Local JSON failed →', e);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ───────── 4. local JS ───────── */
|
||||||
|
try {
|
||||||
|
await loadScript(localJs);
|
||||||
|
return init(window.search);
|
||||||
|
} catch (e) {
|
||||||
|
console.error('Local JS failed →', e);
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
|
||||||
// Exported functions
|
// Exported functions
|
||||||
search.hasFocus = hasFocus;
|
search.hasFocus = hasFocus;
|
||||||
})(window.search);
|
})(window.search);
|
Loading…
x
Reference in New Issue
Block a user