El Protocolo de transferencia de hipertexto es el protocolo de comunicación que permite las transferencias de información a través de archivos en la World Wide Web
Check List
Fuerza bruta directorios
También directorios ocultos
Enumeración manual
Favicon
A veces cuando se crean las páginas y el favicon no lo cambian, puede que si está el por defecto de la instalación podamos saber que tecnología está usando descargando el favicon.ico y pasandolo a hash con md5sum.
Ejemplo que el md5sum coincide con el framework cgiirc
Sitemap.xml
HTTP Headers
Conectarnos mediante telnet o Ncat
Una vez que hayas establecido la conexión, podrías enviar solicitudes HTTP utilizando comandos como GET, POST, PUT, DELETE, HEAD, OPTIONS, entre otros. Aquí te muestro algunos ejemplos:
Realizar una solicitud GET:
Este comando solicita la página principal del sitio web www.example.com a través de HTTP.
Realizar una solicitud POST:
Este comando envía datos de formulario a través de una solicitud HTTP POST a la página /login del sitio web www.example.com.
Ten en cuenta que, dependiendo del servidor web con el que te conectes, es posible que necesites autenticarte o proporcionar alguna otra información adicional para realizar ciertas acciones. Además, ten en cuenta que la interacción directa con un servidor web a través de ncat puede no ser segura ni práctica para la mayoría de los casos de uso.
Comandos básicos telnet/nc
Comando
Descripción
GET /url HTTP/1.1
Obtener la página web correspondiente a la URL especificada.
HEAD /url HTTP/1.1
Obtener los encabezados de la respuesta HTTP correspondiente a la URL especificada.
POST /url HTTP/1.1
Enviar datos a un servidor web utilizando el método HTTP POST.
PUT /url HTTP/1.1
Enviar datos a un servidor web utilizando el método HTTP PUT.
DELETE /url HTTP/1.1
Eliminar un recurso de un servidor web utilizando el método HTTP DELETE.
OPTIONS /url HTTP/1.1
Obtener una lista de los métodos HTTP que son compatibles con el recurso especificado en la URL.
TRACE /url HTTP/1.1
Realizar una solicitud de seguimiento de una solicitud a un servidor web.
CONNECT host:port HTTP/1.1
Establecer una conexión TCP/IP segura a un servidor web utilizando el protocolo HTTPS.
HOST: hostname
Especificar el nombre de host para la solicitud HTTP.
User-Agent: user-agent-string
Especificar el tipo de navegador o agente de usuario utilizado para la solicitud HTTP.
Referer: referring-url
Especificar la URL de la página que enlaza a la solicitud HTTP.
Content-Type: mime-type
Especificar el tipo de contenido enviado con la solicitud H
Enumeración 443
Connect 443
Este comando nos dará información de la págona como el certificado SSL web, el código fuente, verisones de TLS, SSLv, emails etc..
SSLscan
Bypass Status Codes
403 (Forbidden)
Usando la cabezera "X-Original-URL" (Web Cache Poisoning)
Bypass con:
Añadiendo un %2e después del primer /
Bypass con:
Añadiendo un (.) punto y barra / y un ; en la URL
Bypass con:
Añadiendo un ";/" después del nombre del directorio
Bypass con:
Cambiando los caracteres en mayusculas y minusculas
curl http://example.com -v # ver cabezera de la web
nc <IP> 80
telnet <IP> 80
GET / HTTP/1.1
Host: www.example.com
POST /login HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 25
username=john&password=doe
openssl s_client -connect <ip>/domain:443 #GET
sslscan https://ip/domain
GET /admin HTTP/1.1
Host: example.com
GET /admin HTTP/1.1
Host: example.com
X-Original-URL: /admin
example.com/admin --> (403)
http://example.com/%2e/admin
http://example.com/admin --> (403)
http://example.com/secret/. # un punto
http://example.com/secret// # añadiendo 2 barras
http://example.com/./secret/.. # añadiendo un . y dos al final
http://example.com/;/secret # un ; entre medio
http://example.com/.;/secret # un . y ;
http://example.com//;//secret # un ; y doble barra
http://example.com/admin
http://example.com/admin..;/
http://example.com/admin
http://example.com/aDmIn
gobuster dir -e -u <IP> -w /usr/share/wordlists/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt -t <threads>