viernes, 14 de setiembre de 2007

Inyecciones XPATH - II

Este post es la continuación del anterior, jeje.
Como les decía, Xpath permite realizar consultas en un documento XML.
Los ejemplos que a continuación se mostrarán involucran XPATH + VB.NET, pero tú puedes practicar con el lenguaje de programación que prefieras y en el entorno de desarrollo que desees (yo estoy usando VS.NET 2003), ten en cuenta que XPATH es un estándar, y las especificaciones las dicta la W3C.
Vamos con el ejemplo:


Este será el documento XML (XML.xml)que usaremos para realizar las pruebas:


Recordemos algo básico de XPATH:
'//Imports System.Xml.XPath
Dim Doc As XPathDocument = New XPathDocument(Server.MapPath(".") & "\XML.xml")
Dim Navigator As XPathNavigator

Navigator = Doc.CreateNavigator()
'Si quiero filtrar obtener, de todos los nodos, los tag , hago esto:
Dim Iterator As XPathNodeIterator = Navigator.Select("/Tigrillos/Tigrillo/Nombre")


'Si deseo obtener los nodos que en el tag coincidan con 'Don', hago esto:
Dim Iterator As XPathNodeIterator = Navigator.Select("/Tigrillos/Tigrillo[Nombre='Don']")

'o también así:
Dim Iterator As XPathNodeIterator = _
Navigator.Select("//Tigrillos/Tigrillo/Nombre[text()='Don']")

'y con dos restricciones sería así:
Dim Iterator As XPathNodeIterator = _
Navigator.Select("//Tigrillos/Tigrillo[Nombre='Don' and Email='donbox@hotmail.com']")


Cómo que eso no es una inyección XPATH ?
Sí, sí ya sé... estamos llegando a eso... con calma.

La seguimos en la próxima.

No hay comentarios.: