> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/es/web/business-logic/inconsistent-security-controls.md).

# Controles de seguridad inconsistentes

### Controles de seguridad inconsistentes

**Objetivo del laboratorio**

Este laboratorio tiene un fallo lógico asociado con comprobaciones de seguridad inconsistentes. / Los usuarios arbitrarios pueden acceder a funciones administrativas normalmente reservadas para los empleados de la empresa. / El objetivo es acceder al panel de administración y eliminar al usuario **carlos**.

**Observación inicial**

Al intentar acceder directamente a la interfaz de administración, aparecerá el siguiente mensaje:

> *La interfaz de administración solo está disponible si has iniciado sesión como usuario de DontWannaCry*

Acceso a `/admin` por lo tanto, está restringido a los usuarios que pertenecen a **DontWannaCry** .

<figure><img src="/files/ce451851030d6070e6368abf15656ef564fdb8ad" alt=""><figcaption></figcaption></figure>

**Intento de registro**

Se registra un nuevo usuario con:

* **Nombre de usuario**: `DontWannaCry` (ya existente)
* **Dirección de correo electrónico**: una dirección controlada por el atacante/ `attacker@exploit-0a2500bc04ce231c81841ade012e0049.exploit-server.net`

<figure><img src="/files/e9e5a222ab21b0fc767b10ced5afb0a828dd9003" alt=""><figcaption></figcaption></figure>

Después de enviar el formulario, la aplicación indica:

> *Por favor, revisa tus correos electrónicos para encontrar el enlace de registro de tu cuenta*

<figure><img src="/files/cecfb4eab6196dee5fefe0f24279d229a4d15694" alt=""><figcaption></figcaption></figure>

**Validación de la cuenta**

Se recibe un correo de confirmación con un enlace que contiene un token.

<figure><img src="/files/53c74022b73daadb43963571daf8261456875519" alt=""><figcaption></figcaption></figure>

Las credenciales utilizadas son:

* **Usuario**: `DontWannaCry`
* **Contraseña**: `usuario`

La conexión funciona correctamente.

<figure><img src="/files/5b336ab74e8f42daa81a1e28a692f27cbbac746d" alt=""><figcaption></figcaption></figure>

**Modificación de la dirección de correo electrónico**

Una vez iniciada sesión, cambias la dirección de correo electrónico de la cuenta sin ninguna validación adicional, usando:

```bash
jordan@dontwannacry.com
```

No hay ningún control sobre la legitimidad de este cambio.

<figure><img src="/files/9f8e05232c657a9deff4a1914f10e51e9ed9545f" alt=""><figcaption></figcaption></figure>

**Acceso a la interfaz de administración**

Después de cambiar el correo electrónico, el usuario ahora se considera perteneciente al dominio **DontWannaCry**. / Acceso a la `/admin` interfaz queda entonces permitida.

<figure><img src="/files/8d6b46c88b7fded1d650d616d7f210a0c5153008" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://hacking-notes.jord4n.pro/es/web/business-logic/inconsistent-security-controls.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
