1 2 3 4 5 6

Detectando vulnerabilidades CSRF (Cross-Site Request Forgery)

h-online.com 07-Nov-2012

Cuando una página web maliciosa reconfigura un router o establece un reenvío en la interfaz web, la causa es usualmente una técnica conocida como Cross-Site Request Forgery (CSRF). El proyecto CSRFTester de OWASP se encarga de buscar este tipo de vulnerabilidades.

Detecting CSRF VulnerabilitiesCSRF (o XSRF) es una técnica utilizada para ataques indirectos, similar al cross-site scripting (XSS). El navegador de la víctima refleja el ataque, CSRF toma ventaja de URLs que desencadenan ciertos eventos, como salir de una sesión:

http://192.168.0.1/session.html-action=logout

O simplemente cambiar la contraseña. Ciertos sitios web maliciosos pueden, entonces, utilizar estas URLs para manipular el sistema de la víctima de una forma específica. Como requerimiento mínimo para que esto funcione, el usuario debe tener una sesión iniciada en la aplicación web o ser capaz de evadir la protección por contraseña. Recientemente, las entradas DNS de más de cuatro millones de routers fueron manipuladas de esta forma, de tal forma que los criminales podían hacer lo que quisieran con las cuentas bancarias en línea de los usuarios.

Con el CSRFTester basado en Java creado por el Open Web Aplication Security Project (OWASP), se puede buscar fácilmente dicha vulnerabilidad en las aplicaciones web. Básicamente, registra una sesión de usuario legítima y después la utiliza para construir sitios web que intentan realizar las mismas acciones nuevamente.

CSRFTester es relativamente fácil de usar. Una vez que el paquete se descomprime, puede ser iniciado ejecutando run.bat y configurándolo como proxy en el navegador (por omisión, el programa escucha por el puerto 8008), después de lo cual lo sitios web pueden ser requeridos y usados normalmente.

Sólo cuando la herramienta se activa con la opción "Start Recording" en la esquina superior derecha, se comienzan realmente a registrar las URLs obtenidas en el navegador, incluyendo los parametros GET y POST. Más tarde, al dar clic en "Generate HTML" se crea el código que buscará vulnerabilidades CSRF. Los resultados pueden encontrarse en un archivo llamado "index.html" en el directorio que el usuario eligió. Cinco diferentes métodos de reporte están disponibles para incrustar el código de prueba de concepto (PoC): "Forms", "iFrame", "IMG", "XHR" y "Link".

CSRFTester también incluye una variedad de filtros y maneras de procesar posteriormente la PoC. Cualquiera que esté interesado en aprender más acerca de la técnica CSRF o checar sus aplicaciones web para éste tipo de vulnerabilidades, debería echar un vistazo a esta útil y práctica herramienta que es tanto rápida como fácil de usar.


CSRFTester de OWASP está disponible como código abierto bajo la licencia LGPL. El código fuente para CSRFTester está alojado en Google Code.

Fuente: h-online.com JS

Universidad Nacional Autonoma de México Aviso legal |  Créditos |  Staff |  Administración
Copyright © Todos los derechos reservados
UNAM - CERT