Cross site tracing

cross-site-tracing

Un ataque cross-site tracing explota controles ActiveX, Flash, Java y otros que permiten la ejecución de una llamada HTTP TRACE. Permite a un atacante conseguir acceso a las cookies e información de credenciales de autenticación de un individuo.

HTTP TRACE le pide a un servidor Web que conteste el contenido de las solicitudes al cliente. La solicitud completa, incluyendo los encabezados HTTP, que pueden incluir información sensible como cookies o información de autenticación, es devuelta en el cuerpo de la entidad de una respuesta TRACE. La solicitud es usada principalmente por los desarrolladores para probar y depurar aplicaciones HTTP y por defecto está disponible en la mayoría de los programas de servidores Web.

Una forma de llevar a cabo un ataque XST es crear una página que incluya algún JavaScript que contenga la solicitud TRACE. El JavaScript entonces puede explotar cualquier vulnerabilidad cross-domain en el navegador del visitante para recolectar las credenciales en cache de cualquier sitio, incluyendo aquellos que utilizan SSL.

Otro método más comúnmente usado toma el snippet JavaScript que contiene la solicitud TRACE y lo inyecta en la aplicación Web vulnerable. El JavaScript será capaz de enviar los encabezados de las solicitudes de la víctima, incluyendo la información de cookie etiquetada como “httpOnly”, al atacante. “httpOnly” es un parámetro adicional agregado a los cookies, que oculta a los cookies de los scripts y es soportado por la mayoría de los navegadores; el método TRACE, sin embargo, puede ser usado evitar esta protección.

 

Solución

 

Para impedir este tipo de ataque, es esencial que los métodos PUT, DELETE, CONNECT y TRACE estén deshabilitados en sus servidores Web ya que todos representan un riesgo de seguridad.

Si una aplicación necesita uno o más de estos métodos, tal como los servicios Web REST (que puede necesitar PUT o DELETE), es importante verificar que su uso sea apropiadamente limitado a los usuarios confiables y en condiciones seguras. Para deshabilitar el soporte de HTTP TRACE en un servidor Apache, fije TreaceEnable en Off. Si está corriendo IIS en un servidor Windows, use la herramienta URLScan para rechazar las solicitudes HTTP TRACE o para permitir solo los métodos necesarios para satisfacer los requerimientos de su sitio y de su política de seguridad.