# Extensiones

## DIRB

```shell
dirb http://<target> -X <extension> -o dirb-fuzzing-extensions.txt
```

* \<target> = objetivo.
* -X = extensión de archivo.
  * \<extension> = extensión(es), por ejemplo: `.php, .txt, .old, .bak`.&#x20;
* -o = guarda resultado en archivo `dirb-fuzzing-extensions.txt`.

## dirsearch

```shell
dirsearch -u http://<target>/ -o $(pwd)/dirsearch-fuzzing-extensions.txt -e <extension> -f -r
```

* -u = URL.
  * \<target> = objetivo.
* -e = extensión(es), por ejemplo: `txt,html,php,jsp,aspx,bak`.
* -f = fuerza extensiones.
* -r = búsqueda recursiva.

## Gobuster

```shell
gobuster dir -e -u https://<target>/ -w <path-wordlist> -x <extension> -o gobuster-fuzzing-extensions.txt
```

* -e = modo expandido, imprimir URL “completas”.
* -u = URL.
  * \<target> = objetivo.
* -w = wordlist.
  * \<path-wordlist> = ruta de wordlist.
* -x = extensión de archivo.
  * \<extension> = extensión(es), por ejemplo: `.php, .txt, .old, .bak`.
* -o = guarda resultado en archivo `gobuster-fuzzing-extensions.txt`.

## FFuF

```shell
# Identificación de extensiones
ffuf -u http://<target>/indexFUZZ -w <path-wordlist-extensions>:FUZZ -c -fc <code>
# Wordlist + extensiones (.html, .js, .php, .jsp, .aspx)
ffuf -u http://<target>/FUZZ -w <path-wordlist>:FUZZ -e .html,.js,.php,.jsp,.aspx -c -fc <code> -o ffuf-fuzzing-extensions.html -of html
# Wordlist + extensiones (ocultos / .txt, .config, .old, .bak, .inc)
ffuf -u http://<target>/FUZZ -w <path-wordlist>:FUZZ -e .txt,.config,.old,.bak,.inc -c -fc <code> -o ffuf-fuzzing-extensions-hidden.html -of html
```

* -u = URL.
  * \<target> = objetivo.
  * FUZZ = la palabra `FUZZ` será reemplazada con los valores de la wordlist.
* -w = wordlist.
  * \<path-wordlist-extensions> = ruta de wordlist de extensiones ([SecList](https://github.com/danielmiessler/SecLists/blob/master/Discovery/Web-Content/web-extensions.txt)).
  * \<path-wordlist> = ruta de wordlist de palabras ([SecList](https://github.com/danielmiessler/SecLists/blob/master/Discovery/Web-Content/raft-large-words.txt)).
* -e = extensión(es), por ejemplo: `.txt,.html,.php,.jsp,.aspx,.bak`.
* -c = output con colores.
* -fc \<code> = filtra respuestas por el código especificado, por ejemplo: `404`.
* -o = guarda resultado en archivo.

### Basado en recopilación de información

```shell
ffuf -w ./folders.txt:FOLDERS,./wordlist.txt:WORDLIST,./extensions.txt:EXTENSIONS -u http://<target>/FOLDERS/WORDLISTEXTENSIONS
```

## Wfuzz

```shell
wfuzz -c -z file,<path-wordlist> -z list,<extension> --hc <code> http://<target>/FUZZ.FUZ2Z
```

* -c = output con colores.
* -z = especifica el payload para cada palabra clave FUZZ utilizada.
  * \<path-wordlist> = ruta de wordlist de palabras ([SecList](https://github.com/danielmiessler/SecLists/blob/master/Discovery/Web-Content/raft-large-words.txt)).
  * \<extension> = extensión(es), por ejemplo: `php-txt-old-bak`.
* \--hc \<code> = oculta respuestas por el código especificado, por ejemplo: `404`.
* \<target> = objetivo.
  * FUZZ = la palabra `FUZZ` será reemplazada con los valores de la wordlist.
  * FUZ2Z = la palabra `FUZ2Z` será reemplazada con los valores de extensión(es).
