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** | ||||
| 
 | ||||
| @ -16,7 +16,7 @@ | ||||
| 
 | ||||
| - Δημιουργήστε έναν λογαριασμό στον τρίτο πάροχο ταυτότητας με παρόμοιο email με το θύμα χρησιμοποιώντας κάποιο χαρακτήρα unicode (`vićtim@company.com`). | ||||
| - Ο τρίτος πάροχος δεν θα πρέπει να επαληθεύσει το email | ||||
| - Εάν ο πάροχος ταυτότητας επαληθεύσει το email, ίσως μπορείτε να επιτεθείτε στο μέρος του τομέα όπως: `victim@ćompany.com` και να καταχωρήσετε αυτόν τον τομέα και να ελπίζετε ότι ο πάροχος ταυτότητας θα δημιουργήσει την ascii έκδοση του τομέα ενώ η πλατφόρμα του θύματος κανονικοποιεί το όνομα τομέα. | ||||
| - Αν ο πάροχος ταυτότητας επαληθεύσει το email, ίσως μπορείτε να επιτεθείτε στο μέρος του τομέα όπως: `victim@ćompany.com` και να καταχωρήσετε αυτόν τον τομέα και να ελπίζετε ότι ο πάροχος ταυτότητας θα δημιουργήσει την ascii έκδοση του τομέα ενώ η πλατφόρμα του θύματος κανονικοποιεί το όνομα τομέα. | ||||
| - Συνδεθείτε μέσω αυτού του παρόχου ταυτότητας στην πλατφόρμα του θύματος που θα πρέπει να κανονικοποιήσει τον χαρακτήρα 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 και να επιβεβαιώσει τον λογαριασμό. | ||||
| 3. Ελπίζεται ότι η κανονική εγγραφή θα επιβεβαιωθεί, επιτρέποντας την πρόσβαση στον λογαριασμό του θύματος. | ||||
| 
 | ||||
| ## **Κακή Διαμόρφωση CORS για Ανάληψη Λογαριασμού** | ||||
| ## **Λάθος Ρύθμιση CORS για Ανάληψη Λογαριασμού** | ||||
| 
 | ||||
| Εάν η σελίδα περιέχει **κακές διαμορφώσεις CORS** μπορεί να είστε σε θέση να **κλέψετε ευαίσθητες πληροφορίες** από τον χρήστη για να **αναλάβετε τον λογαριασμό του** ή να τον κάνετε να αλλάξει τις πληροφορίες αυθεντικοποίησης για τον ίδιο σκοπό: | ||||
| Αν η σελίδα περιέχει **λάθη ρύθμισης CORS** μπορεί να είστε σε θέση να **κλέψετε ευαίσθητες πληροφορίες** από τον χρήστη για να **αναλάβετε τον λογαριασμό του** ή να τον κάνετε να αλλάξει τις πληροφορίες αυθεντικοποίησης για τον ίδιο σκοπό: | ||||
| 
 | ||||
