Fundamentos de HTTP
HTTP es el protocolo de la web, y la web es la mayor superficie de ataque que existe. Entender cómo se compone una petición y una respuesta, qué significan los métodos, cabeceras y códigos de estado, y cómo se mantiene el estado (cookies, sesiones) es el prerrequisito absoluto de toda el área de Hacking Web: cada ataque de esa sección es, en el fondo, una petición HTTP manipulada.
Anatomía de una petición
Sección titulada «Anatomía de una petición»POST /login HTTP/1.1 <- método, ruta, versiónHost: target.com <- cabecerasUser-Agent: ...Cookie: session=abc123Content-Type: application/x-www-form-urlencoded <- línea en blancouser=admin&pass=secreto <- cuerpo (body)Y la respuesta:
HTTP/1.1 200 OK <- versión, código de estadoSet-Cookie: session=abc123; HttpOnlyContent-Type: text/html <- línea en blanco<html>... <- cuerpoMétodos
Sección titulada «Métodos»GET pedir un recurso (parámetros en la URL)POST enviar datos (en el cuerpo) -> login, formulariosPUT crear/reemplazar DELETE borrarPATCH modificar parcial HEAD como GET sin cuerpoOPTIONS métodos permitidos (útil en recon de APIs/CORS)Códigos de estado (lo que te dicen al atacar)
Sección titulada «Códigos de estado (lo que te dicen al atacar)»2xx éxito 200 OK, 201 Created3xx redirección 301/302 (open redirect), 304 Not Modified4xx error cliente 401 no autenticado, 403 prohibido, 404 no existe, 429 rate-limit5xx error servidor 500 (a veces filtra stack traces), 502/503Un 403→200 según un parámetro, un 500 ante una comilla, o un 302 a un dominio controlado son señales de vulnerabilidad.
Cabeceras que importan en seguridad
Sección titulada «Cabeceras que importan en seguridad»Cookie / Set-Cookie estado de sesión (HttpOnly, Secure, SameSite)Authorization Bearer <token> / BasicHost enrutamiento virtual (host header attacks)Referer / Origin CSRF, CORSX-Forwarded-For IP del cliente (spoofable)Content-Type cómo se interpreta el cuerpo (JSON vs form)Content-Security-Policy, HSTS, X-Frame-Options cabeceras defensivasEstado: cookies, sesiones y tokens
Sección titulada «Estado: cookies, sesiones y tokens»HTTP es sin estado: cada petición es independiente. El estado se mantiene con:
- Cookies de sesión: el servidor guarda la sesión y el navegador reenvía la cookie.
- Tokens (JWT, Bearer): la identidad viaja en una cabecera, a menudo sin estado en servidor.
Entender esto es la base de los ataques a autenticación, sesiones, CSRF y JWT.
HTTPS, HTTP/2 y HTTP/3
Sección titulada «HTTPS, HTTP/2 y HTTP/3»HTTPS = HTTP sobre TLS (cifrado). HTTP/2 y HTTP/3 cambian el transporte (multiplexación) y abren clases propias de ataque (request smuggling por downgrade, ver HTTP Request Smuggling).
La herramienta: el proxy
Sección titulada «La herramienta: el proxy»Burp Suite / OWASP ZAP interceptan, modifican y repiten peticionescurl -v / -X POST -d hacer peticiones desde la terminalEl proxy entre tu navegador y el servidor es la herramienta #1 de web: ves y modificas cada petición.
Por qué importa en seguridad
Sección titulada «Por qué importa en seguridad»Toda el área de Hacking Web (SQLi, XSS, IDOR, SSRF, CSRF…) consiste en manipular peticiones HTTP. Si no entiendes qué es una cabecera, un método o una cookie, no entiendes ni el ataque ni la defensa. Es el idioma de la web.
Checklist de dominio
Sección titulada «Checklist de dominio»- Leo y construyo una petición/respuesta HTTP a mano
- Conozco los métodos y qué implica cada uno
- Interpreto códigos de estado y qué señalan al atacar
- Identifico las cabeceras relevantes en seguridad
- Explico cómo se mantiene el estado (cookies, sesiones, tokens)
- Uso curl y un proxy (Burp/ZAP) para interceptar y repetir
- Entiendo HTTPS y por qué HTTP/2 abre ataques nuevos