XPATH injection
Treten Sie dem HackenProof Discord Server bei, um mit erfahrenen Hackern und Bug-Bounty-Jägern zu kommunizieren!
Hacking-Einblicke Beschäftigen Sie sich mit Inhalten, die sich mit dem Nervenkitzel und den Herausforderungen des Hackens befassen
Echtzeit-Hack-News Bleiben Sie mit der schnelllebigen Hacking-Welt durch Echtzeitnachrichten und Einblicke auf dem Laufenden
Neueste Ankündigungen Bleiben Sie über die neuesten Bug-Bounties und wichtige Plattformupdates informiert
Treten Sie uns bei Discord und beginnen Sie noch heute mit der Zusammenarbeit mit Top-Hackern!
Grundlegende Syntax
Eine Angriffstechnik namens XPath Injection wird genutzt, um Anwendungen auszunutzen, die XPath (XML Path Language) Abfragen basierend auf Benutzereingaben bilden, um XML-Dokumente abzufragen oder zu navigieren.
Beschriebene Knoten
Ausdrücke werden verwendet, um verschiedene Knoten in einem XML-Dokument auszuwählen. Diese Ausdrücke und ihre Beschreibungen sind nachstehend zusammengefasst:
nodename: Alle Knoten mit dem Namen "nodename" werden ausgewählt.
/: Die Auswahl erfolgt vom Wurzelknoten aus.
//: Knoten, die der Auswahl vom aktuellen Knoten aus entsprechen, werden unabhängig von ihrem Standort im Dokument ausgewählt.
.: Der aktuelle Knoten wird ausgewählt.
..: Der Elternknoten des aktuellen Knotens wird ausgewählt.
@: Attribute werden ausgewählt.
XPath-Beispiele
Beispiele für Pfadausdrücke und ihre Ergebnisse sind:
bookstore: Alle Knoten mit dem Namen "bookstore" werden ausgewählt.
/bookstore: Das Wurzelelement bookstore wird ausgewählt. Es ist zu beachten, dass ein absoluter Pfad zu einem Element durch einen Pfad, der mit einem Schrägstrich (/) beginnt, dargestellt wird.
bookstore/book: Alle Buchelemente, die Kinder von bookstore sind, werden ausgewählt.
//book: Alle Buchelemente im Dokument werden unabhängig von ihrem Standort ausgewählt.
bookstore//book: Alle Buchelemente, die Nachkommen des Elementes bookstore sind, werden unabhängig von ihrer Position unter dem Element bookstore ausgewählt.
//@lang: Alle Attribute mit dem Namen lang werden ausgewählt.
Verwendung von Prädikaten
Prädikate werden verwendet, um Auswahlmöglichkeiten zu verfeinern:
/bookstore/book[1]: Das erste Buchelement, das Kind des Elementes bookstore ist, wird ausgewählt. Ein Workaround für IE-Versionen 5 bis 9, die den ersten Knoten als [0] indizieren, besteht darin, die SelectionLanguage über JavaScript auf XPath zu setzen.
/bookstore/book[last()]: Das letzte Buchelement, das Kind des Elementes bookstore ist, wird ausgewählt.
/bookstore/book[last()-1]: Das vorletzte Buchelement, das Kind des Elementes bookstore ist, wird ausgewählt.
/bookstore/book[position()<3]: Die ersten beiden Buchelemente, die Kinder des Elementes bookstore sind, werden ausgewählt.
//title[@lang]: Alle Titel-Elemente mit einem lang-Attribut werden ausgewählt.
//title[@lang='en']: Alle Titel-Elemente mit einem "lang"-Attributwert von "en" werden ausgewählt.
/bookstore/book[price>35.00]: Alle Buchelemente des bookstores mit einem Preis über 35.00 werden ausgewählt.
/bookstore/book[price>35.00]/title: Alle Titel-Elemente der Buchelemente des bookstores mit einem Preis über 35.00 werden ausgewählt.
Umgang mit unbekannten Knoten
Platzhalter werden verwendet, um unbekannte Knoten abzugleichen:
*: Gleicht jedem Elementknoten ab.
@*: Gleicht jedem Attributknoten ab.
node(): Gleicht jedem Knoten jeglicher Art ab.
Weitere Beispiele sind:
/bookstore/*: Wählt alle Kind-Elementknoten des Elementes bookstore aus.
//*: Wählt alle Elemente im Dokument aus.
//title[@*]: Wählt alle Titel-Elemente mit mindestens einem Attribut jeglicher Art aus.
Beispiel
Greifen Sie auf die Informationen zu
Identifizieren & Schema stehlen
Authentifizierungsumgehung
Beispiel für Abfragen:
OR-Bypass in Benutzername und Passwort (gleicher Wert in beiden)
Missbrauch von Null-Injection
Doppeltes ODER im Benutzernamen oder im Passwort (ist gültig mit nur 1 verwundbarem Feld)
WICHTIG: Beachten Sie, dass das "und" die erste durchgeführte Operation ist.
Zeichenfolgenextraktion
Die Ausgabe enthält Zeichenfolgen, und der Benutzer kann die Werte manipulieren, um zu suchen:
Blinde Ausnutzung
Länge eines Werts abrufen und durch Vergleiche extrahieren:
Python Beispiel
Datei lesen
XPath-Injection ist eine Technik, bei der ein Angreifer bösartige XPath-Ausdrücke in eine Eingabe einfügt, um die XML-Datenbankabfrage zu manipulieren und zusätzliche Informationen preiszugeben. Der Angreifer kann sensible Daten abrufen, die er normalerweise nicht sehen sollte, und sogar die gesamte Datenbank löschen.
OOB Ausnutzung
Automatisches Tool
Referenzen
Treten Sie dem HackenProof Discord Server bei, um mit erfahrenen Hackern und Bug-Bounty-Jägern zu kommunizieren!
Hacking-Einblicke Beschäftigen Sie sich mit Inhalten, die sich mit dem Nervenkitzel und den Herausforderungen des Hackens befassen
Echtzeit-Hack-News Bleiben Sie mit der schnelllebigen Hacking-Welt durch Echtzeit-Nachrichten und Einblicke auf dem Laufenden
Neueste Ankündigungen Bleiben Sie über die neuesten Bug-Bounties und wichtige Plattformupdates informiert
Treten Sie uns bei Discord bei und beginnen Sie noch heute mit Top-Hackern zusammenzuarbeiten!
Last updated