ıllı Internet y Tecnologías de la Información (2018)

internet, Hosting, dominios, seo, antivirus, banco de imágenes, páginas web, tiendas online

[Enciclopedia Online Gratuita] Diccionario de Internet y Tecnologías de la Información y la Comunicación (TIC):

ıllı Inyección XPath : que es, definición y significado, descargar videos y fotos.

videos internet

salud  ıllı Inyección XPath : que es, definición y significado, descargar videos y fotos.  


De forma afín a las inyecciones de SQL, ataques de inyección XPath se generan en el momento en que un sitio usa la información suministrada por el usuario para edificar una consulta XPath para datos XML. A través de el envío de sentencias intencionalmente mal formadas, un atacante puede descubrir de qué forma se estructuran los datos XML, aun acceder a sus datos. El atacante aun puede ser capaz de elevar sus privilegios en el sitio si los datos XML se usan para la autentificación (como un fichero de usuario basado en XML).


La consulta XML se efectúa con XPath, un género de declaración gráfica simple que deja la consulta XML para encontrar información. Como SQL, puede concretar determinados atributos para localizar y patrones a fin de que coincidan. Cuando se utiliza XML en un sitio es común admitir algún género de entrada en la cadena de consulta para identificar el contenido a encontrar y enseñar en la página. Esta entrada ha de ser desinficionada para contrastar que no se mete hasta la consulta XPath y devuelva datos incorrectos o bien indeseados.


XPath es un lenguaje estándar, y su notación / sintaxis es siempre y en toda circunstancia independiente de la implementación, lo que quiere decir que el ataque puede ser automatizado. No hay dialectos diferentes, en tanto que se realiza en las peticiones de las bases de datos SQL. Debido a que no hay un control de acceso de nivel, es posible conseguir el documento completo. No vamos a localizar ningún género de restricciones como podemos localizar en los ataques de inyección SQL.



Ejemplo de la vulnerabilidad


Usaremos este fragmento de código XML para los ejemplos.

<?xml version="diez" encoding="utf-ocho"?><Employees><EmployeeID="1"><FirstName>Arnold</FirstName><LastName>Baker</LastName><UserName>ABaker</UserName><Password>SoSecret</Password><Type>Admin</Type></Employee><EmployeeID="dos"><FirstName>Peter</FirstName><LastName>Pan</LastName><UserName>PPan</UserName><Password>NotTelling</Password><Type>User</Type></Employee></Employees>


Pongamos que tenemos un sistema de autentificación de usuario en una página que emplea un fichero de datos de este género para acceder a los usuarios. En el momento en que un nombre de usuario y la clave de acceso han sido suministradas el software puede usar XPath para buscar el usuario:

VB:DimFindUserXPathasStringFindUserXPath="//Employee"
C#:StringFindUserXPath;FindUserXPath="//Employee";

Con un nombre de usuario y clave de acceso normales este XPath iba a marchar, mas un atacante podría mandar un mal nombre de usuario y clave de acceso y conseguir un nodo XML elegido sin conocer el nombre de usuario o bien clave de acceso, de esta manera:

Username:blah'or1=1or'a'='aPassword:blahFindUserXPathbecomes//EmployeeLogicallythisisequivalentto://Employee

En este caso, solo la primera una parte de la consulta XPath debe ser verdad. La sección de acceso se transforma en intrascendente, y la una parte de Nombre de usuario va a coincidir con TODOS los empleados debido a la parte "1 = 1".


Defensa contra inyecciones XPath


Al igual que las técnicas para eludir la inyección SQL, es preciso emplear una interfaz de XPath parametrizada, si está libre, o bien escapar (filtrar) la entrada introducida por el usuario a fin de que sea seguro incluirla en una consulta creada dinámicamente. Si estás utilizando comillas para finalizar la entrada en la consulta activa del constructor XPath, entonces precisas filtrar esa comilla en la entrada que no es de confianza para asegurar que los datos que no son de confianza no puedan intentar salir de ese contexto convocado. En el próximo ejemplo, las comillas simples (') se usan para finiquitar los factores de usuario y clave de acceso. Por consiguiente, debemos substituir ese carácter de la entrada con la versión XML codificada de ese carácter, que es "'".

VB:DimFindUserXPathasStringFindUserXPath="//Employee"
C#:StringFindUserXPath;FindUserXPath="//Employee";

Otra opción mejor de defensa consiste en usar una consulta XPath precompilada. Las consultas XPath precompiladas ya están predefinidos antes que el programa se ejecuta, en vez de crear sobre la marcha la entrada del usuario y incorporarla a la cadena de la consulta. Esta es una alternativa mejor, por el hecho de que no debe preocuparse por perder un carácter que debería haberse escapado (filtrado).


Véase también


Enlaces externos


  ELIGE TU TEMA DE INTERÉS: 


autoayuda.es   Internet y Tecnologias 

Está aquí: Inicio > [ INTERNET ] > ıllı Inyección XPath : que es, definición y significado, descargar videos y fotos.

Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Ver políticas