Tartalomjegyzék:
Meghatározás - Mit jelent az XPath injekció?
Az XPath injekció olyan támadási technika, amelyet a felhasználó által megadott bemenetek alapján az XPath lekérdezések összeállításához használt alkalmazások kiaknázására használnak. Az alkalmazás közvetlenül felhasználhatja az XML-dokumentumok lekérdezésére, még egy nagyobb folyamat részeként is, mint például az XSLT-nek az XML-dokumentummá történő átalakítása. Az SQL-injekciókhoz képest az XPath-injekciók pusztítóbbak, mivel az XPath-nek nincs hozzáférési ellenőrzése, és teljes adatbázisok lekérdezését nyújtja. SQL adatbázis teljes lekérdezése nehéz, mivel a metatablakat nem lehet lekérdezni szokásos lekérdezésekkel.
A Techopedia magyarázza az XPath injekciót
Az XPath, mint egy szabványos nyelv, a végrehajtástól független szintaxissal rendelkezik. Ez a támadást automatizáltabbá teszi a természetben. Az XPath befecskendezés támadása hasonlóan működik, mint az SQL befecskendezés, amikor a weboldal a felhasználó által megadott információkat használja fel az XPath lekérdezés létrehozására az XML adatokhoz. A hibás információkat szándékosan fecskendezik be a webhelyre, lehetővé téve a támadónak, hogy kitalálja azt az eljárást, amelyben az XML-adatokat felépítik olyan adatokhoz való hozzáféréshez, amelyek egyébként jogosulatlanok maradnának. A támadók az XML-adatok hitelesítési folyamatának manipulálásával tovább emelhetik a webhelyen megszerzett jogosultságukat. Más szavakkal, mint például az SQL injektálás, a technika bizonyos attribútumok meghatározása és az illeszthető minták megszerzése, amelyek lehetővé teszik a támadó számára, hogy megkerülje a hitelesítést vagy hozzáférjen az információkhoz jogosulatlan módon. A legnagyobb különbség az XPath injektálás és az SQL injektálás között az, hogy az XPath injektálás az XML fájlokat használja az adatok tárolására, míg az SQL az adatbázist használja.
Az XPath befecskendezése olyan védelmi technikákkal megelőzhető, mint például a felhasználói bemenetek fertőtlenítése vagy az összes felhasználói bemenetel megbízhatatlan kezelése, valamint a szükséges fertőtlenítési technikák végrehajtása vagy a felhasználói bemeneteket szolgáltató vagy felhasználó alkalmazások kiterjedt tesztelése.