> For the complete documentation index, see [llms.txt](https://b4zh.gitbook.io/b4zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://b4zh.gitbook.io/b4zh/hacking-en-wordpress/enumeracion-en-wp/enumeracion-de-plugins-de-wp.md).

# ENUMERACIÓN DE PLUGINS DE WP

### . Enumeración desde el código fuente HTML (scripts y hojas de estilo)

Los plugins que cargan JavaScript o CSS dejan trazas en el `<head>` o en el `footer` del HTML.

**Comando:**

```
curl -sL "https://(maquina)" | grep -oP 'https://hixec.com/core/modules/\K&"]+' | sort -u
```

**¿Qué hace?**

* `curl -sL`: descarga el código fuente de la página principal.
* `grep -oP 'https://hixec.com/core/modules/\K[^/"]+'`: busca rutas de plugins y extrae solo el nombre del plugin.
* `sort -u`: ordena alfabéticamente y elimina duplicados.

**Resultado:**

```
elementor
woocommerce
contact-form-7
```

***

### 2. Enumeración desde rutas JS/CSS estáticas

A veces los nombres de los plugins se revelan como parte de los archivos cargados.

**Comando:**

```
curl -sL "https://(maquina)" | grep -Eo 'wp-content/plugins/[^/"]+' | cut -d'/' -f3 | sort -u
```

**¿Qué hace?**

* `grep -Eo 'wp-content/plugins/[^/"]+'`: encuentra rutas completas de recursos de plugin.
* `cut -d'/' -f3`: extrae solo el nombre del plugin de la ruta.
* `sort -u`: deduplica.

***

### 3. Verificación de existencia por ruta HTTP directa

Con los nombres de plugins extraídos, puedes probar si la carpeta del plugin realmente existe.

**Comando (ejemplo con lista previa):**

```
for plugin in elementor contact-form-7 woocommerce; do
  code=$(curl -s -o /dev/null -w "%{http_code}" "https://(maquina)/wp-content/plugins/$plugin/")
  echo "[$plugin] => HTTP $code"
done
```

**¿Qué hace?**

* Recorre cada plugin detectado.
* Lanza petición HTTP y reporta el código de estado:
  * `200 OK`: acceso público.
  * `403 Forbidden`: existe pero protegido.
  * `404 Not Found`: probablemente no existe.

***

### 4. Verificar archivos de documentación (readme.txt, changelog.txt)

Muchos plugins incluyen documentación que delata la versión exacta.

**Comando:**

```
curl -s "https://(maquina)/wp-content/plugins/elementor/readme.txt" | head -n 10
```

**¿Qué hace?**

* Intenta acceder directamente al archivo `readme.txt` del plugin especificado.
* Si devuelve contenido, probablemente muestra nombre, autor, versión, etc.

**Automatizable para múltiples plugins (ejemplo con 3):**

```
for p in elementor woocommerce contact-form-7; do 
  echo "[*] $p"
  curl -s "https://(maquina)/wp-content/plugins/$p/readme.txt" | head -n 5
done
```

***

### 5. Enumeración desde sitemap o código JS externo

Algunos plugins exponen sus rutas en:

* `/sitemap.xml`
* Código fuente JavaScript (por ejemplo, variables como `ajaxurl`)
* JS inline con nombres de plugin

**Comando genérico:**

```
<!-- Falta el patrón completo proporcionado por ti.
Por favor confirma las expresiones a buscar para terminar este bloque. -->
```

**¿Qué hace?**

* Busca referencias a rutas o variables relacionadas con plugins en el HTML/JS expuesto.

***

## fuff

<figure><img src="https://2448382844-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FywHg0FIANmg3uxJJ9jhH%2Fuploads%2Fw6WfrHDVOgYOGlUYYI55%2Fimagen.png?alt=media&amp;token=0b4875c7-7b6c-44ee-aae0-8806ce2fca0b" alt=""><figcaption></figcaption></figure>
