Obsah:
Definice - Co znamená injekce XPath?
Injekce XPath je technika útoku používaná ve zneužívání aplikací používaných k vytváření dotazů XPath na základě vstupů poskytnutých uživatelem. Může být použit přímo aplikací pro dotazování na dokument XML, dokonce jako součást většího procesu, jako je transformace XSLT na dokument XML. Ve srovnání s injekcemi SQL jsou injekce XPath destruktivnější, protože XPath postrádá řízení přístupu a poskytuje dotazování na úplné databáze. Úplné dotazování databáze SQL je obtížné, protože metatables nelze dotazovat pomocí běžných dotazů.
Techopedia vysvětluje XPath Injection
XPath, jako standardní jazyk, má syntaxi nezávislou na implementaci. Díky tomu je útok automatizovanější povahy. Útok XPath injekce funguje podobným způsobem jako injekce SQL, přičemž web využívá informace poskytnuté uživatelem k vytvoření dotazu XPath pro data XML. Do webové stránky se záměrně vkládají nesprávné informace, což útočníkovi umožňuje zjistit způsob, jakým jsou data XML strukturována, aby získal přístup k datům, které by jinak zůstaly neoprávněné. Útočníci pak mohou přistoupit ke zvýšení oprávnění, která mají na webu, manipulací s procesem autentizace dat XML. Jinými slovy, jako je injekce SQL, je technikou určit určité atributy a získat vzory, které mohou být porovnány, což pak útočníkovi umožní neoprávněným způsobem obejít autentizaci nebo přístup k informacím. Největší rozdíl mezi vstřikováním XPath a vstřikováním SQL je, že vstřikování XPath využívá soubory XML pro ukládání dat, zatímco SQL používá databázi.
Injekci XPath lze zabránit pomocí obranných technik, jako je dezinfekce uživatelských vstupů nebo zacházení se všemi uživatelskými vstupy jako nedůvěryhodnými a provedení nezbytných sanitačních technik nebo rozsáhlé testování aplikací, které dodávají nebo využívají uživatelské vstupy.


