Kazalo:
Opredelitev - Kaj pomeni XPath Injection?
XPath injekcija je napadna tehnika, ki se uporablja pri izkoriščanju aplikacij, ki se uporabljajo za gradnjo XPath poizvedb na podlagi vhodov, ki jih dajo uporabniki. Uporablja ga lahko neposredno z aplikacijo za poizvedbo o dokumentu XML, tudi kot del večjega postopka, kot je preoblikovanje XSLT v dokument XML. V primerjavi z injekcijami SQL so injekcije XPath bolj uničujoče, saj XPath nima nadzora dostopa in omogoča poizvedovanje o celotnih bazah podatkov. Popolno poizvedovanje po zbirki podatkov SQL je težko, saj metatables ni mogoče poizvedovati z običajnimi poizvedbami.
Techopedia razlaga XPath Injection
XPath, ki je standardni jezik, ima skladnjo neodvisno od implementacije. Zaradi tega je napad bolj avtomatiziran. Napad injekcije XPath deluje na podoben način kot vbrizgavanje SQL, saj spletno mesto uporablja podatke, ki jih da uporabnik, za izdelavo poizvedbe XPath za podatke XML. Nepravilne informacije se namerno vbrizgajo na spletno mesto, kar omogoča, da napadalec ugotovi način, v katerem so podatki XML strukturirani, da dobi dostop do podatkov, ki sicer ne bi bili nepooblaščeni. Napadalci lahko nato nadaljujejo z dvigom privilegijev, ki jih imajo na spletnem mestu, z manipulacijo postopka overjanja podatkov XML. Z drugimi besedami, podobno kot vbrizgavanje SQL, je tehnika določiti določene atribute in pridobiti vzorce, ki jih je mogoče ujemati, ki nato napadalcu omogočajo, da obide pristnost ali dostopa do informacij na nepooblaščen način. Največja razlika med vbrizgavanjem XPath in SQL je, da XPath injekcija uporablja datoteke XML za shranjevanje podatkov, medtem ko SQL uporablja bazo podatkov.
Injekcijo XPath je mogoče preprečiti s pomočjo obrambnih tehnik, kot so čiščenje uporabniških vnosov ali obravnavanje vseh uporabniških vložkov kot nezaupljivih in izvajanje potrebnih sanitarnih tehnik ali obsežno testiranje aplikacij, ki uporabniške vnose oskrbujejo ali uporabljajo.