XPATH injection
Join HackenProof Discord server to communicate with experienced hackers and bug bounty hunters!
Hacking Insights Engage with content that delves into the thrill and challenges of hacking
Real-Time Hack News Keep up-to-date with fast-paced hacking world through real-time news and insights
Latest Announcements Stay informed with the newest bug bounties launching and crucial platform updates
Join us on Discord and start collaborating with top hackers today!
Basic Syntax
Μια τεχνική επίθεσης γνωστή ως XPath Injection χρησιμοποιείται για να εκμεταλλευτεί εφαρμογές που σχηματίζουν ερωτήματα XPath (XML Path Language) με βάση την είσοδο του χρήστη για να ερωτήσουν ή να πλοηγηθούν σε έγγραφα XML.
Nodes Described
Οι εκφράσεις χρησιμοποιούνται για την επιλογή διαφόρων κόμβων σε ένα έγγραφο XML. Αυτές οι εκφράσεις και οι περιγραφές τους συνοψίζονται παρακάτω:
nodename: Όλοι οι κόμβοι με το όνομα "nodename" επιλέγονται.
/: Η επιλογή γίνεται από τον ριζικό κόμβο.
//: Οι κόμβοι που ταιριάζουν με την επιλογή από τον τρέχοντα κόμβο επιλέγονται, ανεξάρτητα από την τοποθεσία τους στο έγγραφο.
.: Ο τρέχων κόμβος επιλέγεται.
..: Ο γονέας του τρέχοντος κόμβου επιλέγεται.
@: Οι ιδιότητες επιλέγονται.
XPath Examples
Παραδείγματα εκφράσεων διαδρομής και τα αποτελέσματά τους περιλαμβάνουν:
bookstore: Όλοι οι κόμβοι που ονομάζονται "bookstore" επιλέγονται.
/bookstore: Το ριζικό στοιχείο bookstore επιλέγεται. Σημειώνεται ότι μια απόλυτη διαδρομή προς ένα στοιχείο αναπαρίσταται από μια διαδρομή που ξεκινά με μια κάθετο (/).
bookstore/book: Όλα τα στοιχεία βιβλίου που είναι παιδιά του bookstore επιλέγονται.
//book: Όλα τα στοιχεία βιβλίου στο έγγραφο επιλέγονται, ανεξάρτητα από την τοποθεσία τους.
bookstore//book: Όλα τα στοιχεία βιβλίου που είναι απόγονοι του στοιχείου bookstore επιλέγονται, ανεξάρτητα από τη θέση τους κάτω από το στοιχείο bookstore.
//@lang: Όλες οι ιδιότητες που ονομάζονται lang επιλέγονται.
Utilization of Predicates
Οι προτάσεις χρησιμοποιούνται για την εξειδίκευση των επιλογών:
/bookstore/book[1]: Το πρώτο στοιχείο βιβλίου παιδί του στοιχείου bookstore επιλέγεται. Μια λύση για τις εκδόσεις IE 5 έως 9, οι οποίες κατατάσσουν τον πρώτο κόμβο ως [0], είναι η ρύθμιση της SelectionLanguage σε XPath μέσω JavaScript.
/bookstore/book[last()]: Το τελευταίο στοιχείο βιβλίου παιδί του στοιχείου bookstore επιλέγεται.
/bookstore/book[last()-1]: Το προτελευταίο στοιχείο βιβλίου παιδί του στοιχείου bookstore επιλέγεται.
/bookstore/book[position()<3]: Τα πρώτα δύο στοιχεία βιβλίου παιδιά του στοιχείου bookstore επιλέγονται.
//title[@lang]: Όλα τα στοιχεία τίτλου με μια ιδιότητα lang επιλέγονται.
//title[@lang='en']: Όλα τα στοιχεία τίτλου με μια τιμή ιδιότητας "lang" ίση με "en" επιλέγονται.
/bookstore/book[price>35.00]: Όλα τα στοιχεία βιβλίου του bookstore με τιμή μεγαλύτερη από 35.00 επιλέγονται.
/bookstore/book[price>35.00]/title: Όλα τα στοιχεία τίτλου των στοιχείων βιβλίου του bookstore με τιμή μεγαλύτερη από 35.00 επιλέγονται.
Handling of Unknown Nodes
Wildcard χρησιμοποιούνται για την αντιστοίχιση άγνωστων κόμβων:
*: Αντιστοιχεί σε οποιοδήποτε στοιχείο κόμβου.
@*: Αντιστοιχεί σε οποιοδήποτε κόμβο ιδιότητας.
node(): Αντιστοιχεί σε οποιονδήποτε κόμβο οποιουδήποτε τύπου.
Περαιτέρω παραδείγματα περιλαμβάνουν:
/bookstore/*: Επιλέγει όλους τους κόμβους στοιχείων παιδιών του στοιχείου bookstore.
//*: Επιλέγει όλα τα στοιχεία στο έγγραφο.
//title[@*]: Επιλέγει όλα τα στοιχεία τίτλου με τουλάχιστον μία ιδιότητα οποιουδήποτε τύπου.
Example
Πρόσβαση στις πληροφορίες
Αναγνώριση & κλοπή του σχήματος
Authentication Bypass
Παράδειγμα ερωτημάτων:
OR παράκαμψη σε χρήστη και κωδικό (ίδια τιμή και στους δύο)
Κατάχρηση της ένεσης null
Διπλό OR στο Όνομα Χρήστη ή στον Κωδικό (είναι έγκυρο με μόνο 1 ευάλωτο πεδίο)
ΣΗΜΑΝΤΙΚΟ: Σημειώστε ότι η "και" είναι η πρώτη λειτουργία που εκτελείται.
Εξαγωγή συμβολοσειρών
Η έξοδος περιέχει συμβολοσειρές και ο χρήστης μπορεί να χειριστεί τις τιμές για να αναζητήσει:
Blind Explotation
Πάρτε το μήκος μιας τιμής και εξαγάγετέ την μέσω συγκρίσεων:
Παράδειγμα Python
Διαβάστε το αρχείο
OOB Εκμετάλλευση
Αυτόματο εργαλείο
Αναφορές
Συμμετάσχετε στον HackenProof Discord server για να επικοινωνήσετε με έμπειρους χάκερ και κυνηγούς bug bounty!
Ενημερώσεις Χάκινγκ Ασχοληθείτε με περιεχόμενο που εμβαθύνει στην αδρεναλίνη και τις προκλήσεις του hacking
Νέα Χάκινγκ σε Πραγματικό Χρόνο Μείνετε ενημερωμένοι με τον ταχύτατο κόσμο του hacking μέσω ειδήσεων και πληροφοριών σε πραγματικό χρόνο
Τελευταίες Ανακοινώσεις Μείνετε ενημερωμένοι με τις πιο πρόσφατες εκκινήσεις bug bounties και κρίσιμες ενημερώσεις πλατφόρμας
Συμμετάσχετε μαζί μας στο Discord και ξεκινήστε να συνεργάζεστε με κορυφαίους χάκερ σήμερα!
Last updated