Indholdsfortegnelse:
Definition - Hvad betyder XPath Injection?
XPath-injektion er en angrebsteknik, der bruges til at udnytte applikationer, der bruges til at konstruere XPath-forespørgsler, baseret på de brugerudbudte input. Det kan bruges direkte af et program til forespørgsel om et XML-dokument, selv som en del af en større proces, såsom XSLT-transformation til et XML-dokument. Sammenlignet med SQL-injektioner er XPath-injektioner mere destruktive, da XPath mangler adgangskontrol og giver forespørgsler om komplette databaser. Den komplette forespørgsel om en SQL-database er vanskelig, da metatabler ikke kan spørges ved hjælp af almindelige forespørgsler.
Techopedia forklarer XPath Injection
XPath, der er et standardsprog, har syntaks uafhængigt af implementeringen. Dette gør angrebet mere automatiseret. Et XPath-injektionsangreb fungerer på samme måde som SQL-injektion, hvor webstedet bruger brugervenlig information til at konstruere XPath-forespørgslen til XML-data. Fejlagtige oplysninger indsprøjtes med vilje på webstedet, hvilket giver angriberen mulighed for at finde ud af den metode, hvor XML-dataene er struktureret for at få adgang til data, som ellers ville forblive uautoriseret. Angribere kan derefter fortsætte med at hæve de privilegier, de har på webstedet, ved at manipulere XML-datagodkendelsesprocessen. Med andre ord, ligesom SQL-injektion, er teknikken at specificere bestemte attributter og få de mønstre, der kan matches, som derefter giver angriberen mulighed for at omgå autentificering eller få adgang til oplysninger på en uautoriseret måde. Den største forskel mellem XPath-injektion og SQL-injektion er, at XPath-injektion bruger XML-filer til datalagring, mens SQL bruger en database.
XPath-injektion kan forhindres ved hjælp af forsvarsteknikker såsom at desinficere brugerindgange eller behandle alle brugerindgange som ikke-tillid og udføre nødvendige sanitiseringsteknikker eller omfattende test af applikationer, der leverer eller gør brug af brugerindgange.