XPATH injection
Treten Sie dem HackenProof Discord Server bei, um mit erfahrenen Hackern und Bug-Bounty-Jägern zu kommunizieren!
Hacking-Einblicke Engagieren Sie sich mit Inhalten, die in den Nervenkitzel und die Herausforderungen des Hackens eintauchen
Echtzeit-Hack-Nachrichten Bleiben Sie auf dem Laufenden über die schnelllebige Hacking-Welt durch Echtzeitnachrichten und Einblicke
Neueste Ankündigungen Bleiben Sie informiert über die neuesten Bug-Bounties und wichtige Plattform-Updates
Treten Sie uns auf Discord bei und beginnen Sie noch heute mit der Zusammenarbeit mit Top-Hackern!
Grundsyntax
Eine Angriffstechnik, die als XPath-Injection bekannt ist, wird verwendet, 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 unten zusammengefasst:
nodename: Alle Knoten mit dem Namen "nodename" werden ausgewählt.
/: Die Auswahl erfolgt vom Wurzelknoten.
//: Knoten, die der Auswahl vom aktuellen Knoten entsprechen, werden ausgewählt, unabhängig von ihrem Standort im Dokument.
.: Der aktuelle Knoten wird ausgewählt.
..: Der übergeordnete Knoten des aktuellen Knotens wird ausgewählt.
@: Attribute werden ausgewählt.
XPath-Beispiele
Beispiele für Pfadausdrücke und deren Ergebnisse umfassen:
bookstore: Alle Knoten mit dem Namen "bookstore" werden ausgewählt.
/bookstore: Das Wurzelelement bookstore wird ausgewählt. Es wird angemerkt, dass ein absoluter Pfad zu einem Element durch einen Pfad dargestellt wird, der mit einem Schrägstrich (/) beginnt.
bookstore/book: Alle Bucht-Elemente, die Kinder von bookstore sind, werden ausgewählt.
//book: Alle Bucht-Elemente im Dokument werden ausgewählt, unabhängig von ihrem Standort.
bookstore//book: Alle Bucht-Elemente, die Nachkommen des bookstore-Elements sind, werden ausgewählt, egal wo sie sich unter dem bookstore-Element befinden.
//@lang: Alle Attribute mit dem Namen lang werden ausgewählt.
Nutzung von Prädikaten
Prädikate werden verwendet, um Auswahlen zu verfeinern:
/bookstore/book[1]: Das erste Bucht-Element-Kind des bookstore-Elements 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 Bucht-Element-Kind des bookstore-Elements wird ausgewählt.
/bookstore/book[last()-1]: Das vorletzte Bucht-Element-Kind des bookstore-Elements wird ausgewählt.
/bookstore/book[position()<3]: Die ersten beiden Bucht-Element-Kinder des bookstore-Elements 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 Bucht-Elemente des bookstore mit einem Preis von mehr als 35,00 werden ausgewählt.
/bookstore/book[price>35.00]/title: Alle Titel-Elemente der Bucht-Elemente des bookstore mit einem Preis von mehr als 35,00 werden ausgewählt.
Umgang mit unbekannten Knoten
Platzhalter werden verwendet, um unbekannte Knoten zuzuordnen:
*: Entspricht jedem Elementknoten.
@*: Entspricht jedem Attributknoten.
node(): Entspricht jedem Knoten jeglicher Art.
Weitere Beispiele umfassen:
/bookstore/*: Wählt alle Kind-Elementknoten des bookstore-Elements 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 & Stehlen des Schemas
Authentifizierungsumgehung
Beispiel für Abfragen:
OR-Bypass bei Benutzer und Passwort (gleicher Wert in beiden)
Missbrauch von Null-Injektion
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.
String extraction
Die Ausgabe enthält Zeichenfolgen und der Benutzer kann die Werte manipulieren, um zu suchen:
Blind Explotation
Länge eines Wertes ermitteln und durch Vergleiche extrahieren:
Python-Beispiel
Datei lesen
OOB-Ausnutzung
Automatisches Tool
Referenzen
Tritt dem HackenProof Discord Server bei, um mit erfahrenen Hackern und Bug-Bounty-Jägern zu kommunizieren!
Hacking Einblicke Engagiere dich mit Inhalten, die in den Nervenkitzel und die Herausforderungen des Hackens eintauchen
Echtzeit-Hack-Nachrichten Bleibe auf dem Laufenden über die schnelllebige Hack-Welt durch Echtzeit-Nachrichten und Einblicke
Neueste Ankündigungen Bleibe informiert über die neuesten Bug-Bounties und wichtige Plattform-Updates
Tritt uns bei Discord bei und beginne noch heute mit den besten Hackern zusammenzuarbeiten!
Last updated