Client Side Template Injection (CSTI)
WhiteIntel είναι μια μηχανή αναζήτησης που τροφοδοτείται από το dark web και προσφέρει δωρεάν λειτουργίες για να ελέγξετε αν μια εταιρεία ή οι πελάτες της έχουν διαρρεύσει από κλέφτες κακόβουλων λογισμικών.
Ο κύριος στόχος του WhiteIntel είναι η καταπολέμηση των αποκλεισμών λογαριασμών και των επιθέσεων ransomware που προκύπτουν από κακόβουλα λογισμικά που κλέβουν πληροφορίες.
Μπορείτε να ελέγξετε τον ιστότοπό τους και να δοκιμάσετε τη μηχανή τους δωρεάν στο:
Σύνοψη
Είναι σαν ένα Server Side Template Injection αλλά στον πελάτη. Το SSTI μπορεί να σας επιτρέψει να εκτελέσετε κώδικα στον απομακρυσμένο διακομιστή, το CSTI θα μπορούσε να σας επιτρέψει να εκτελέσετε αυθαίρετο κώδικα JavaScript στον περιηγητή του θύματος.
Η Δοκιμή για αυτήν την ευπάθεια είναι πολύ παρόμοια με την περίπτωση του SSTI, ο διερμηνευτής περιμένει ένα πρότυπο και θα το εκτελέσει. Για παράδειγμα, με ένα φορτίο όπως {{ 7-7 }}
, αν η εφαρμογή είναι ευάθροτη θα δείτε ένα 0
, και αν όχι, θα δείτε το αρχικό: {{ 7-7 }}
AngularJS
Το AngularJS είναι ένα δημοφιλές πλαίσιο JavaScript που αλληλεπιδρά με το HTML μέσω χαρακτηριστικών που ονομάζονται οδηγίες, μια από τις πιο γνωστές είναι το ng-app
. Αυτή η οδηγία επιτρέπει στο AngularJS να επεξεργαστεί το περιεχόμενο του HTML, επιτρέποντας την εκτέλεση εκφράσεων JavaScript μέσα σε διπλές αγκύλες.
Σε περιπτώσεις όπου η είσοδος χρήστη εισάγεται δυναμικά στο σώμα HTML με ετικέτες ng-app
, είναι δυνατή η εκτέλεση αυθαίρετου κώδικα JavaScript. Αυτό μπορεί να επιτευχθεί εκμεταλλευόμενος τη σύνταξη του AngularJS μέσα στην είσοδο. Παρακάτω παρουσιάζονται παραδείγματα που δείχνουν πώς μπορεί να εκτελεστεί κώδικας JavaScript:
Μπορείτε να βρείτε ένα πολύ βασικό online παράδειγμα της ευπάθειας στο AngularJS στο http://jsfiddle.net/2zs2yv7o/ και στο Burp Suite Academy
Το Angular 1.6 αφαίρεσε την αμμοθεκτική ζώνη έτσι από αυτήν την έκδοση ένα φορτίο όπως {{constructor.constructor('alert(1)')()}}
ή <input ng-focus=$event.view.alert('XSS')>
θα πρέπει να λειτουργεί.
VueJS
Μπορείτε να βρείτε μια ευάθροιστη υλοποίηση Vue στο https://vue-client-side-template-injection-example.azu.now.sh/
Λειτουργικό φορτίο: https://vue-client-side-template-injection-example.azu.now.sh/?name=%7B%7Bthis.constructor.constructor(%27alert(%22foo%22)%27)()%7D%
Και ο πηγαίος κώδικας του ευάθροιστου παραδείγματος εδώ: https://github.com/azu/vue-client-side-template-injection-example
Μια πολύ καλή ανάρτηση σχετικά με το CSTI στο VUE μπορεί να βρεθεί στο https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets
V3
Πίστωση: Gareth Heyes, Lewis Ardern & PwnFunction
V2
Πιστώσεις: Mario Heiderich
Ελέγξτε περισσότερα payloads VUE στο https://portswigger.net/web-security/cross-site-scripting/cheat-sheet#vuejs-reflected
Mavo
Payload:
Περισσότερα payloads στο https://portswigger.net/research/abusing-javascript-frameworks-to-bypass-xss-mitigations
Λίστα Ανίχνευσης Βίας
WhiteIntel είναι μια μηχανή αναζήτησης που τροφοδοτείται από το dark web και προσφέρει δωρεάν λειτουργίες για να ελέγξετε αν μια εταιρεία ή οι πελάτες της έχουν διαρρεύσει από κλέφτες κακόβουλων λογισμικών.
Ο κύριος στόχος του WhiteIntel είναι η καταπολέμηση των αναλήψεων λογαριασμών και των επιθέσεων ransomware που προκύπτουν από κακόβουλα λογισμικά που κλέβουν πληροφορίες.
Μπορείτε να ελέγξετε την ιστοσελίδα τους και να δοκιμάσετε τη μηχανή τους δωρεάν στο:
Last updated