Server Side XSS (Dynamic PDF)
Server Side XSS (Δυναμικό PDF)
Εάν μια ιστοσελίδα δημιουργεί ένα PDF χρησιμοποιώντας εισαγόμενη είσοδο από τον χρήστη, μπορείτε να προσπαθήσετε να εξαπατήσετε το bot που δημιουργεί το PDF για να εκτελέσει αυθαίρετο κώδικα JS. Έτσι, αν το bot δημιουργίας PDF εντοπίσει κάποια είδη HTML ετικετών, θα τις ερμηνεύσει, και μπορείτε να καταχραστείτε αυτήν τη συμπεριφορά για να προκαλέσετε ένα Server XSS.
Παρακαλώ, προσέξτε ότι οι ετικέτες <script></script>
δεν λειτουργούν πάντα, οπότε θα χρειαστείτε μια διαφορετική μέθοδο για να εκτελέσετε JS (για παράδειγμα, καταχραστική χρήση της <img
).
Επίσης, σημειώστε ότι σε μια κανονική εκμετάλλευση θα είστε σε θέση να δείτε/κατεβάσετε το δημιουργημένο pdf, οπότε θα μπορείτε να δείτε όλα όσα γράφετε μέσω JS (χρησιμοποιώντας, για παράδειγμα, το document.write()
). Ωστόσο, εάν δεν μπορείτε να δείτε το δημιουργημένο PDF, πιθανώς θα χρειαστεί να εξάγετε τις πληροφορίες κάνοντας αιτήματα web προς εσάς (Blind).
Δημοφιλής δημιουργία PDF
Το wkhtmltopdf είναι γνωστό για τη δυνατότητά του να μετατρέπει έγγραφα HTML και CSS σε PDF, χρησιμοποιώντας τη μηχανή απεικόνισης WebKit. Αυτό το εργαλείο είναι διαθέσιμο ως μια εργασία γραμμής εντολών ανοικτού κώδικα, καθιστώντας το προσβάσιμο για μια ευρεία γκάμα εφαρμογών.
Το TCPDF προσφέρει μια αξιόπιστη λύση εντός του οικοσυστήματος PHP για τη δημιουργία PDF. Είναι ικανό να χειριστεί εικόνες, γραφικά και κρυπτογράφηση, επιδεικνύοντας την ευελιξία του για τη δημιουργία πολύπλοκων εγγράφων.
Για όσους εργάζονται σε ένα περιβάλλον Node.js, το PDFKit παρουσιάζει μια εφικτή επιλογή. Επιτρέπει τη δημιουργία εγγράφων PDF απευθείας από HTML και CSS, παρέχοντας γέφυρα μεταξύ περιεχομένου ιστού και εκτυπώσιμων μορφών.
Οι προγραμματιστές Java μπορεί να προτιμούν το iText, μια βιβλιοθήκη που όχι μόνο διευκολύνει τη δημιουργία PDF, αλλά υποστηρίζει επίσης προηγμένες λειτουργίες όπως ψηφιακές υπογραφές και συμπλήρωση φορμών. Το εκτεταμένο σύνολο χαρακτηριστικών του το καθιστά κατάλληλο για τη δημιουργία ασφαλών και διαδραστικών εγγράφων.
Το FPDF είναι μια άλλη βιβλιοθήκη PHP, που διακρίνεται για την απλότητα και την ευκολία χρήσης της. Είναι σχεδιασμένο για προγραμματιστές που αναζητούν μια απλή προσέγγιση για τη δημιουργία PDF, χωρίς την ανάγκη για εκτεταμένα χαρακτηριστικά.
Payloads
Ανακάλυψη
SVG
Οποιοδήποτε από τα προηγούμενα ή τα ακόλουθα payloads μπορούν να χρησιμοποιηθούν μέσα σε αυτό το SVG payload. Ένα iframe που έχει πρόσβαση στο subdomain του Burpcollab και ένα άλλο που έχει πρόσβαση στο metadata endpoint παρουσιάζονται ως παραδείγματα.
Μπορείτε να βρείτε πολλά άλλα SVG payloads στο https://github.com/allanlw/svg-cheatsheet
Αποκάλυψη διαδρομής
Φόρτωση εξωτερικού script
Ο πιο ασφαλής τρόπος για να εκμεταλλευτείτε αυτήν την ευπάθεια είναι να καταχραστείτε την ευπάθεια για να κάνετε το bot να φορτώσει ένα script που ελέγχετε τοπικά. Έπειτα, θα μπορείτε να αλλάξετε το payload τοπικά και να το φορτώνετε στο bot με τον ίδιο κώδικα κάθε φορά.
Διάβασμα τοπικού αρχείου / SSRF
Αλλάξτε το file:///etc/passwd
σε http://169.254.169.254/latest/user-data
για παράδειγμα για να προσπαθήσετε να αποκτήσετε πρόσβαση σε εξωτερική ιστοσελίδα (SSRF).
Εάν επιτρέπεται το SSRF, αλλά δεν μπορείτε να φτάσετε σε ένα ενδιαφέρον τομέα ή IP, ελέγξτε αυτήν τη σελίδα για πιθανές παρακάμψεις.
Καθυστέρηση του Bot
Οι καθυστερήσεις του Bot αναφέρονται στην τεχνική που χρησιμοποιείται για να καθυστερήσει η αντίδραση του Bot σε μια επίθεση. Αυτό μπορεί να είναι χρήσιμο για να αποφευχθεί η ανίχνευση της επίθεσης από τα αμυντικά συστήματα.
Οι καθυστερήσεις του Bot μπορούν να επιτευχθούν με διάφορους τρόπους, όπως η προσθήκη τυχαίων καθυστερήσεων μεταξύ των αιτημάτων, η προσθήκη καθυστερήσεων πριν από την απάντηση του Bot ή η προσθήκη καθυστερήσεων μεταξύ των ενεργειών που απαιτούνται για την επεξεργασία των αιτημάτων.
Οι καθυστερήσεις του Bot μπορούν να είναι χρήσιμες για την αποφυγή της ανίχνευσης των επιθέσεων, καθώς οι αμυντικοί μηχανισμοί μπορεί να μην αντιληφθούν την ασυνήθιστη δραστηριότητα ως επιθετική. Ωστόσο, οι καθυστερήσεις του Bot μπορεί να επηρεάσουν την απόδοση του συστήματος και να προκαλέσουν ανεπιθύμητες καθυστερήσεις για τους χρήστες.
Σάρωση Θυρών
Η σάρωση θυρών είναι μια τεχνική που χρησιμοποιείται για να εντοπιστούν ανοιχτές θύρες σε έναν στόχο. Οι επιθέσεις σάρωσης θυρών μπορούν να αποκαλύψουν πιθανά ευπάθειες στο σύστημα και να παρέχουν πληροφορίες για τις υπηρεσίες που εκτελούνται σε κάθε θύρα.
Οι επιθέσεις σάρωσης θυρών μπορούν να γίνουν με τη χρήση εργαλείων όπως το Nmap. Αυτά τα εργαλεία εκτελούν σάρωση σε μια σειρά θυρών σε έναν στόχο και αναφέρουν τις θύρες που είναι ανοιχτές και προσβάσιμες.
Η σάρωση θυρών μπορεί να χρησιμοποιηθεί από κακόβουλους χάκερ για να εντοπίσουν ευπάθειες σε ένα σύστημα και να προβούν σε επιθέσεις. Ως εκ τούτου, είναι σημαντικό να λαμβάνονται μέτρα ασφαλείας για να προστατευθεί ένα σύστημα από επιθέσεις σάρωσης θυρών.
Αυτή η ευπάθεια μπορεί να μετατραπεί πολύ εύκολα σε SSRF (καθώς μπορείτε να κάνετε το σενάριο να φορτώσει εξωτερικούς πόρους). Οπότε απλά προσπαθήστε να την εκμεταλλευτείτε (να διαβάσετε μερικά μεταδεδομένα;).
Συνημμένα: PD4ML
Υπάρχουν μερικοί μηχανισμοί μετατροπής HTML σε PDF που επιτρέπουν να καθορίσετε συνημμένα για το PDF, όπως το PD4ML. Μπορείτε να καταχραστείτε αυτή τη δυνατότητα για να συνδέσετε οποιοδήποτε τοπικό αρχείο στο PDF. Για να ανοίξετε το συνημμένο, άνοιξα το αρχείο με τον Firefox και κάνοντας διπλό κλικ στο σύμβολο του συνδετήρα χαρτιού για να αποθηκεύσω το συνημμένο ως ένα νέο αρχείο. Η καταγραφή της απόκρισης PDF με το burp θα πρέπει επίσης να εμφανίζει το συνημμένο σε καθαρό κείμενο μέσα στο PDF.
Αναφορές
Last updated