CSRF -Resumen-

Hola a todos, despu茅s de haber realizado todos los ejercicios del CourseWork de HackerOne, iremos haciendo un breve resumen de las vulnerabilidades encontradas y de como facilitar la localizaci贸n y explotaci贸n.

CSRF

En estos ataques, el atacante crea un c贸digo HTML que obliga al navegador del usuario a realizar una acci贸n directa a la aplicaci贸n vulnerable, pudiendo ser agregar, eliminar usuarios, autenticarse con otro usuario, cambiar opciones en la aplicaci贸n vulnerable, etc..

Para identificar una aplicaci贸n vulnerable a CSRF lo primero que debemos tener en cuenta es que el 90% de las aplicaciones que simplemente tienen HTTP cookies para trackear las sesiones pueden ser vulnerables.

Normalmente, para realizar un ataque CSRF hay que tener en cuenta que:

  • En primer lugar, fijarse en la petici贸n y si a trav茅s de esta se puede realizar una acci贸n con supuestos privilegios.
  • En segundo lugar y de los m谩s a tener en cuenta es si la aplicaci贸n solamente sigue las sesiones con HTTP cookies y si no existen tokens adicionales de protecci贸n.
  • En tercer lugar, si mediante la petici贸n se pueden observar todos los par谩metros necesarios para realizar el ataque.

Si se cumplen los tres requisitos anteriormente mencionados, significa que tenemos v铆a libre para construir nuestro c贸digo HTML y vulnerar la aplicaci贸n.

Ya solamente nos faltar铆a crear el c贸digo HTML y modificar los par谩metros. Yo utilizo la herramiente en BurpSuite que esta en Engagement Tools que se llama Generate CSRF POC. Esta herramienta te crea el c贸digo HTML y luego simplemente tenemos que pasarlo a nuestro editor de textos y modificar los par谩metros que queramos, para luego ejecutar la petici贸n.

PERO… no todo es de color de rosa..

Hoy en d铆a, existen pocas aplicaciones web que no utilizan tokens adicionales anti-CSRF, env铆ados por hidden fields mediante HTML forms. Cabe la posibilidad que el atacante no sepa el camino para determinar el valor del token y por este motivo no podr铆a ejecutar el ataque satisfactoriamente.

Cuando nos encontramos ante este tipo de situaciones, tenemos las mismas opciones de bypass que con los tokens de sesi贸n normales:

  • En primer lugar,聽si un atacante puede predecir los valores de los tokens que son enviados a otros usuarios, puede determinar todos los par谩metros requeridos para un ataque CSRF.
  • En segundo lugar,聽si los tokens anti-CSRF no est谩n vinculados a la sesi贸n del usuario al que se emitieron, un atacante puede obtener un token v谩lido en su sesi贸n y utilizarlo en un ataque CSRF, en una sesi贸n de un usuario diferente.

A continuaci贸n os dejo un video de ejemplo:

Hasta la pr贸xima 馃榾

XSS -Resumen-

Hola a todos, despu茅s de haber realizado todos los ejercicios del CourseWork de HackerOne, iremos haciendo un breve resumen de las vulnerabilidades encontradas y de como facilitar la localizaci贸n y explotaci贸n.

xss

En primera instancia tendremos que realizar con BurpSuite un «Spider this Host» para encontrar todas las URL’s con sus respectivos par谩metros.

Procederemos a detectar todos esos par谩metros de entrada, los cuales podamos manipular a nuestro antojo. Si una vez cambiamos el valor del par谩metro y este es reflejado en el c贸digo fuente sea cual sea el lugar, probablemente al 90% sea vulnerable a XSS. Para realizar este paso lo que yo hago es cambiar el nombre de todos los par谩metros por ejemplo por vuln1, vuln2, vulnn, etc.. y mediante el Repeater de BurpSuite veo cual de ellos se ha reflejado.

Una vez tenemos el par谩metro de entrada que probablemente sea vulnerable a XSS, intentamos inyectar y 聽ejecutar c贸digo Javascript, si este se ejecuta ya tenemos nuestra vulnerabilidad explotada. Una opci贸n para ahorrarnos tiempo es usar el Intruder de BurpSuite, el cual configuramos los par谩metros de entrada que queramos explotar y podemos incluir una lista de payloads para ahorrarnos mucho tiempo. Usando Intruder tened en cuenta la longitud (length) del caso base con los de la lista de payloads, como m谩s longitud obtengamos m谩s probable sea de que haya sido fructuoso el ataque.

Los lugares m谩s probables donde injectar ser铆an en URL’s como pueden ser un formulario de contacto, una b煤squeda, una zona de comentarios, foros, pag铆nas de autenticaci贸n y de firmas.

PROOF OF CONCEPT -VIDEO-