Sisällysluettelo:
Määritelmä - Mitä XPath-injektio tarkoittaa?
XPath-injektio on hyökkäystekniikka, jota käytetään käyttämään sovelluksia, joita käytetään XPath-kyselyjen rakentamiseen käyttäjän toimittamien syötteiden perusteella. Sovellus voi käyttää sitä suoraan XML-asiakirjan kyselyyn, jopa osana suurempaa prosessia, kuten XSLT-muuntaminen XML-asiakirjaksi. Verrattuna SQL-injektioihin XPath-injektiot ovat tuhoisempia, koska XPathista puuttuu pääsynhallinta ja se tarjoaa täydellisten tietokantojen hakuja. SQL-tietokannan täydellinen kysely on vaikeaa, koska metataulukoita ei voida kysyä säännöllisillä kyselyillä.
Techopedia selittää XPath-injektiota
XPath: lla, joka on standardikieli, on syntaksi riippumaton toteutuksesta. Tämä tekee hyökkäyksestä automatisoidumman luonteeltaan. XPath-injektiohyökkäys toimii samalla tavalla kuin SQL-injektio, kun verkkosivusto käyttää käyttäjän toimittamia tietoja rakentaakseen XPath-kyselyn XML-tiedoille. Väärin muokatut tiedot syötetään tarkoituksella verkkosivustoon, jolloin hyökkääjä voi selvittää menetelmän, jolla XML-tiedot rakennetaan, jotta saadaan pääsy tietoihin, jotka muuten pysyisivät luvattomina. Hyökkääjät voivat sitten nostaa verkkosivustollaan olevia käyttöoikeuksia manipuloimalla XML-tietojen todennusprosessia. Toisin sanoen, kuten SQL-injektio, tekniikka on määritellä tietyt ominaisuudet ja saada mallit, jotka voidaan sovittaa yhteen, jolloin hyökkääjä voi sitten ohittaa todentamisen tai käyttää tietoja luvattomalla tavalla. Suurin ero XPath- ja SQL-injektioiden välillä on, että XPath-injektio käyttää XML-tiedostoja tietojen tallennukseen, kun taas SQL käyttää tietokantaa.
XPath-injektio voidaan estää puolustustekniikoiden avulla, kuten puhdistamalla käyttäjän syötteet tai kohtelemalla kaikkia käyttäjän syötteitä epäluottamina ja suorittamalla tarvittavat desinfiointitekniikat tai testaamalla laajasti sovelluksia, jotka toimittavat tai käyttävät käyttäjän syötteitä.