| {{#ref}} | ||||
| cors-bypass.md | ||||
| @ -45,7 +45,7 @@ cors-bypass.md | ||||
| 
 | ||||
| ## **CSRF για Ανάληψη Λογαριασμού** | ||||
| 
 | ||||
| Εάν η σελίδα είναι ευάλωτη σε CSRF μπορεί να είστε σε θέση να κάνετε τον **χρήστη να τροποποιήσει τον κωδικό πρόσβασής του**, το email ή την αυθεντικοποίηση ώστε να μπορείτε στη συνέχεια να αποκτήσετε πρόσβαση σε αυτό: | ||||
| Αν η σελίδα είναι ευάλωτη σε CSRF μπορεί να είστε σε θέση να κάνετε τον **χρήστη να τροποποιήσει τον κωδικό πρόσβασής του**, το email ή την αυθεντικοποίηση ώστε να μπορείτε στη συνέχεια να αποκτήσετε πρόσβαση σε αυτό: | ||||
| 
 | ||||
| {{#ref}} | ||||
| csrf-cross-site-request-forgery.md | ||||
| @ -53,7 +53,7 @@ csrf-cross-site-request-forgery.md | ||||
| 
 | ||||
| ## **XSS για Ανάληψη Λογαριασμού** | ||||
| 
 | ||||
| Εάν βρείτε ένα XSS στην εφαρμογή μπορεί να είστε σε θέση να κλέψετε cookies, τοπική αποθήκευση, ή πληροφορίες από τη σελίδα που θα μπορούσαν να σας επιτρέψουν να αναλάβετε τον λογαριασμό: | ||||
| Αν βρείτε ένα XSS στην εφαρμογή μπορεί να είστε σε θέση να κλέψετε cookies, τοπική αποθήκευση, ή πληροφορίες από τη σελίδα που θα μπορούσαν να σας επιτρέψουν να αναλάβετε τον λογαριασμό: | ||||
| 
 | ||||
| {{#ref}} | ||||
| xss-cross-site-scripting/ | ||||
| @ -61,7 +61,7 @@ xss-cross-site-scripting/ | ||||
| 
 | ||||
| ## **Ίδια Προέλευση + Cookies** | ||||
| 
 | ||||
| Εάν βρείτε έναν περιορισμένο XSS ή μια ανάληψη υποτομέα, θα μπορούσατε να παίξετε με τα cookies (σταθεροποιώντας τα για παράδειγμα) για να προσπαθήσετε να συμβιβάσετε τον λογαριασμό του θύματος: | ||||
| Αν βρείτε ένα περιορισμένο XSS ή μια ανάληψη υποτομέα, θα μπορούσατε να παίξετε με τα cookies (σταθεροποιώντας τα για παράδειγμα) για να προσπαθήσετε να συμβιβάσετε τον λογαριασμό του θύματος: | ||||
| 
 | ||||
| {{#ref}} | ||||
| hacking-with-cookies/ | ||||
| @ -75,7 +75,7 @@ reset-password.md | ||||
| 
 | ||||
| ## **Μανιπουlation Απόκρισης** | ||||
| 
 | ||||
| Εάν η απόκριση αυθεντικοποίησης μπορούσε να **μειωθεί σε μια απλή boolean απλά προσπαθήστε να αλλάξετε το false σε true** και δείτε αν αποκτάτε πρόσβαση. | ||||
| Αν η απόκριση αυθεντικοποίησης μπορούσε να **μειωθεί σε μια απλή boolean απλά προσπαθήστε να αλλάξετε το false σε true** και δείτε αν αποκτάτε πρόσβαση. | ||||
| 
 | ||||
| ## OAuth για Ανάληψη Λογαριασμού | ||||
| 
 | ||||
|  | ||||
| @ -471,16 +471,66 @@ window.search = window.search || {}; | ||||
|         showResults(true); | ||||
|     } | ||||
| 
 | ||||
|     var branch = lang === "en" ? "master" : lang | ||||
|     fetch(`https://raw.githubusercontent.com/HackTricks-wiki/hacktricks/refs/heads/${branch}/searchindex.json`) | ||||
|         .then(response => response.json()) | ||||
|         .then(json => init(json))         | ||||
|         .catch(error => { // Try to load searchindex.js if fetch failed
 | ||||
|             var script = document.createElement('script'); | ||||
|             script.src = `https://raw.githubusercontent.com/HackTricks-wiki/hacktricks/refs/heads/${branch}/searchindex.js`; | ||||
|             script.onload = () => init(window.search); | ||||
|             document.head.appendChild(script); | ||||
|         }); | ||||
|     (async function loadSearchIndex(lang = window.lang || 'en') { | ||||
|         /* ───────── paths ───────── */ | ||||
|         const branch      = lang === 'en' ? 'master' : lang; | ||||
|         const baseRemote  = `https://raw.githubusercontent.com/HackTricks-wiki/hacktricks/${branch}`; | ||||
|         const remoteJson  = `${baseRemote}/searchindex.json`; | ||||
|         const remoteJs    = `${baseRemote}/searchindex.js`; | ||||
|         const localJson   = './searchindex.json'; | ||||
|         const localJs     = './searchindex.js'; | ||||
|         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
 | ||||
|     search.hasFocus = hasFocus; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user