# Laboratorio: Inconsistent security controls

<figure><img src="https://2827710683-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FV9yg1NBoB0HDHj681gSk%2Fuploads%2FNjJIqbpkVoBKsPyuN9xO%2Fimagen.png?alt=media&#x26;token=27f2cfb9-cda5-42b6-8c21-e5bf6ef53661" alt=""><figcaption></figcaption></figure>

* Vamos a estudiar con detalle como podriamos resolver este laboratorio, analizaremos cada parte de burp con las peticiones para saber donde podriamos encontrar una excepción.

Vamos a ver si podemos hacer lo mismo del laboratorio anterior que era añadir las 255 caracteres para omitir lo demás, vamos a ver.

<figure><img src="https://2827710683-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FV9yg1NBoB0HDHj681gSk%2Fuploads%2FIY6BvDAVxTANIOKyRFy7%2Fimagen.png?alt=media&#x26;token=263147fe-058f-4186-b368-2925945e64d5" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2827710683-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FV9yg1NBoB0HDHj681gSk%2Fuploads%2FiIvkdEMdJEpotkPVNAOA%2Fimagen.png?alt=media&#x26;token=b7df83ee-fe96-4444-a0a0-8fb44ef1f877" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2827710683-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FV9yg1NBoB0HDHj681gSk%2Fuploads%2F5nIKJekQHRMb5Wt1w0Z3%2Fimagen.png?alt=media&#x26;token=b630dec9-ad42-4554-b593-e9fd8756a81d" alt=""><figcaption></figcaption></figure>

Aqui vamos tomando en cuenta la opción de target>engagement tools>discover content> con el fin de descubrir posibles subdirectorios que tengan alguna relevancia para la resolución de nuestro lab como por ejm: admin, administrador, delete user, etc…

<figure><img src="https://2827710683-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FV9yg1NBoB0HDHj681gSk%2Fuploads%2FEG3xh21AyBc48UD4An2M%2Fimagen.png?alt=media&#x26;token=1cba0a27-f5c1-4843-b5e1-4ddfa753f8db" alt=""><figcaption></figcaption></figure>

Encontramos uno, que es el subdirectorio admin/ con este ya tenemos la base para determinar que si tenemos la sección de administrator para borrar el user carlos.

<figure><img src="https://2827710683-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FV9yg1NBoB0HDHj681gSk%2Fuploads%2FnxnVwuFVyPi9eT0Ndknr%2Fimagen.png?alt=media&#x26;token=fa1ea618-647b-470b-94c7-bcd2144015b9" alt=""><figcaption></figcaption></figure>

* Ya tenemos presente que si queremos acceder al panel como admins tenemos que estar logueados como un user que se haya iniciado sesión con el tipo de correo @DontWannaCry&#x20;

<figure><img src="https://2827710683-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FV9yg1NBoB0HDHj681gSk%2Fuploads%2Ft52NY7NdxpwM39U9CAmI%2Fimagen.png?alt=media&#x26;token=e69a5678-463d-49a1-bb90-9eeea1bf7022" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2827710683-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FV9yg1NBoB0HDHj681gSk%2Fuploads%2FzLDPe4B3XdVfpMHzZ3Wv%2Fimagen.png?alt=media&#x26;token=0f714f14-0120-4640-b724-6b5f170eafd9" alt=""><figcaption></figcaption></figure>

### Resultó ser por un camino diferente →

Al parecer no debiamos tomar en cuenta la cantidad total de 255 caracteres para truncar la longitud del correo y borrar el correo legitimo de xploit server, sino más bien desde la misma parte una vez que creamos la cuenta dentro de la ventana aparece la opción de update email, ahí simplemente podemos lograr actualizar el correo a uno cualquiera con dominio dontwannacry, porque resulta que no confirma la actualización de correo, no envía ningún correo de verificación para cambiarlo ya con ello nos dejan el camino libre porque podemos poner cualquier correo en este caso el de dontwannacry y poder acceder el panel administrador para eliminar al user carlos, y esto tal cual fue lo que hicimos.

<figure><img src="https://2827710683-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FV9yg1NBoB0HDHj681gSk%2Fuploads%2FUm0yxa5KjnXwRYUdI8Jh%2Fimagen.png?alt=media&#x26;token=2d3c26e9-1ae8-4555-a8bc-4315f001b6dc" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2827710683-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FV9yg1NBoB0HDHj681gSk%2Fuploads%2F6acNmR8eQtIagrXvVJeH%2Fimagen.png?alt=media&#x26;token=2d6e8e0f-1859-49e0-ba9d-a84c4e7f0e90" alt=""><figcaption></figcaption></figure>

Digamos que en este caso podemos ver que el control de seguridad mal implementado está en la forma en que cuando se registra un usuario valida que el dominio sea el pedido pero una vez dentro si se desea actualizar el correo a esa sección no le mantiene los mismos controles rigurosos de seguridad para el correo :skull: jaja que gracia así, eso es lo que se aprende de este lab.&#x20;

* Ahora ya podemos borrar al user carlos desde la interfaz de Admin Panel>

<figure><img src="https://2827710683-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FV9yg1NBoB0HDHj681gSk%2Fuploads%2FX7jOgRLBOotDn7IkHZII%2Fimagen.png?alt=media&#x26;token=55be9809-f843-4175-852f-e2ac851b5726" alt=""><figcaption></figcaption></figure>

### ¿Por qué pasó esto?

1. Definitivamente por las inconsistencias de los controles de seguridad, se relajan la mayoría de paginas cuando crean el primer control de seguridad verificando el correo para la creación de una cuenta de usuario, pero de ahi para adelante ya no se logra nada porque no siguen manteniendo los controles de seguridad tanto que no verifican la actualización de email **update email,** y en este caso eso fue lo que nos permitió actualizar al dominio `dontwannacry` y poder entrar a la sesión de Admin, que solo era posible desde una cuenta de user con el dominio de dontwannacry.
