XPath Injetions es una tecnica mas, usada para explotar una web vulnerable por medio de consultas xpath de parte de el atacante.
Primero para empezar a ver la introduccion necesitamos saber que es el Xpath aqui adjunto una definicion de la wikipedia xD:
"XPath (XML Path Language) es un lenguaje que permite construir expresiones que recorren y procesan un documento XML. La idea es parecida a las expresiones regulares para seleccionar partes de un texto sin atributos (plain text). XPath permite buscar y seleccionar teniendo en cuenta la estructura jerárquica del XML. XPath fue creado para su uso en el estándar XSLT, en el que se usa para seleccionar y examinar la estructura del documento de entrada de la transformación."
Bueno, ahora que ya sabemos que es el XPath vamos a ver que son las injections de este lenguaje...
Basicamente, viene de la mano con las SQL Injection ya que a medida que nosotros injectamos querys vamos a ir logrando sacar informacion de la database.
En documentos xml, la informacion se guarda en nodos y cuando se le consulta a traves de Xpath querys devuelve una respuesta.
Veamos un ejemplo asi queda mas claro: Digamos que tengo un archivo xml que se llama userddlr.xml y este esta mas o menos asi:
MurdeR
elite
boER!
soygay
Aca es donde vienen las injecciones
Supongamos que el XPath query para logearse es
String(//ddlr/user[username/text()=' " + txtusername.Text + " ' and password/text()=' "+ txtpassword.Text +" '])
Se supondria que una consulta valida entonces seria :
String(//ddlr/user[username/text()='MurdeR' and password/text()='elite'])
Y ahi estaria logeandose...
Pero que pasaria si nosotros le ponemos: ' or 1=1 or ''='
Veamos como quedaria:
String(//ddlr/user[username/text()='' or 1=1 or ''='' and password/text()='' or 1=1 or ''=''])
lop xD , estamos logeados y adentro.
Muchos diran que esto es igual que SQL Injection, pero hasta aca puede ser parecido, estudiado en profundidad tiene mucho mas utilidades.
Otras injecciones muestran partes o algunas veces todo el documento xml , asi mostrando mucha informacion valiosa.
Bueno espero que les haya gustado, me gusto hacer esta introduccion a las XPath injection ya que hay muy poco material en castellano de este tema tan interesante
Agradecimientos a Reberto de Dios de la RED
1 comentarios:
Excelente! me sirve para una charla que estoy preparando de seguridad orientada a aplicaciones Web, gracias!
Publicar un comentario